Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: จะเริ่มเขียน ea ตัวนี้อย่างไรดีครับ  (Read 37526 times)

ruddy01

  • Newbie
  • *
  • Posts: 38
วันนี้ผมลองเขียน ea ดู

โดยใช้ข้อมูลในหน้าที่ 257 ของหนังสือ คู่มือการเขียนโปรแกรม MQL4 เป็นฐาน ได้ดังนี้

..................

extern double Lot=0.1;
int start()
{ double up=iCustom(NULL,0,"Forex Freedom Bars",0,0);
double down=iCustom(NULL,0,"Forex Freedom Bars",1,0);
if(OrdersTotal()==0)
{
if(up>0)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"EX3",0,0,Green);
}
if(down>0)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"EX3",0,0,Red);
}
}
if(OrdersTotal()==1)
{
if(up>0)
{OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots()MarketInfo(OrderSymbol(),MODE_ASK),3,Pink);
}
}
if(down>0)
{OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Pink);
}}
return(0);
}


....................

แต่ปรากฎว่ามันขึ้น เออเร่อ  ตามรูป

ไม่ทราบว่า  เลข 31,1 มันคืออะไรหรือครับ


admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ผิดที่เครื่องหมาย }

extern double Lot=0.1;
int start()
{ double up=iCustom(NULL,0,"Forex Freedom Bars",0,0);
double down=iCustom(NULL,0,"Forex Freedom Bars",1,0);
if(OrdersTotal()==0)
{
if(up>0)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"EX3",0,0,Green);
}
if(down>0)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"EX3",0,0,Red);
}
}
if(OrdersTotal()==1)
{
if(up>0)
{
   OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()==OP_SELL)
      {
        OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,Pink);
      }
}
if(down>0)
{
    OrderSelect(0,SELECT_BY_POS,MODE_TRADES);

    if(OrderType()==OP_BUY)
    {
       OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Pink);
    }
   
 }
}
return(0);
}

ruddy01

  • Newbie
  • *
  • Posts: 38
ผิดที่เครื่องหมาย }

extern double Lot=0.1;
int start()
{ double up=iCustom(NULL,0,"Forex Freedom Bars",0,0);
double down=iCustom(NULL,0,"Forex Freedom Bars",1,0);
if(OrdersTotal()==0)
{
if(up>0)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"EX3",0,0,Green);
}
if(down>0)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"EX3",0,0,Red);
}
}
if(OrdersTotal()==1)
{
if(up>0)
{
   OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()==OP_SELL)
      {
        OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,Pink);
      }
}
if(down>0)
{
    OrderSelect(0,SELECT_BY_POS,MODE_TRADES);

    if(OrderType()==OP_BUY)
    {
       OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Pink);
    }
   
 }
}
return(0);
}



ขอบคุณมากครับ 

ruddy01

  • Newbie
  • *
  • Posts: 38
มาวันนี้  ผมลองเอา โค๊ด ea ที่ท่าน admin ช่วยแก้ไขให้ ในริปที่ 17 มาลองรันดู ก็ได้ตามรูปข้างล่างครับ  มันเป็นอินดิเคเตอร์ ที่ชื่อ Forex Freedom Bar เป็นพวก icustom indicator

โค๊ดที่ท่าน admin ช่วยแก้ไขให้นี้ เป็นโค๊ดที่ดัดแปลงมาจากหนังสือหน้าที่ 257  เป็นการเข้าออร์เดอร์ โดยใช้การเปลี่ยนสีของอินดี้

แต่ Forex Freedom Bar  มันมีการเปลี่ยนสี 4 แถบ นั้นคือ แถบ 5  15  30  60 นาที  จึงงงๆว่า จะต้องทำอย่างไรต่อ เมื่อเงื่อนไขคือ  ถ้าForex Freedom Bar  เปลี่ยนเป็นเป็นสีน้ำเงินทั้ง 4 เส้น ให้เปิดออร์เดอร์ buy  และในทางตรงกันข้าม ถ้าทั้ง 4 เส้น เป็นสีแดงทั้งหมดให้เปิดออร์เดอร์ sell

รูปข้างล่างนี้คือรูป error ที่ลองรันดู  ไม่ทราบว่าจะต้องทำอย่างไรต่อไปครับท่าน admin



admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
History Error ครับไม่เกี่ยวกับ Code แล้วครับ

ruddy01

  • Newbie
  • *
  • Posts: 38
History Error ครับไม่เกี่ยวกับ Code แล้วครับ

แล้ว History Error  มันคืออะไรหรือครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ก็ข้อมูลกราฟไม่สมบูรณ์ไงครับ