Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: เขียน EA stochastic ติดปัญหาครับ  (Read 12975 times)

sunever1

  • Jr. Member
  • **
  • Posts: 57
เขียน EA stochastic ติดปัญหาครับ
« on: กรกฎาคม 04, 2014, 08:55:19 pm »
void indicatorOpenOrder(){
   double EMA14= iMA(Symbol(),PERIOD_H1,14,0,MODE_EMA,PRICE_WEIGHTED,1);
   double EMA50= iMA(Symbol(),PERIOD_H1,50,0,MODE_EMA,PRICE_WEIGHTED,1);
   
   kline[1] = iStochastic(NULL, Period(), 8, 3, 3, MODE_SMA, 0, MODE_MAIN, 1);
   
   
   
   if ((EMA14 > EMA50)&&(kline[1] <50.0))
   {
      Order_buy =   true;
      Order_sell=   false;
   }

   
   return;
}

ต้องการให้ Order Buy = Ema14>15 และ Sto <50 ถึงเปิดออดเดอร์
แต่พอรันจริง   Sto > 50 ก็เปิดออเดร์ครับ รบกวนแอดมินช่วยด้วยครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: เขียน EA stochastic ติดปัญหาครับ
« Reply #1 on: กรกฎาคม 05, 2014, 01:54:00 am »
เอา Code เต็มๆๆมาดูหน่อยครับ

sunever1

  • Jr. Member
  • **
  • Posts: 57
Re: เขียน EA stochastic ติดปัญหาครับ
« Reply #2 on: กรกฎาคม 05, 2014, 09:04:28 am »
เงื่อนไขการเปิดOrder Buy = Ema15(H1) >Ema50(H1)50 และ Sto(H1) < 50 ถึงเปิดออดเดอร์


เงื่อนไขการปิดOrder Buy = EEma15(H1) < Ema50(H1)50


หนังสือเขียนเข้าใจง่ายดีครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: เขียน EA stochastic ติดปัญหาครับ
« Reply #3 on: กรกฎาคม 05, 2014, 11:26:27 am »
if ((EMA14 > EMA50)&&(kline[1] <50.0))
   {
      Order_buy =   true;
      Order_sell=   false;
   }
   if((EMA14 < EMA50)&&(kline[1] >50.0) )
   {
      Order_buy =   false;
      Order_sell=   true;
   
   }
ตาม code นี่ Sto มากกว่าหรือน้อยกว่า 50 ก็เปิดได้หมดนี่เพราะมันขึ้นอยู่กับ EMA ด้วยนิ

sunever1

  • Jr. Member
  • **
  • Posts: 57
Re: เขียน EA stochastic ติดปัญหาครับ
« Reply #4 on: กรกฎาคม 05, 2014, 03:15:47 pm »
ปัญหา คือ EA เปิดbuy ตอนstoch มากกว่า 50 นะครับ ผมตั้งไว้ (sto <50นะครับถึงเปิดบายได้) :'(TvT

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: เขียน EA stochastic ติดปัญหาครับ
« Reply #5 on: กรกฎาคม 05, 2014, 06:13:00 pm »
จากที่ดู code ในส่วนเงื่อนไขที่ให้ตรวจสอบก่อนเปิด order ให้ไปใส่วงเล็บครอบเพื่อแยกเงื่อนไขให้ชัดเจนก่อน
if ( (ld_28 > ld_36 ) &&  (Order_sell == true) )

if ( (ld_28 < ld_36)  && (Order_buy == true) )