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