EA Programing > ปัญหาที่พบในการเขียน EA

ถามถึง Modify order ที่เปิดแล้ว

(1/1)

speed0ne:
อยากแก้ โดยเพิ่มเงื่อนไขการ 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);
   }
   
  }
 }

}

narjant:
มา รอด้วยครับ   

D_Diamond:
pending คือออเดอร์ที่จองซื้อขายล่วงหน้า พอถึงราคาที่กำหนดโบรกก็จะทำการซื้อขายให้  มันก็จะกลายเป็น buy หรือ sell ไม่ใช่ limit อีกต่อไปครับ

if(OrderType()==OP_SELLL

speed0ne:

--- Quote from: D_Diamond on พฤศจิกายน 21, 2018, 10:29:33 pm ---pending คือออเดอร์ที่จองซื้อขายล่วงหน้า พอถึงราคาที่กำหนดโบรกก็จะทำการซื้อขายให้  มันก็จะกลายเป็น buy หรือ sell ไม่ใช่ limit อีกต่อไปครับ

if(OrderType()==OP_SELLL

--- End quote ---
ขอบคุณครับ ผมทำให้มันเลื่อนได้แล้วแต่ดันขยับขึ้น-ลงรัวๆทุกครั้งที่ราคาเคลื่อนไหวเลย ผมควรจะใช้เงื่อนไขอะไรที่ทำให้มันเลื่่อนทางเดียวไหมครับ เช่นถ้าราคาปัจจุบันลง tp เลื่อนลงตามแต่ถ้าขึ้นราคาไม่เลื่อน หรือถ้าราคาปัจจุบันขึ้น tp เลื่อนขึ้นตามแต่ถ้าราคาลง tp ไม่ขยัย

D_Diamond:
ก็ตรวจสอบราคาเทียบกับ sl tp ก่อนส่งคำสั่ง modify ครับ

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

นำร่อง

[0] ดัชนีข้อความ

Go to full version