Code function ที่ใช้ Price Action Strategy

HFM bonus

ตัวอย่าง Code function ที่ใช้ Price Action Strategy

Price Action Strategy เป็นวิธีการเทรดที่อาศัยการวิเคราะห์การเคลื่อนไหวของราคาโดยตรง โดยไม่พึ่งพา Indicator ทางเทคนิคมากนัก ในที่นี้เราจะแสดงตัวอย่าง Code function ที่ใช้ในการวิเคราะห์ Price Action และสร้างสัญญาณเทรด

กลยุทธ์ Price Action
กลยุทธ์ Price Action

1. ฟังก์ชันระบุแนวโน้มของตลาด

ฟังก์ชันนี้ใช้ Moving Average (MA) เพื่อระบุแนวโน้มของตลาด โดยพิจารณาจากความสัมพันธ์ระหว่างราคาปัจจุบัน, ค่า MA ปัจจุบัน และค่า MA ก่อนหน้า



int IdentifyTrend(int period = 20)
{
    double ma = iMA(NULL, 0, period, 0, MODE_SMA, PRICE_CLOSE, 0);
    double prevMa = iMA(NULL, 0, period, 0, MODE_SMA, PRICE_CLOSE, 1);
    
    if (Close[0] > ma && ma > prevMa)
        return 1;  // แนวโน้มขาขึ้น
    else if (Close[0] < ma && ma < prevMa)
        return -1; // แนวโน้มขาลง
    else
        return 0;  // แนวโน้มไม่ชัดเจน
}

2. ฟังก์ชันหา Swing High และ Swing Low

ฟังก์ชันนี้หาจุด Swing High และ Swing Low ในช่วงเวลาที่กำหนด ซึ่งเป็นจุดสำคัญในการวิเคราะห์ Price Action


void FindSwingPoints(int period, double &swingHigh, double &swingLow)
{
    swingHigh = High[iHighest(NULL, 0, MODE_HIGH, period, 1)];
    swingLow = Low[iLowest(NULL, 0, MODE_LOW, period, 1)];
}


3. ฟังก์ชันระบุรูปแบบแท่งเทียน

ฟังก์ชันนี้วิเคราะห์รูปแบบของแท่งเทียนล่าสุด เพื่อระบุรูปแบบที่สำคัญ เช่น Marubozu, Shooting Star, Hammer และ Doji



int IdentifyCandlePattern()
{
    double body = MathAbs(Close[1] - Open[1]);
    double upperWick = High[1] - MathMax(Open[1], Close[1]);
    double lowerWick = MathMin(Open[1], Close[1]) - Low[1];
    
    if (body > upperWick * 3 && body > lowerWick * 3)
    {
        if (Close[1] > Open[1])
            return 1;  // Bullish Marubozu
        else
            return 2;  // Bearish Marubozu
    }
    else if (upperWick > body * 2 && lowerWick < body) return 3; // Shooting Star else if (lowerWick > body * 2 && upperWick < body)
        return 4;  // Hammer
    else if (MathAbs(Open[1] - Close[1]) < (High[1] - Low[1]) * 0.1)
        return 5;  // Doji
    
    return 0;  // ไม่พบรูปแบบที่สนใจ
}

4. ฟังก์ชันตรวจสอบ Support และ Resistance

ฟังก์ชันนี้ตรวจสอบว่าราคาที่กำหนดเป็นระดับ Support หรือ Resistance หรือไม่ โดยนับจำนวนครั้งที่ราคาสัมผัสหรือใกล้เคียงกับระดับนั้น




bool IsSupportResistance(double price, int period = 20, double tolerance = 0.0001)
{
    int touchCount = 0;
    
    for (int i = 1; i <= period; i++)
    {
        if (MathAbs(Low[i] - price) <= tolerance || MathAbs(High[i] - price) <= tolerance) touchCount++; } return (touchCount >= 2);
}

5. ฟังก์ชันตรวจสอบการ Break Out

ฟังก์ชันนี้ตรวจสอบว่าเกิดการ Break Out ของราคาผ่านระดับที่กำหนดหรือไม่



int CheckBreakout(double level, int period = 20)
{
    if (Close[1] <= level && Close[0] > level)
        return 1;  // Bullish Breakout
    else if (Close[1] >= level && Close[0] < level)
        return -1; // Bearish Breakout
    
    return 0;  // No Breakout
}

6. ฟังก์ชันสร้างสัญญาณเทรดตาม Price Action

Exness Promotion

ฟังก์ชันนี้รวมผลการวิเคราะห์จากฟังก์ชันอื่นๆ เพื่อสร้างสัญญาณเทรดตาม Price Action Strategy โดยพิจารณาจากแนวโน้ม, รูปแบบแท่งเทียน, และการ Break Out ของระดับ Support/Resistance ที่สำคัญ



int GeneratePriceActionSignal()
{
    int trend = IdentifyTrend();
    int pattern = IdentifyCandlePattern();
    double swingHigh, swingLow;
    FindSwingPoints(20, swingHigh, swingLow);
    
    if (trend == 1)  // แนวโน้มขาขึ้น
    {
        if (pattern == 1 || pattern == 4)  // Bullish Marubozu หรือ Hammer
        {
            if (IsSupportResistance(swingLow) && CheckBreakout(swingLow) == 1)
                return 1;  // สัญญาณซื้อ
        }
    }
    else if (trend == -1)  // แนวโน้มขาลง
    {
        if (pattern == 2 || pattern == 3)  // Bearish Marubozu หรือ Shooting Star
        {
            if (IsSupportResistance(swingHigh) && CheckBreakout(swingHigh) == -1)
                return -1;  // สัญญาณขาย
        }
    }
    
    return 0;  // ไม่มีสัญญาณ
}

อัปเดตล่าสุด: พฤษภาคม 2026

คำถามที่พบบ่อย (FAQ)

Code คืออะไร?

หาคำตอบและรายละเอียดทั้งหมดของ Code ในเนื้อหาด้านบน ครอบคลุมแนวคิดหลัก ตัวอย่างการใช้งาน และข้อควรระวังสำคัญที่นักเทรดควรรู้

เหมาะกับมือใหม่ไหม?

เนื้อหานี้เหมาะกับทั้งมือใหม่และเทรดเดอร์ที่มีประสบการณ์ — หากเป็นมือใหม่แนะนำให้ศึกษาทฤษฎีให้เข้าใจก่อนนำไปใช้กับบัญชีจริง และเริ่มทดลองในบัญชี Demo ก่อนเสมอ

ใช้กับโบรกเกอร์ไทยได้ไหม?

ใช้ได้กับโบรกเกอร์ทุกแห่งที่รองรับ MT4/MT5 และให้บริการลูกค้าไทย เช่น XM, Exness, IC Markets, IUX, FBS, HFM, Pepperstone — ตรวจสอบเงื่อนไขและข้อจำกัดของแต่ละโบรกเกอร์ก่อนใช้งาน

Exness Promotion