สวัสดีครับทุกท่าน พอดีมีปัญหา EA Modify Order ให้ครับครับ
ปัญหามันเกิดที่บรรทัดที่ผมดอกจันไว้(
//*****************************) ไม่ทำงานครับ
โดย concept ของโปรแกรมคือ เปิด order buy และ sell พร้อมกัน เมื่อ Order buy TP แล้วให้ Order sell Modify Order ครับ
แต่ปรากฎว่าเมื่อ Order buy TP แล้ว ปรากฏว่า Order sell ไม่ Modify Order ให้ครับ ซึ่งมันแจ้งเตือน Error 4051 ครับ คือ แจ้งเตือนว่า "ค่าพารามิเตอร์ของฟังก์ชันไม่ถูกต้อง" คือผมก็ลองเช็คแล้วก็ไม่น่าจะมีอะไรผิดครับ รบกวนทุกท่านช่วยแนะนำการแก้ไขด้วยครับ ขอบคุณครับ
ผมลอง back test ด้วย กราฟค่าเงิน UC ครับ (ภาพตามลิงค์ ด้านล่างครับ)
1.รูปแบบกราฟ
https://drive.google.com/open?id=18LYpIq-T0aqVVdOmMkUV0aO6oj3Kk6IE2.setting ก่อนเริ่ม backtest
https://drive.google.com/open?id=1W1u84GnP1KNZGITR_aBZ4aiv6wxQfC4X3.Error ที่แจ้งเตือน
https://drive.google.com/open?id=1NqDeMO1z6u3-kjAtJ0iRftd6fC8qIHexint start()
{
static double pbuy = MarketInfo(Symbol(),MODE_ASK);
static double psell = MarketInfo(Symbol(),MODE_BID);
if(OrdersTotal()==0)
{
int ticketb1 = OrderSend(Symbol(),OP_BUY,0.20,pbuy,3,pbuy-500*Point,pbuy+100*Point,"Ea", 1234,0,Green);
int tickets1 = OrderSend(Symbol(),OP_SELL,0.20,psell,3,psell+500*Point,psell-100*Point,"Ea", 1234,0,Red);
}
int BuyOrder=0;
int SellOrder=0;
for(int i=0 ;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
BuyOrder++;
if(OrderType()==OP_SELL)
SellOrder++;
if(BuyOrder == 0 && SellOrder == 1)
{
OrderModify(tickets1,psell,psell+500*Point,psell-300*Point,0,Red);
//***************************** }
}
return(0);
}