EUR/USD Analysis
Technical Analysis EUR/USD Forex Chart Patterns Indicators Support Resistance EMA RSI MACD Fibonacci Bollinger Bands Entry Strategy Risk Management Trading
| Indicator | Type | Settings | Signal | Timeframe | Reliability |
|---|---|---|---|---|---|
| EMA | Trend | 20 50 200 | Cross Direction | H4 Daily | สูง |
| RSI | Momentum | 14 | OB/OS Divergence | H1 H4 | ปานกลาง |
| MACD | Momentum | 12 26 9 | Cross Zero Diverge | H4 Daily | สูง |
| Bollinger | Volatility | 20 2 | Squeeze Breakout | H1 H4 | ปานกลาง |
| Fibonacci | S/R Level | 38.2 50 61.8 | Retracement | All | สูง |
| ATR | Volatility | 14 | SL Distance | H4 Daily | สูง |
Chart Analysis
# === EUR/USD Technical Analysis with Python ===
# pip install yfinance pandas ta matplotlib
# import yfinance as yf
# import pandas as pd
# import ta
#
# # Download EUR/USD data
# df = yf.download("EURUSD=X", start="2024-01-01", period="1y", interval="1d")
#
# # EMA 20, 50, 200
# df["EMA20"] = ta.trend.ema_indicator(df["Close"], window=20)
# df["EMA50"] = ta.trend.ema_indicator(df["Close"], window=50)
# df["EMA200"] = ta.trend.ema_indicator(df["Close"], window=200)
#
# # RSI 14
# df["RSI"] = ta.momentum.rsi(df["Close"], window=14)
#
# # MACD
# macd = ta.trend.MACD(df["Close"])
# df["MACD"] = macd.macd()
# df["MACD_Signal"] = macd.macd_signal()
# df["MACD_Hist"] = macd.macd_diff()
#
# # Bollinger Bands
# bb = ta.volatility.BollingerBands(df["Close"], window=20, window_dev=2)
# df["BB_Upper"] = bb.bollinger_hband()
# df["BB_Lower"] = bb.bollinger_lband()
# df["BB_Middle"] = bb.bollinger_mavg()
#
# # ATR 14
# df["ATR"] = ta.volatility.average_true_range(df["High"], df["Low"], df["Close"], window=14)
#
# # Trend Detection
# latest = df.iloc[-1]
# trend = "Bullish" if latest["EMA20"] > latest["EMA50"] > latest["EMA200"] else \
# "Bearish" if latest["EMA20"] < latest["EMA50"] < latest["EMA200"] else "Ranging"
#
# print(f"=== EUR/USD Daily Analysis ===")
# print(f" Price: {latest['Close']:.4f}")
# print(f" Trend: {trend}")
# print(f" EMA20: {latest['EMA20']:.4f} | EMA50: {latest['EMA50']:.4f} | EMA200: {latest['EMA200']:.4f}")
# print(f" RSI: {latest['RSI']:.1f} | ATR: {latest['ATR']:.4f}")
from dataclasses import dataclass
@dataclass
class TechnicalLevel:
level_type: str
price: str
strength: str
method: str
action: str
levels = [
TechnicalLevel("Resistance R3", "1.1050", "Strong", "Monthly High", "TP3 target"),
TechnicalLevel("Resistance R2", "1.0950", "Medium", "Fibonacci 61.8%", "TP2 target"),
TechnicalLevel("Resistance R1", "1.0880", "Strong", "EMA200 + Round", "TP1 / Watch"),
TechnicalLevel("Current Price", "1.0820", "-", "Market", "-"),
TechnicalLevel("Support S1", "1.0750", "Strong", "Fibonacci 38.2%", "Buy zone"),
TechnicalLevel("Support S2", "1.0680", "Medium", "Previous low", "Strong buy"),
TechnicalLevel("Support S3", "1.0600", "Strong", "Psychological", "Last defense"),
]
print("=== Key Levels EUR/USD ===")
for l in levels:
print(f" [{l.level_type}] {l.price} | Strength: {l.strength}")
print(f" Method: {l.method} | Action: {l.action}")
Trading Strategy
# === EUR/USD Trading Strategies ===
@dataclass
class TradeSetup:
strategy: str
timeframe: str
entry_condition: str
stop_loss: str
take_profit: str
risk_reward: str
win_rate: str
setups = [
TradeSetup("EMA Pullback Buy", "H4",
"Price pulls back to EMA20 in uptrend + bullish candle",
"Below EMA50 or recent swing low",
"Previous swing high or 1:2 R:R",
"1:2", "55-60%"),
TradeSetup("RSI Divergence", "H4",
"Price makes lower low but RSI makes higher low at support",
"Below divergence low + ATR buffer",
"Next resistance level",
"1:2.5", "50-55%"),
TradeSetup("Bollinger Squeeze Breakout", "H1",
"BB squeeze (narrow bands) + breakout above upper band + volume",
"Below BB middle band",
"1.5x BB width from breakout",
"1:2", "45-50%"),
TradeSetup("Fibonacci Bounce", "Daily",
"Price retraces to 50-61.8% Fib + pin bar at level",
"Below 78.6% Fib level",
"100% Fib extension",
"1:3", "50-55%"),
]
print("=== Trade Setups ===")
for s in setups:
print(f" [{s.strategy}] TF: {s.timeframe}")
print(f" Entry: {s.entry_condition}")
print(f" SL: {s.stop_loss}")
print(f" TP: {s.take_profit}")
print(f" R:R: {s.risk_reward} | Win Rate: {s.win_rate}")
# Economic Calendar Impact
events = {
"NFP (Non-Farm Payrolls)": "High — 50-100 pips move, first Friday monthly",
"FOMC Rate Decision": "Very High — 100-200 pips, 8x per year",
"ECB Rate Decision": "Very High — 80-150 pips, 8x per year",
"CPI (US)": "High — 50-80 pips, monthly",
"GDP (US/EU)": "Medium-High — 30-60 pips, quarterly",
"PMI": "Medium — 20-40 pips, monthly",
}
print(f"\n\nEconomic Calendar:")
for k, v in events.items():
print(f" [{k}]: {v}")
Risk Management
# === Risk Management for EUR/USD ===
@dataclass
class RiskCalc:
balance: float
risk_pct: float
entry: float
stop_loss: float
take_profit: float
def calculate_position(calc):
risk_amount = calc.balance * (calc.risk_pct / 100)
sl_pips = abs(calc.entry - calc.stop_loss) * 10000
tp_pips = abs(calc.take_profit - calc.entry) * 10000
lot_size = round(risk_amount / (sl_pips * 10), 2) # Standard lot pip = $10
rr_ratio = tp_pips / sl_pips if sl_pips > 0 else 0
print(f" Balance: | Risk: {calc.risk_pct}% = ")
print(f" Entry: {calc.entry:.4f} | SL: {calc.stop_loss:.4f} ({sl_pips:.0f} pips)")
print(f" TP: {calc.take_profit:.4f} ({tp_pips:.0f} pips) | R:R: 1:{rr_ratio:.1f}")
print(f" Lot Size: {lot_size} lots")
return lot_size
trades = [
RiskCalc(10000, 1, 1.0750, 1.0710, 1.0830), # Buy at support
RiskCalc(10000, 1, 1.0880, 1.0920, 1.0800), # Sell at resistance
RiskCalc(25000, 2, 1.0680, 1.0640, 1.0800), # Larger account buy
]
print("=== Position Sizing ===")
for i, t in enumerate(trades):
print(f"\n Trade {i+1}:")
calculate_position(t)
journal = {
"Track Every Trade": "Entry Exit SL TP Reason Result Screenshot",
"Weekly Review": "Win Rate R:R Average P&L Mistakes",
"Monthly Stats": "Total Trades Profit Factor Max Drawdown",
"Improve": "ปรับ Strategy ตาม Journal Data",
"Rules": "ไม่เทรด NFP ไม่ Over-leverage Risk 1% เสมอ",
}
print(f"\n\nTrading Journal:")
for k, v in journal.items():
print(f" [{k}]: {v}")
เคล็ดลับ
- Multi-TF: วิเคราะห์ Weekly Daily ก่อน Entry ที่ H1
- News: หลีกเลี่ยง Entry ก่อน High Impact News 30 นาที
- Risk: ไม่เกิน 1% ต่อ Trade ใช้ Position Sizing Calculator
- Confluence: Entry เมื่อมี 2-3 Signals ยืนยัน ไม่ใช้ตัวเดียว
- Journal: จด Trade Journal ทุก Trade วิเคราะห์ทุกสัปดาห์
EUR/USD คืออะไร
คู่เงินซื้อขายมากที่สุดโลก 22-24% Volume EUR Base USD Quote ECB Fed Interest Rate Spread ต่ำ Liquidity สูง Scalping Swing Day Trading
ใช้ Indicator อะไรวิเคราะห์ EUR/USD
EMA 20 50 200 Trend RSI 14 Overbought Oversold MACD Momentum Bollinger Volatility Fibonacci S/R ATR Stop Loss Volume Ichimoku
Support Resistance หาอย่างไร
Historical Price เด้งขึ้นลง Round Numbers 1.0800 1.0900 Fibonacci 38.2 50 61.8 Pivot Points EMA200 Dynamic Trendline Volume Profile
วางแผน Trade EUR/USD อย่างไร
Multiple Timeframe Weekly Daily H1 Trend Entry Support Resistance Price Action Pin Bar Engulfing SL TP R:R 1:2 Risk 1-2% Economic Calendar
สรุป
Technical Analysis EUR/USD Chart Patterns EMA RSI MACD Fibonacci Bollinger Support Resistance Entry Strategy Risk Management Position Sizing Trading Journal
