SiamCafe.net Blog
Technology

วิธีเลือกหุ้น day trade

วธ เลอกหน day trade
วิธีเลือกหุ้น day trade | SiamCafe Blog
2026-05-09· อ. บอม — SiamCafe.net· 11,262 คำ

Day Trade หุ้น

วิธีเลือกหุ้น Day Trade Volume Volatility Gap Scanner Momentum Technical Analysis Price Action Risk Management Position Sizing Stop Loss

Criteriaเกณฑ์ขั้นต่ำเกณฑ์ดีเกณฑ์ดีมากวิธีตรวจ
Volume> 1.5x avg> 3x avg> 5x avgVolume / SMA(20)
ATR %> 2%> 3%> 5%ATR(14) / Price
Gap %> 1%> 3%> 5%Open vs Prev Close
Spread< 0.5%< 0.2%< 0.1%Ask - Bid / Mid
Float< 100M shares< 50M< 20MFree float data
Newsมี Catalystงบ/M&ABreaking newsNews feed

Stock Screening

# === Day Trade Stock Screener ===

from dataclasses import dataclass
import numpy as np

@dataclass
class StockCandidate:
    symbol: str
    price: float
    volume: int
    avg_volume: int
    atr_pct: float
    gap_pct: float
    spread_pct: float
    catalyst: str
    score: int

def screen_stocks(candidates):
    results = []
    for c in candidates:
        score = 0
        vol_ratio = c.volume / c.avg_volume
        if vol_ratio > 5: score += 3
        elif vol_ratio > 3: score += 2
        elif vol_ratio > 1.5: score += 1

        if c.atr_pct > 5: score += 3
        elif c.atr_pct > 3: score += 2
        elif c.atr_pct > 2: score += 1

        if abs(c.gap_pct) > 5: score += 3
        elif abs(c.gap_pct) > 3: score += 2
        elif abs(c.gap_pct) > 1: score += 1

        if c.spread_pct < 0.1: score += 2
        elif c.spread_pct < 0.2: score += 1

        if c.catalyst: score += 2

        c.score = score
        results.append(c)
    return sorted(results, key=lambda x: x.score, reverse=True)

candidates = [
    StockCandidate("AAA", 25.50, 15000000, 3000000, 4.2, 5.5, 0.08, "Q3 earnings beat", 0),
    StockCandidate("BBB", 120.00, 8000000, 2000000, 3.1, 2.8, 0.05, "New product launch", 0),
    StockCandidate("CCC", 8.50, 50000000, 10000000, 8.5, -7.2, 0.12, "CEO resignation", 0),
    StockCandidate("DDD", 45.00, 5000000, 4000000, 1.8, 0.5, 0.04, "", 0),
    StockCandidate("EEE", 180.00, 3000000, 500000, 5.2, 4.1, 0.03, "FDA approval", 0),
]

screened = screen_stocks(candidates)
print("=== Day Trade Candidates (Ranked) ===")
for s in screened:
    vol_ratio = s.volume / s.avg_volume
    print(f"  [{s.symbol}] Score: {s.score}/14 | Price: {s.price}")
    print(f"    Vol: {vol_ratio:.1f}x avg | ATR: {s.atr_pct}% | Gap: {s.gap_pct:+.1f}%")
    print(f"    Spread: {s.spread_pct}% | Catalyst: {s.catalyst or 'None'}")

Entry Strategy

# === Day Trade Entry Strategies ===

@dataclass
class EntryStrategy:
    name: str
    setup: str
    entry: str
    stop_loss: str
    target: str
    win_rate: str
    risk_reward: str

strategies = [
    EntryStrategy("Opening Range Breakout", "First 15 min range (ORB)",
        "Break above/below ORB high/low with volume",
        "Opposite side of ORB", "1.5-2x ORB range",
        "45-55%", "1:2"),
    EntryStrategy("Gap and Go", "Gap up > 3% with volume",
        "Break above pre-market high",
        "Below gap fill level", "Equal to gap size",
        "50-60%", "1:1.5"),
    EntryStrategy("VWAP Bounce", "Price pulls back to VWAP in uptrend",
        "Bullish candle at VWAP + volume",
        "Below VWAP", "Previous high or 2x risk",
        "55-65%", "1:2"),
    EntryStrategy("Red to Green", "Stock opens red, reverses to green",
        "Break above previous close with volume",
        "Below session low", "Morning high",
        "50-55%", "1:2"),
    EntryStrategy("Momentum Scalp", "Strong momentum + volume surge",
        "Pull back 1-2 candles in 1-min chart",
        "Below pullback low", "New high of move",
        "45-50%", "1:1.5"),
]

print("=== Entry Strategies ===")
for s in strategies:
    print(f"  [{s.name}]")
    print(f"    Setup: {s.setup}")
    print(f"    Entry: {s.entry}")
    print(f"    SL: {s.stop_loss} | TP: {s.target}")
    print(f"    Win: {s.win_rate} | R:R: {s.risk_reward}")

Risk Management

# === Position Sizing and Risk ===

def position_size(account, risk_pct, entry, stop_loss):
    risk_amount = account * (risk_pct / 100)
    risk_per_share = abs(entry - stop_loss)
    if risk_per_share == 0:
        return 0
    shares = int(risk_amount / risk_per_share)
    position_value = shares * entry
    return shares, position_value, risk_amount

# Example calculations
account = 100000  # 100,000 THB
risk_pct = 1.0    # 1% risk

trades = [
    ("AAA", 25.50, 24.80),
    ("BBB", 120.00, 118.00),
    ("CCC", 8.50, 8.00),
    ("EEE", 180.00, 176.00),
]

print("=== Position Sizing (Account: 100,000 THB, Risk: 1%) ===")
for symbol, entry, sl in trades:
    shares, value, risk = position_size(account, risk_pct, entry, sl)
    pct_of_account = (value / account) * 100
    print(f"  [{symbol}] Entry: {entry} | SL: {sl}")
    print(f"    Shares: {shares} | Value: {value:,.0f} THB ({pct_of_account:.0f}% of account)")
    print(f"    Risk: {risk:,.0f} THB | Risk/Share: {abs(entry-sl):.2f}")

# Daily Rules
rules = {
    "Max Risk/Trade": "1% of account (1,000 THB for 100K account)",
    "Max Daily Loss": "3% of account (3,000 THB) — stop trading",
    "Max Open Positions": "3-5 positions at a time",
    "Max Position Size": "25% of account per position",
    "Revenge Trade": "ห้าม — หยุด 30 นาทีหลังเสีย",
    "News Time": "ไม่เทรด 5 นาทีก่อน/หลังข่าวสำคัญ",
    "First 5 min": "ดูเฉยๆ ไม่เทรด ให้ตลาดเซ็ตตัวก่อน",
    "Last 30 min": "ปิด Position ทั้งหมดก่อนตลาดปิด",
}

print(f"\n\nDaily Trading Rules:")
for k, v in rules.items():
    print(f"  [{k}]: {v}")

เคล็ดลับ

ข้อควรรู้สำหรับนักลงทุนไทย ปี 2026

การลงทุนในสินทรัพย์ดิจิทัลและตลาดการเงินต้องเข้าใจความเสี่ยง สิ่งสำคัญที่สุดคือ การจัดการความเสี่ยง ไม่ลงทุนมากกว่าที่พร้อมจะเสีย กระจายพอร์ตลงทุนในสินทรัพย์หลายประเภท ตั้ง Stop Loss ทุกครั้ง และไม่ใช้ Leverage สูงเกินไป

ในประเทศไทย กลต กำหนดกรอบกฎหมายชัดเจนสำหรับ Digital Assets ผู้ให้บริการต้องได้รับใบอนุญาต นักลงทุนต้องทำ KYC และเสียภาษี 15% จากกำไร แนะนำให้ใช้แพลตฟอร์มที่ได้รับอนุญาตจาก กลต เท่านั้น เช่น Bitkub Satang Pro หรือ Zipmex

สำหรับ Forex ต้องเลือก Broker ที่มี Regulation จากหน่วยงานที่น่าเชื่อถือ เช่น FCA, ASIC, CySEC เริ่มต้นด้วย Demo Account ก่อน เรียนรู้ Technical Analysis และ Fundamental Analysis ให้เข้าใจ และมีแผนการเทรดที่ชัดเจน ไม่เทรดตามอารมณ์

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

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

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

Day Trade คืออะไร

ซื้อขายภายในวัน ไม่ถือข้ามคืน Volume สูง Spread แคบ Volatility Chart 1 5 15 นาที Technical Analysis Stop Loss Risk 1% Discipline

เลือกหุ้นอย่างไร

Volume 1.5x avg ATR 2% Gap News Catalyst Support Resistance Sector Momentum Spread แคบ Float ต่ำ ผันผวนมาก Scanner TradingView

ใช้ Scanner อะไร

TradingView Screener ฟรี Volume Gap Finviz Pre-market Trade Ideas Real-time Jitta หุ้นไทย Settrade Streaming Alert Volume Spike Break Level

Risk Management ทำอย่างไร

1% ต่อ Trade Stop Loss ก่อน Entry Position Sizing ATR Max Daily Loss 3% หยุด 3-5 ตัว Revenge Trade ห้าม Journal วิเคราะห์ทุกสัปดาห์

สรุป

วิธีเลือกหุ้น Day Trade Volume Volatility Gap Scanner Momentum Entry Strategy ORB VWAP Risk Management Position Sizing Stop Loss Journal Discipline

📖 บทความที่เกี่ยวข้อง

เลือกหุ้น day tradeอ่านบทความ → day trade หุ้นอ่านบทความ → herschel trade carry onอ่านบทความ → carry trade meaningอ่านบทความ → วิธี copy tradeอ่านบทความ →

📚 ดูบทความทั้งหมด →