
- กลยุทธ์นี้ใช้ Indicator MACD (อ่านว่าแม็คดี หรือ เอ็ม-เอ-ซี-ดี)
- ใช้การตัดกันของเส้น Signal กับ แท่ง Histogram ของกราฟ เป็นสัญญาณซื้อ

- เมื่อเส้น Signal และ Main อยู่ต่ำกว่า 0
- เมื่อ MACD Main > MACD Signal
- ปิดสัญญา Sell ทั้งหมด และเปิด Order Buy เมื่อขึ้นแท่งเทียนถัดไป

- เมื่อเส้น Signal และ Main อยู่ฝั่งบวก หรือ มากกว่า 0
- เมื่อ MACD Signal > MACD Main
- ปิดสัญญา Buy ทั้งหมด และเปิด Order Sell เมื่อขึ้นแท่งเทียนถัดไป
ส่วนของการทดสอบ


double MACD9_Main1=iMACD(NULL,0,9,26,9,PRICE_CLOSE,MODE_MAIN,1);
double MACD9_Signal=iMACD(NULL,0,9,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
double MACD9_Signal1=iMACD(NULL,0,9,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
ประกาศตัวแปร MACD9_Main : MACD mode main , shif =0
MACD9_Main1 : MACD mode main , shif =1
MACD9_Signal : MACD mode Signal , shif =0
MACD9_Signal1 : MACD mode Signal , shif =0
if(((MACD9_Main>MACD9_Signal) && (MACD9_Signal<0)) && ((MACD9_Main1<MACD9_Signal1)))
{
//for(int i=0;i<OrdersTotal();i++)
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(((OrderType()==OP_SELL) && (OrderSymbol()==Symbol()) && (OrderMagicNumber()==08)))
{
bool close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(), MODE_ASK), SLIPPAGE, Red);
if(!close)
{
Print("Error in Close Order. Error code=",GetLastError());
}
else
Print("Close Order successfully.");
}
if(((OrderType()==OP_BUY) && (OrderSymbol()==Symbol()) && (OrderMagicNumber()==08)))
MACDCount++;
}
}
if(MACDCount<MaximunOrder)
ticket=OrderSend(NULL,OP_BUY,0.01,Ask,2,0,0,"Basic#08 MACD",08);
}
ส่วนนี้เป็นตรวจสอบสัญญาณการเข้าซื้อ ( Buy Order )
- ถ้า เส้น Main 0 > Signal 0 และ Main 1 < Signal 1
- Buy Order
MT4 File : Basic#08
Lab Summary :
- ระบบนี้สามารถใช้งานได้จริง
- จากการทดสอบย้อนหลัง 5 ปี ระบบสามารถเติบโตได้อย่างช้าๆ แต่สามารถอยู่รอดได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น