Open Forex4you Account

Server รัน EA 1000 / ปี

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

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

Coke

  • Newbie
  • *
  • Posts: 23
อยากทราบโค้ด
« on: มีนาคม 06, 2013, 11:47:18 pm »
อยากทราบโค้ด เวลาindicatorเปลี่ยนสีให้บาย หรือเซล

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: อยากทราบโค้ด
« Reply #1 on: มีนาคม 07, 2013, 03:38:14 am »
ต้องศึกษาเรื่อง icustom ครับเพื่อดูว่าแต่ละสีถูกเก็บไวที่ Buffer ตัวที่เท่าไรครับ

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #2 on: มีนาคม 07, 2013, 12:43:23 pm »
คือถ้าผมได้ค่า Buffer แล้ว แต่ได้ Buffer มา 4 ตัว
ผมจะรู้ได้ไงครับว่า ตัวไหนให้ค่าสัญญาน บาย สัญญาน เซล

ผมมีอีกวิธีหนึ่งคือว่า ตอนที่รับค่าจาก Indi มาผมจะตั้งค่า Up แล้วทำ EA มา 4 ตัว
ใส่ค่า Buffer แต่ละตัวลงไป ถ้าผมไปรันแล้ว Buffer ตัวไหนทำงานแสดงว่า
เป็นสัญญาน Up จะได้หรือไม่ครับ  :D

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: อยากทราบโค้ด
« Reply #3 on: มีนาคม 07, 2013, 01:14:56 pm »
ต้องใช้การสังเกตุครับ ว่าถ้าเป็นสีแรก ค่า buffer แสดงตัวไหนแสดงอะไรออกมามั้ง แล้วถ้าเป้นสีที่สองค่า buffer แสดงตัวไหนออกมามั้ง  จากนั่นสังเกตุความแตกต่างของทั้งสองกรณีแล้วนำความแตกต่างนี้หละครับไปสร้าเงป็นเงื่อนไขครับ

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #4 on: มีนาคม 07, 2013, 01:20:16 pm »
ok ขอบคุณครับ

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #5 on: มีนาคม 07, 2013, 04:31:08 pm »
ถามต่ออีกนิดหนึ่งครับ ให้ EA เทรดตาม Alerts มันจะได้รึเปล่าครับแล้วต้องทำยังไงครับ

แล้วถ้า Indicator บางตัวมันถอดค่า buffer ออกมาไม่ได้จะทำยังไงดีครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: อยากทราบโค้ด
« Reply #6 on: มีนาคม 07, 2013, 04:58:30 pm »
ถามต่ออีกนิดหนึ่งครับ ให้ EA เทรดตาม Alerts มันจะได้รึเปล่าครับแล้วต้องทำยังไงครับ

แล้วถ้า Indicator บางตัวมันถอดค่า buffer ออกมาไม่ได้จะทำยังไงดีครับ

ตอบ
ข้อ 1 ตรงที่มันมีการ alert ก็คือเงื่อนไขครับถ้าเรารู้ว่ามันมีเงื่อน ไข alert ตรงไหนเราก็ใส่ code เปิด order เข้าไปได้ครับ
ข้อ 2 indicator ส่วนใหญ่ต้องมีค่าออกมาครับหากไม่มีค่าออกมาจริงต้องเข้าไปแก้ที่ code เองครับ แต่ indicator 99% มีค่าออกมาแน่นอนครับ

ไม่ทราบว่ามีหนังสือคู่มือของทางเวบหรือเปล่าครับ เพราะวิธีการนำค่าสีออกมา กับตำแหน่งที่ alert นี้ในหนังสือมีตัวอย่างพอที่จะทำให้เข้าใจได้ง่ายขึ้นครับ

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #7 on: มีนาคม 07, 2013, 05:42:01 pm »
Indicator ที่ผมจะทำมันเป็นนามสกุล ex4  ??? ผมต้องไปหาโปรแกรมถอดให้มันเป็น MQL4 ก่อนถึงจะเข้าไปดูหรือแก้ไขใช่ไหมครับ

ส่วนค่า Buffer ผมลองถอดมาแล้วได้ตามภาพ ที่แนบมาครับ ไม่รู้ว่ามันใช่ค่า indicator ที่เปลี่ยนสีหรือเปล่าครับ
แต่ส่วนตัวคิดว่าคงไม่น่าใช่เพราะว่าค่าเหมือนกันหมดเลย

หนังสือมีครับพึ่งได้สดๆ เลย ^ ^

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: อยากทราบโค้ด
« Reply #8 on: มีนาคม 07, 2013, 08:04:23 pm »
ค่าของ buffer แต่บะสีเปิดดูใน data window เอาได้เลยครับง่ายๆ

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #9 on: มีนาคม 07, 2013, 08:15:43 pm »
ท่าน D_Dimond ผมอยากปรึกษาติดต่อหลังไมค์ได้รึเปล่าครับเอาทางที่สะดวกก้ได้ครับ

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #10 on: มีนาคม 07, 2013, 09:49:04 pm »
ผมลองเขียนออกมามันได้ประมาณนี้แต่มันไม่ทำงาน เช็คerorอะไรก็ไม่มี
หรือว่าค่า buffer ผิด ผมก็ดูตามท่าน D_Dimond บอก หรือผิดตรงไหน



extern double Lot=0.01;
int start()

{double up=iCustom(NULL,0,"Test_Number1",1,0);
 double down=iCustom(NULL,0,"Test_Number1",3,0);
 
 if(OrdersTotal()==0)
 {if(up>0)                                                                                                                           
 {OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,0,"Signal_Buy",0,0,DarkTurquoise);}
 if(down>0)                                                                                                                         
 {OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Singnal_Short",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,DarkTurquoise);}       
 }
 if(down>0)                                                                                                                         
 {OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
 if(OrderType()==OP_BUY)
 {OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Red);}
}
}
return(0); } 

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: อยากทราบโค้ด
« Reply #11 on: มีนาคม 07, 2013, 10:48:12 pm »
อินดี้อะไรครับลองโพสให้ผมดูหน่อยครับ

Coke

  • Newbie
  • *
  • Posts: 23
Re: อยากทราบโค้ด
« Reply #12 on: มีนาคม 07, 2013, 11:04:57 pm »
ตามนี้เลยครับ แค่อยากให้มันเปิดออเดอร์ตามการเปลี่ยนสีเท่านั้นเองครับ ???

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: อยากทราบโค้ด
« Reply #13 on: มีนาคม 07, 2013, 11:26:21 pm »
ค่า อินดิ้ต้องเป้นตามนี้ครับถึงจับค่าที่ถูกต้องได้ครับ

double up =iCustom(NULL,0,"supertrendprofit4",0,1);


double down =iCustom(NULL,0,"supertrendprofit4",2,1);

if(up < 10000) คือ BUY สีฟ้า

if(down < 10000) คือ Sell สีแดง

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: อยากทราบโค้ด
« Reply #14 on: มีนาคม 07, 2013, 11:29:49 pm »
extern double Lot=0.01;
int start()

{double up =iCustom(NULL,0,"supertrendprofit4",0,1);


double down =iCustom(NULL,0,"supertrendprofit4",2,1);
 
 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(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); }