Code function ที่ใช้ Price Action Strategy

IUX Markets 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

HFM Market 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;  // ไม่มีสัญญาณ
}

FOREXDUCK Logo

FOREXDUCK (นามปากกา) นักเขียนของเรามีประสบการณ์การเงินการลงทุนกว่า 10 ปี มีความเชี่ยวชาญในการวิเคราะห์ตลาด Forex และคริปโต โดยเฉพาะการวิเคราะห์ทางเทคนิค รวมถึงเทคนิคต่าง

HFM Promotion