ผมเขียนอีเอ โดยมี Indicator คือ เส้น MA (period ที่เรากำหนดขึ้นเอง) 3เส้น และ 3 เส้นนี้เราสามารถเปิดใช้หรือไม่เปิดใช้ก็ได้ เช่น เราจะปิดไม่ใช้ MA เส้นที่ 2 แต่ให้ใช้ เส้นที่ 1 และ 3
วิธีการเข้า
ให้เข้าทั้งBuyและSell เมื่อแท่งเทียนไปชนเส้น MA ที่ 1 1ครั้งเท่านั้น
และเข้าทั้ง BuyและSell เมื่อแท่งเทียนไปชนเส้น MA ที่ 2 อีก 1ครั้งเท่านั้น
และเข้าทั้ง BuyและSell เมื่อแท่งเทียนไปชนเส้น MA ที่ 3 อีก 1ครั้ง เท่านั้น
การลง Lot ให้เรากำหนด Lot เองครับ และไม่มีการตั้ง SL,TP ครับ
แต่พอเทสแล้วกลับไม่เป็นอย่างนั้นครับ มันเริ่มที่ sell อย่างเดียวแล้วก็เข้าซื้อขายมั่วไปหมดเลยรบกวนช่วยเหลือแก้ไขหน่อยครับ
#property copyright ""
#property link ""
extern double Lots=0.1;
extern int MA1_Period=50;
extern int MA2_Period=100;
extern int MA3_Period=200;
extern string MethodInfo="0=SMA 1=EMA";
extern int MA1_Method=1;
extern int MA2_Method=1;
extern int MA3_Method=1;
int LastBar,LastDay=0;
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
double ema1=iMA(Symbol(),0,MA1_Period,0,MA1_Method,0,0);
double ema2=iMA(Symbol(),0,MA2_Period,0,MA2_Method,0,0);
double ema3=iMA(Symbol(),0,MA3_Period,0,MA3_Method,0,0);
//----
if(Day()!=LastDay || LastDay==0)
{
if((MA1_Period>0 && Close[0]>=ema1 && Open[0]<ema1) || (MA2_Period>0 && Close[0]>=ema2 && Open[0]<ema2) || (MA3_Period>0 && Close[0]>=ema3 && Open[0]<ema3))
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,NULL,0,0,Blue);
LastDay=Day();
}
if((MA1_Period>0 && Close[0]<=ema1 && Open[0]>ema1) || (MA2_Period>0 && Close[0]<=ema2 && Open[0]>ema2) || (MA3_Period>0 && Close[0]<=ema3 && Open[0]>ema3))
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,NULL,0,0,Red);
LastDay=Day();
}
}
//----
return(0);
}
ขอบคุณครับ