Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: อยากทราบโค้ด  (Read 21131 times)

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: อยากทราบโค้ด
« Reply #15 on: มีนาคม 08, 2013, 11:25:55 am »
ทำไมอินดิเคเตอร์ตัวที่เขียน กับตัวที่เอามาโพสมันคนละตัวกันละครับ

ตัวที่เอามาโพสนี่ผมลองโหลดมาชื่อ  supertrendprofit4  เป็นคล้ายๆเส้น MA มี 2 สี แดงกับฟ้า

ดูจาก data window มีบัฟเฟอร์ 3 ตัว

super trend profit จะไม่เท่ากับ 0 ถ้าเส้นเป็นสีฟ้า
value 2 ไม่มีค่า
value 3 จะไม่เท่ากับ 0 ถ้าเส้นเป็นสีแดง

เงื่อนไขก็จะเป็นแบบนี้
if(up != 0)
if(down != 0)

ได้ไม่เหมือนท่านแอดมินแฮะ สงสัยอินดิเคเตอร์คนละตัวกัน

แต่ถ้าเขียนถูกแล้วมันไม่เทรด  ต้องดูก่อนว่า repaint หรือเปล่าครับ
อินดิเคเตอร์พวกเปลี่ยนสีนี่มักจะ repaint ดังนั้นจับบัฟเฟอร์ถูกแต่มักจะเขียนผิดมากกว่าถูก

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #16 on: มีนาคม 08, 2013, 02:19:50 pm »
ขอบคุณมากๆ เลยครับทั้งสองท่านเลย
ตอนนี้ได้ละครับ EA ตัวแรกเลย ขอบคุณจากใจจริงๆ
ใช้ตามที่ Admin บอกนะครับ ก็เหลือปรับแต่งเล็กน้อยครับ
ก็จะศึกษาจากหนังสือเพิ่มนะครับ  ขอบคุณครับ

 :D :D :D

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #17 on: มีนาคม 08, 2013, 09:36:32 pm »
1. ผมเขียนค่า Magic อย่างนี้ถูกไหมครับ

extern double Lot=0.01;
int start()
extern int Magic=123;     <--------- 2. แล้วถ้าจะไปใช้อีกสัก 5 ทามเฟรมผมแค่เปลี่ยน เป็น 124 125 126 127 128 ใช่ไหมครับ
                                                                                                                                          
{double up =iCustom(NULL,0,"supertrendprofit4",0,1);                                                                    
                                                                                                                                          
                                                                                                                                          
double down =iCustom(NULL,0,"supertrendprofit4",2,1);
 
 if(magic)==123)                <--------------------------------------------------- อันนี้เหมือนเดิมใช่ไหมครับ หรือว่าเปลี่ยนทามเฟรมต้องเปลี่ยนค่าด้วยครับ
 if(OrdersTotal()==0)
 {if(up<10000)                                                                                                                          
 {OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Signal_Buy",0,0,DarkTurquoise);}
 if(down<10000)                                                                                                                        
 {OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Singnal_Short",0,0,Red);}
}

 if(magic)==123)                 <--------------------------------------------------- อันนี้ก็เหมือนเดิมใช่ไหมครับ หรือว่าเปลี่ยนทามเฟรมต้องเปลี่ยนค่าด้วย
 if(OrdersTotal()==1)
{if(up<10000)                                                                                                                            
 {OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
 if(OrderType()==OP_SELL)
 {OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,DarkTurquoise);}      
 }
 if(down<10000)                                                                                                                        
 {OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
 if(OrderType()==OP_BUY)
 {OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Red);}
}
}
return(0); }

« Last Edit: มีนาคม 08, 2013, 10:06:26 pm by Coke »

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: อยากทราบโค้ด
« Reply #18 on: มีนาคม 09, 2013, 01:03:41 am »
if(magic ==123)   เงื่อนไขต้องแบบนี้

OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Signal_Buy",123,0,DarkTurquoise); ต้องระบุ magic ด้วยทุกที่ที่ส่งคำสั่งเปิด

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #19 on: มีนาคม 09, 2013, 08:09:11 am »
ง่า!! ถ้าผมเปิดสัก 10 กราฟ ผมต้องมาแก้ 10 กราฟเลยใช่ไหมครับ
ไม่ให้มันเหมือนกัน  แล้วต้องมี EA เพิ่มมา 10 ตัวนะสิ  ???

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: อยากทราบโค้ด
« Reply #20 on: มีนาคม 09, 2013, 01:01:55 pm »
ง่า!! ถ้าผมเปิดสัก 10 กราฟ ผมต้องมาแก้ 10 กราฟเลยใช่ไหมครับ
ไม่ให้มันเหมือนกัน  แล้วต้องมี EA เพิ่มมา 10 ตัวนะสิ  ???
จริงไม่ต้องหรอกครับให้ใช้ตัวแปร แทน ค่าของ Magic ครับ เวลาใช้งานจริงแก้แค่ input แก้ที่ input ทีเดียวครับ

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: อยากทราบโค้ด
« Reply #21 on: มีนาคม 09, 2013, 01:28:35 pm »
 if(magic)==123)  มันต้องอยู่หลัง orderselect นะครับ  ไม่ใช่เขียนไว้ลอยๆแบบนั้น

แล้วก็ไม่ใช่เขียนแบบนี้  ต้องเขียนว่า if( OrderMagicNumber() == magic )