EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: speed0ne on ตุลาคม 22, 2018, 10:20:04 am

Title: ถามถึง Modify order ที่เปิดแล้ว
Post by: speed0ne on ตุลาคม 22, 2018, 10:20:04 am
อยากแก้ โดยเพิ่มเงื่อนไขการ modify order ที่เปิดไปแล้วซึ่งจะแก้ให้มันโมดิฟายเฉพาะค่า take profit  โดยอยากทราบว่าผมจะเขียนต่อจากโค้ดเดิมที่เป็น pending order ได้เลยหรือเปล่าครับเพราะเงื่อนไขเดียวกันหรือต้องแยกมาสร้างใหม่ นี่เป็นโค้ดตรงส่วนที่เป็น pending order

void ModifyPending( )
{
int ordertotal;
int count=0;
 ordertotal=OrdersTotal()-1;
 for(;ordertotal>=0;ordertotal--)
 {
  if(OrderSelect(ordertotal,MODE_TRADES))
  {
   if(Symbol()==OrderSymbol()   && OrderMagicNumber() == Magic )
   {
     if(OrderType()==OP_SELLLIMIT && OrderOpenPrice() > Ask+Gap*Point )
     OrderModify(OrderTicket(),Ask+Gap*Point,0,Ask-(Gap-TP)*Point,0);
   
     if(OrderType()==OP_BUYLIMIT && OrderOpenPrice() < Bid-Gap*Point )
     OrderModify(OrderTicket(),Bid-Gap*Point,0,Bid+(Gap-TP)*Point,0);
   }
   
  }
 }

}
Title: Re: ถามถึง Modify order ที่เปิดแล้ว
Post by: narjant on ตุลาคม 24, 2018, 11:30:36 am
มา รอด้วยครับ   
Title: Re: ถามถึง Modify order ที่เปิดแล้ว
Post by: D_Diamond on พฤศจิกายน 21, 2018, 10:29:33 pm
pending คือออเดอร์ที่จองซื้อขายล่วงหน้า พอถึงราคาที่กำหนดโบรกก็จะทำการซื้อขายให้  มันก็จะกลายเป็น buy หรือ sell ไม่ใช่ limit อีกต่อไปครับ

if(OrderType()==OP_SELLL
Title: Re: ถามถึง Modify order ที่เปิดแล้ว
Post by: speed0ne on ธันวาคม 20, 2018, 10:34:57 am
pending คือออเดอร์ที่จองซื้อขายล่วงหน้า พอถึงราคาที่กำหนดโบรกก็จะทำการซื้อขายให้  มันก็จะกลายเป็น buy หรือ sell ไม่ใช่ limit อีกต่อไปครับ

if(OrderType()==OP_SELLL
ขอบคุณครับ ผมทำให้มันเลื่อนได้แล้วแต่ดันขยับขึ้น-ลงรัวๆทุกครั้งที่ราคาเคลื่อนไหวเลย ผมควรจะใช้เงื่อนไขอะไรที่ทำให้มันเลื่่อนทางเดียวไหมครับ เช่นถ้าราคาปัจจุบันลง tp เลื่อนลงตามแต่ถ้าขึ้นราคาไม่เลื่อน หรือถ้าราคาปัจจุบันขึ้น tp เลื่อนขึ้นตามแต่ถ้าราคาลง tp ไม่ขยัย
Title: Re: ถามถึง Modify order ที่เปิดแล้ว
Post by: D_Diamond on มกราคม 14, 2019, 05:01:27 pm
ก็ตรวจสอบราคาเทียบกับ sl tp ก่อนส่งคำสั่ง modify ครับ

if(OrderType()==OP_SELLL
{
if( newtp < ordertp
OrderModify(
}