09-09-57
..............
ผมกำลังสร้างระบบ ea ระบบนี้ครับ admin ช่วยตวรจโค๊ด ea ให้หน่อย
ระบบคือ
เข้า order Buy ถ้าเส้น MA5>MA10>MA15>MA20 และ MACD มีค่ามากกว่า 0 และปิดออร์เด้อร์เมื่อ เส้น MA5และ MACD มีค่าน้อยกว่า 0
ส่วน order Sell ก็ต้องกันข้ามกัน
..........................................
05/09/57
int start() เริ่มโปรแกรมและประกาศค่าตัวแปล
{
double MA5 =
iMA(NULL,0,5,0,MODE_SMMA,PRICE_CLOSE,0); ประกาศค่า MA5 คือ moving average ที่ พีเรียด 5
double MA10 =
iMA(NULL,0,10,0,MODE_SMMA,PRICE_CLOSE,0); ประกาศค่า MA10 คือ moving average ที่ พีเรียด 10
double MA15 =
iMA(NULL,0,15,0,MODE_SMMA,PRICE_CLOSE,0); ประกาศค่า MA15 คือ moving average ที่ พีเรียด 15
double MA20 =
iMA(NULL,0,20,0,MODE_SMMA,PRICE_CLOSE,0); ประกาศค่า MA20 คือ moving average ที่ พีเรียด 20
double val;
val=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0); ประกาศค่า val คือ MACDที่ค่า 12,26,9
if(OrdersTotal()==0) ถ้า order รวมเท่ากับ 0
{
if((MA5>MA10)&&(MA10>MA15)&&(MA15>MA20)) และถ้าค่า MA5>MA10>MA15>MA20
if(val>0) และถ้า MACD มีค่ามากกว่า 0
{ OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"EX1",0,0,Green); ให้ทำการเปิด orderbuy }
if((MA5 if(val<0) และถ้า MACD มีค่าน้อยกว่า 0
{
OrderSend(Symbol(),OP_sell,Lot,Bid,3,0,0,"EX1",0,0,Red); ให้ทำการเปิด ordersell
}
}
if(OrdersTotal()==1) ถ้า order รวมเท่ากับ 1 {
if((MA5>MA10)&&(MA10>MA15)&&(MA15>MA20)) และถ้าค่า MA5>MA10>MA15>MA20
if(val>0) และถ้าค่า macd มีค่ามากกว่า 0
{OrderSelect(0,SELECT_BY_POS,MODE_TRADES; ให้ทำการปิด order นั้น
if(OrderType()==OP_SELL ถ้าชนิดของ order ที่เปิดอยู่เป็น ordersell
OrderClose(OrderTicket(),OrderLots(),Ask,3,Red); ให้ปิด order นั้น ด้วยตัวอักษรสีแดง
}
if((MA5 if(val<0) และถ้าค่า MACD น้อยหว่า 0
{OrderSelect(0,SECT_BY_POS,MODE_TRADES); ให้ทำการปิด order นั้น
if(OrderType()==OP_BUY) ถ้าชนิดของ order ที่เปิดอยู่เป็น orderbuy
OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); ให้ปิด order นั้น ด้วยตัวอักษรสีเขียว
}
}
return(0); วนไปเรื่อยๆ
}
Create Date : 09 กันยายน 2557 |
Last Update : 9 กันยายน 2557 13:58:33 น. |
|
0 comments
|
Counter : 620 Pageviews. |
|
|
|
| |