trade

Cách Vẽ Đường Kháng Cự Và Hỗ Trợ —

Cách Vẽ Đường Kháng Cự Và Hỗ Trợ —

Support Resistance

Cách Vẽ Đường Kháng Cự Và Hỗ Trợ —

แนวรับแนวต้าน Support Resistance Price Action Swing High Low Trend Line Fibonacci Retracement Breakout Pullback Zone Confluence Trading Strategy

ประเภทวิธีหาความแข็งแรงTimeframeเหมาะกับ
Horizontal S/RSwing High/Lowสูงทุก TFทั่วไป
Trend LineHigher Lows / Lower HighsปานกลางH1+Trending
FibonacciSwing High → Lowสูง (Confluence)H4+Retracement
Moving AverageEMA 20/50/200ปานกลางทุก TFDynamic S/R
Round Numbers1.1000, 1.2000ปานกลางทุก TFPsychological

Drawing Support Resistance

# === Support & Resistance Analysis ===



# pip install pandas numpy matplotlib



import numpy as np

from dataclasses import dataclass



# Finding Swing Points

# def find_swing_highs(data, window=5):

#     highs = []

#     for i in range(window, len(data) - window):

#         if data['High'][i] == max(data['High'][i-window:i+window+1]):

#             highs.append((i, data['High'][i]))

#     return highs

#

# def find_swing_lows(data, window=5):

#     lows = []

#     for i in range(window, len(data) - window):

#         if data['Low'][i] == min(data['Low'][i-window:i+window+1]):

#             lows.append((i, data['Low'][i]))

#     return lows



# Support/Resistance Zone Clustering

# def cluster_levels(levels, tolerance_pct=0.5):

#     """Group nearby price levels into zones"""

#     if not levels:

#         return []

#     sorted_levels = sorted(levels)

#     zones = []

#     current_zone = [sorted_levels[0]]

#     for level in sorted_levels[1:]:

#         if (level - current_zone[-1]) / current_zone[-1] * 100 < tolerance_pct:

#             current_zone.append(level)

#         else:

#             zones.append({

#                 'low': min(current_zone),

#                 'high': max(current_zone),

#                 'center': np.mean(current_zone),

#                 'touches': len(current_zone),

#             })

#             current_zone = [level]

#     zones.append({

#         'low': min(current_zone),

#         'high': max(current_zone),

#         'center': np.mean(current_zone),

#         'touches': len(current_zone),

#     })

#     return sorted(zones, key=lambda x: x['touches'], reverse=True)



@dataclass

class SRLevel:

    level_type: str

    price: float

    zone_low: float

    zone_high: float

    touches: int

    timeframe: str

    strength: str



levels = [

    SRLevel("Resistance", 1.0950, 1.0940, 1.0960, 5, "Daily", "Strong"),

    SRLevel("Resistance", 1.0880, 1.0870, 1.0890, 3, "H4", "Medium"),

    SRLevel("Support", 1.0800, 1.0790, 1.0810, 4, "Daily", "Strong"),

    SRLevel("Support", 1.0750, 1.0740, 1.0760, 2, "H4", "Weak"),

    SRLevel("Support", 1.0700, 1.0690, 1.0710, 6, "Weekly", "Very Strong"),

]



print("=== EUR/USD Support & Resistance ===")

for l in levels:

    print(f"  [{l.level_type}] {l.price:.4f} (Zone: {l.zone_low:.4f}-{l.zone_high:.4f})")

    print(f"    Touches: {l.touches} | TF: {l.timeframe} | Strength: {l.strength}")

Fibonacci Retracement

# === Fibonacci Retracement Calculator ===



def fibonacci_levels(swing_high, swing_low, direction="up"):

    """Calculate Fibonacci retracement levels"""

    diff = swing_high - swing_low

    fib_ratios = {

        "0%": 0.0,

        "23.6%": 0.236,

        "38.2%": 0.382,

        "50%": 0.500,

        "61.8%": 0.618,

        "78.6%": 0.786,

        "100%": 1.000,

    }

    levels = {}

    for name, ratio in fib_ratios.items():

        if direction == "up":

            levels[name] = swing_high - (diff * ratio)

        else:

            levels[name] = swing_low + (diff * ratio)

    return levels



# EUR/USD Example

swing_high = 1.0950

swing_low = 1.0700



print("=== Fibonacci Retracement (Uptrend) ===")

print(f"  Swing High: {swing_high:.4f}")

print(f"  Swing Low:  {swing_low:.4f}")

print()



fib = fibonacci_levels(swing_high, swing_low, "up")

for name, price in fib.items():

    marker = " ← Golden Ratio" if name == "61.8%" else ""

    marker = " ← Key Level" if name == "50%" else marker

    print(f"  {name:>6}: {price:.4f}{marker}")



# Confluence Check

print("\n=== Confluence Analysis ===")

confluences = [

    {"fib": "38.2%", "price": 1.0854, "sr": "H4 Resistance 1.0880", "confluence": "Weak"},

    {"fib": "50%", "price": 1.0825, "sr": "Daily Support 1.0800", "confluence": "Medium"},

    {"fib": "61.8%", "price": 1.0796, "sr": "Daily Support 1.0800", "confluence": "Strong"},

]



for c in confluences:

    print(f"  Fib {c['fib']} ({c['price']:.4f}) + {c['sr']}")

    print(f"    Confluence: {c['confluence']}")

Trading Strategy

# === S/R Trading Strategy ===



@dataclass

class TradeSetup:

    setup_type: str

    entry: str

    stop_loss: str

    take_profit: str

    risk_reward: float

    confirmation: str

    win_rate: str



setups = [

    TradeSetup(

        "Bounce Buy (Support)",

        "Buy ที่ Support Zone + Bullish Candle",

        "ใต้ Support Zone 10-20 pips",

        "Resistance ถัดไป",

        2.0,

        "Bullish Engulfing / Pin Bar / RSI Oversold",

        "55-65%"

    ),

    TradeSetup(

        "Bounce Sell (Resistance)",

        "Sell ที่ Resistance Zone + Bearish Candle",

        "เหนือ Resistance Zone 10-20 pips",

        "Support ถัดไป",

        2.0,

        "Bearish Engulfing / Shooting Star / RSI Overbought",

        "55-65%"

    ),

    TradeSetup(

        "Breakout Buy",

        "Buy เมื่อ Close เหนือ Resistance + Volume",

        "ใต้ Resistance เดิม (Now Support)",

        "Resistance ถัดไป / Measured Move",

        2.5,

        "Strong Candle Close + Volume Spike",

        "45-55%"

    ),

    TradeSetup(

        "Retest Buy",

        "Buy เมื่อ Pullback มาทดสอบ Broken Resistance",

        "ใต้ Retest Level",

        "Previous High / Measured Move",

        3.0,

        "Rejection Candle at Retest Level",

        "60-70%"

    ),

]



print("=== S/R Trading Setups ===")

for s in setups:

    print(f"  [{s.setup_type}]")

    print(f"    Entry: {s.entry}")

    print(f"    SL: {s.stop_loss}")

    print(f"    TP: {s.take_profit}")

    print(f"    R:R: 1:{s.risk_reward} | Confirm: {s.confirmation}")

    print(f"    Win Rate: {s.win_rate}")

    print()



# Common Mistakes

mistakes = [

    "วาดเส้นเดียวแทนที่จะเป็น Zone",

    "ใช้ Timeframe เล็กเกินไป (M1 M5) แนวไม่แข็ง",

    "ไม่รอ Confirmation เข้าทันทีที่ถึงแนว",

    "วาง Stop Loss แค่ 1-2 pip ใต้แนว โดนกวาดง่าย",

    "ไม่สนใจ Trend ใหญ่ สวนเทรนด์",

    "วาดแนวมากเกินไป สับสน",

]



print("Common Mistakes:")

for i, m in enumerate(mistakes, 1):

    print(f"  {i}. {m}")

เคล็ดลับ

  • Zone: ใช้ Zone ไม่ใช่เส้นเดียว ราคาไม่เด้งที่จุดเดียว
  • Multi-TF: ดู Timeframe ใหญ่ก่อน แนวจาก Weekly แข็งสุด
  • Confluence: Fibonacci + S/R + EMA ตรงกัน = สัญญาณแข็ง
  • Confirmation: รอ Candlestick Pattern ยืนยันก่อนเข้า
  • Simple: วาดแค่ 3-5 แนวสำคัญ ไม่วาดมากจนสับสน

การนำความรู้ไปประยุกต์ใช้งานจริง

Cách Vẽ Đường Kháng Cự Và Hỗ Trợ —

แหล่งเรียนรู้ที่แนะนำ ได้แก่ Official Documentation ที่อัพเดทล่าสุดเสมอ Online Course จาก Coursera Udemy edX ช่อง YouTube คุณภาพทั้งไทยและอังกฤษ และ Community อย่าง Discord Reddit Stack Overflow ที่ช่วยแลกเปลี่ยนประสบการณ์กับนักพัฒนาทั่วโลก

เนื้อหาเกี่ยวข้อง — เทรนกราฟ — คู่มือฉบับสมบูรณ์ 2026

เปรียบเทียบข้อดีและข้อเสีย

ข้อดีข้อเสีย
ประสิทธิภาพสูง ทำงานได้เร็วและแม่นยำ ลดเวลาทำงานซ้ำซ้อนต้องใช้เวลาเรียนรู้เบื้องต้นพอสมควร มี Learning Curve สูง
มี Community ขนาดใหญ่ มีคนช่วยเหลือและแหล่งเรียนรู้มากมายบางฟีเจอร์อาจยังไม่เสถียร หรือมีการเปลี่ยนแปลงบ่อยในเวอร์ชันใหม่
รองรับ Integration กับเครื่องมือและบริการอื่นได้หลากหลายต้นทุนอาจสูงสำหรับ Enterprise License หรือ Cloud Service
เป็น Open Source หรือมีเวอร์ชันฟรีให้เริ่มต้นใช้งานต้องการ Hardware หรือ Infrastructure ที่เพียงพอ

จากตารางเปรียบเทียบจะเห็นว่าข้อดีมีมากกว่าข้อเสียอย่างชัดเจน โดยเฉพาะในแง่ของประสิทธิภาพและความสามารถในการ Scale สำหรับข้อเสียส่วนใหญ่สามารถแก้ไขได้ด้วยการเรียนรู้อย่างเป็นระบบและวางแผนทรัพยากรให้เหมาะสม

แนวรับแนวต้านคืออะไร

Support ราคาเด้งขึ้น แรงซื้อ Resistance ราคาเด้งลง แรงขาย Supply Demand Swing High Low Volume Role Reversal ทะลุสลับบทบาท

แนะนำเพิ่มเติม — ติดตาม XM Signal

เนื้อหาเกี่ยวข้อง — อ่านต่อ: ตนพยง — คู่มือฉบับสมบูรณ์ 2026 — คู่มือฉบับสมบูรณ์ 2026

วาดเส้นแนวรับแนวต้านอย่างไร

Swing High Low เส้นแนวนอน เด้งหลายครั้งแข็งแรง Zone แทนเส้นเดียว Timeframe ใหญ่ก่อน Weekly Daily แข็งกว่า

Fibonacci Retracement ใช้อย่างไร

Swing High Low 23.6% 38.2% 50% 61.8% 78.6% Golden Ratio Confluence ตรงกับ S/R แข็งมาก Trend เท่านั้น ไม่ Sideways

แนะนำเพิ่มเติม — SiamCafeBook

เนื้อหาเกี่ยวข้อง — แนะนำให้อ่าน đường trung bình hình vuông —

เทรดด้วยแนวรับแนวต้านอย่างไร

Buy Support SL ใต้ TP Resistance Sell Resistance SL เหนือ TP Support Breakout Volume Pullback Retest Confirmation Candlestick

สรุป

แนวรับแนวต้าน Support Resistance Price Action Swing Fibonacci Retracement Confluence Zone Breakout Pullback Retest Trading Strategy Confirmation

เนื้อหาเกี่ยวข้อง — ราคาคริปโต — คู่มือฉบับสมบูรณ์ 2026

ทดลองเทรดฟรี XM — โบรกที่ อ.บอม ใช้เทรดจริง (พาร์ทเนอร์ XM)

XM Legend · เทรดเดอร์ & ผู้สอน Forex 13 ปี

ผู้ก่อตั้ง SiamCafe ตั้งแต่ปี 1997 · เทรดเดอร์สาย Forex มากกว่า 13 ปี ได้รับการยกย่องเป็น XM Legend · แบ่งปันความรู้ Forex, ไอที, AI และการเทรด จากประสบการณ์จริงในตลาดจริง