ชุดคำสั่งสำหรับสร้างสัญญาณจาก Indicator Crossovers

IUX Markets Bonus

การสร้างสัญญาณจาก Indicator Crossovers

Indicator Crossovers เป็นวิธีที่นิยมใช้ในการสร้างสัญญาณเทรด โดยอาศัยการตัดกันของเส้น Indicator หรือการตัดผ่านค่าที่กำหนด ต่อไปนี้เป็นตัวอย่างชุดคำสั่งสำหรับสร้างสัญญาณจาก Indicator Crossovers ที่ใช้บ่อย:

indicator Cross Over
indicator Cross Over

1. Moving Average Crossover

การตัดกันของ Moving Average สองเส้นที่มีช่วงเวลาต่างกัน เป็นวิธีที่นิยมใช้ในการระบุแนวโน้มและสร้างสัญญาณเทรด

 



int MAcrossover(int fastPeriod, int slowPeriod)
{
    double fastMA = iMA(NULL, 0, fastPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
    double slowMA = iMA(NULL, 0, slowPeriod, 0, MODE_SMA, PRICE_CLOSE, 0);
    double prevFastMA = iMA(NULL, 0, fastPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
    double prevSlowMA = iMA(NULL, 0, slowPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
    
    if (prevFastMA <= prevSlowMA && fastMA > slowMA)
        return 1;  // สัญญาณซื้อ
    else if (prevFastMA >= prevSlowMA && fastMA < slowMA)
        return -1; // สัญญาณขาย
    
    return 0;  // ไม่มีสัญญาณ
}

วิธีใช้งาน:


int signal = MAcrossover(10, 30);
if (signal == 1)
    Print("สัญญาณซื้อจาก MA Crossover");
else if (signal == -1)
    Print("สัญญาณขายจาก MA Crossover");


 

2. MACD Crossover

MACD (Moving Average Convergence Divergence) เป็น Indicator ยอดนิยมที่ใช้การตัดกันของเส้น MACD และ Signal Line เพื่อสร้างสัญญาณเทรด

 YWO Promotion

 


int MACDcrossover(int fastEMA, int slowEMA, int signalPeriod)
{
    double macd = iMACD(NULL, 0, fastEMA, slowEMA, signalPeriod, PRICE_CLOSE, MODE_MAIN, 0);
    double signal = iMACD(NULL, 0, fastEMA, slowEMA, signalPeriod, PRICE_CLOSE, MODE_SIGNAL, 0);
    double prevMACD = iMACD(NULL, 0, fastEMA, slowEMA, signalPeriod, PRICE_CLOSE, MODE_MAIN, 1);
    double prevSignal = iMACD(NULL, 0, fastEMA, slowEMA, signalPeriod, PRICE_CLOSE, MODE_SIGNAL, 1);
    
    if (prevMACD <= prevSignal && macd > signal)
        return 1;  // สัญญาณซื้อ
    else if (prevMACD >= prevSignal && macd < signal)
        return -1; // สัญญาณขาย
    
    return 0;  // ไม่มีสัญญาณ
}


วิธีใช้งาน:



int signal = MACDcrossover(12, 26, 9);
if (signal == 1)
    Print("สัญญาณซื้อจาก MACD Crossover");
else if (signal == -1)
    Print("สัญญาณขายจาก MACD Crossover");

 

3. Stochastic Crossover

Stochastic Oscillator ใช้การตัดกันของเส้น %K และ %D เพื่อสร้างสัญญาณเทรด โดยมักจะใช้ร่วมกับการพิจารณาสภาวะ Overbought และ Oversold

 


int StochasticCrossover(int kPeriod, int dPeriod, int slowing)
{
    double k = iStochastic(NULL, 0, kPeriod, dPeriod, slowing, MODE_SMA, 0, MODE_MAIN, 0);
    double d = iStochastic(NULL, 0, kPeriod, dPeriod, slowing, MODE_SMA, 0, MODE_SIGNAL, 0);
    double prevK = iStochastic(NULL, 0, kPeriod, dPeriod, slowing, MODE_SMA, 0, MODE_MAIN, 1);
    double prevD = iStochastic(NULL, 0, kPeriod, dPeriod, slowing, MODE_SMA, 0, MODE_SIGNAL, 1);
    
    if (prevK <= prevD && k > d && k < 20) return 1; // สัญญาณซื้อ (และอยู่ในสภาวะ Oversold) else if (prevK >= prevD && k < d && k > 80)
        return -1; // สัญญาณขาย (และอยู่ในสภาวะ Overbought)
    
    return 0;  // ไม่มีสัญญาณ
}


วิธีใช้งาน:



int signal = StochasticCrossover(5, 3, 3);
if (signal == 1)
    Print("สัญญาณซื้อจาก Stochastic Crossover");
else if (signal == -1)
    Print("สัญญาณขายจาก Stochastic Crossover");

 

4. การรวมสัญญาณจากหลาย Indicator

ในการสร้างระบบเทรดที่มีประสิทธิภาพ เราอาจใช้การรวมสัญญาณจากหลาย Indicator เพื่อยืนยันสัญญาณและลดความเสี่ยงของสัญญาณหลอก

 



int CombinedSignals()
{
    int maSignal = MAcrossover(10, 30);
    int macdSignal = MACDcrossover(12, 26, 9);
    int stochSignal = StochasticCrossover(5, 3, 3);
    
    // ต้องมีสัญญาณตรงกันอย่างน้อย 2 ใน 3
    if ((maSignal == 1 && macdSignal == 1) || (maSignal == 1 && stochSignal == 1) || (macdSignal == 1 && stochSignal == 1))
        return 1;  // สัญญาณซื้อ
    else if ((maSignal == -1 && macdSignal == -1) || (maSignal == -1 && stochSignal == -1) || (macdSignal == -1 && stochSignal == -1))
        return -1; // สัญญาณขาย
    
    return 0;  // ไม่มีสัญญาณหรือสัญญาณไม่ชัดเจน
}

 

วิธีใช้งาน:



int signal = CombinedSignals();
if (signal == 1)
    Print("สัญญาณซื้อที่ยืนยันจากหลาย Indicator");
else if (signal == -1)
    Print("สัญญาณขายที่ยืนยันจากหลาย Indicator");

 

การใช้ Indicator Crossovers เป็นวิธีที่นิยมในการสร้างสัญญาณเทรด อย่างไรก็ตาม ควรระมัดระวังในการใช้งาน เนื่องจาก:

  1. สัญญาณอาจเกิดขึ้นล่าช้ากว่าการเคลื่อนไหวของราคาจริง
  2. อาจเกิดสัญญาณหลอกในตลาดที่เคลื่อนไหวในกรอบแคบ
  3. ควรใช้ร่วมกับการวิเคราะห์ปัจจัยอื่นๆ เช่น แนวโน้มตลาด, วอลุ่มการซื้อขาย, และการวิเคราะห์ปัจจัยพื้นฐาน

การทดสอบย้อนหลังและการปรับแต่งพารามิเตอร์ให้เหมาะสมกับคู่สกุลเงินและTimeframeที่ต้องการเทรดเป็นสิ่งสำคัญในการพัฒนาระบบเทรดที่มีประสิทธิภาพ

 Exness Promotion
PNFPB Install PWA using share icon

For IOS and IPAD browsers, Install PWA using add to home screen in ios safari browser or add to dock option in macos safari browser