// Used to keep global variablesexternint MagicNumberLong = 6658641; //Identifies long positionsexternint MagicNumberShort = 4167090; //Identifies short positionsdouble LastOpenPrice(int ordertype)
{
double OpenPrice;
datetime lastOpen;
for ( int pos = OrdersTotal()- 1 ; pos >= 0 ; pos--)
if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/
&& OrderMagicNumber() == MagicNumberLong || MagicNumberShort // my magic number // <------- what Magic Number do you use when you place a trade ? it must match ! !
&& OrderSymbol() == Symbol() // and my pair. // magic.number should be a Globally defined variable that has your Magic Numer
&& OrderType() == ordertype
&& OrderOpenTime() > lastOpen )
{
OpenPrice = OrderOpenPrice();
break;
}
return (OpenPrice); // <------- this returns the Order Open Price NOT the ticket
}
if ( ((iOpen("EURUSD",PERIOD_H1,0)-0.0030)>=MarketInfo("EURUSD",MODE_BID)) )
{ BUY("EURUSD",B_EURUSD_LS_0,B_EURUSD_TP_0,B_EURUSD_SL_0,B_EURUSD_TS_0,"if ( ( ((iOpen(EURUSD,PERIOD_H1,0)-0.00...") ;}
if ( ( (LastOpenPrice(OP_BUY)-0.0030)>MarketInfo("EURUSD",MODE_BID) ) )
{ SELL("EURUSD",S_EURUSD_LS_1,S_EURUSD_TP_1,S_EURUSD_SL_1,S_EURUSD_TS_1,"if ( ( (LastOpenPrice(OP_BUY)-0.0030)>=MarketInfo(" EURUSD",MODE_BID) ) )") ;}
if ( ( ((iOpen("EURUSD",PERIOD_H1,0)+0.0030)<=MarketInfo("EURUSD",MODE_BID)) ) )
{ SELL("EURUSD",S_EURUSD_LS_0,S_EURUSD_TP_0,S_EURUSD_SL_0,S_EURUSD_TS_0,"if ( ((iOpen(EURUSD,PERIOD_H1,0)+0.00...") ;}
if ( ( (LastOpenPrice(OP_SELL)+0.0030)<MarketInfo("EURUSD",MODE_BID) ) )
{ BUY("EURUSD",B_EURUSD_LS_1,B_EURUSD_TP_1,B_EURUSD_SL_1,B_EURUSD_TS_1,"if ( ( (LastOpenPrice(OP_SELL)+0.0030)<MarketInfo(" EURUSD",MODE_BID) )") ;}
double LastClosePrice(int Order)
{
double ClosePrice;
for ( int pos = OrdersHistoryTotal()- 1 ; pos >= 0 ; pos--)
if ( OrderSelect (pos, SELECT_BY_POS, MODE_HISTORY) // Only my CLOSED orders
&& OrderMagicNumber() == magic.number // my magic number // <------- what Magic Number do you use when you place a trade ? it must match ! !
&& OrderSymbol() == Symbol() // and my pair. // magic.number should be a Globally defined variable that has your Magic Numer
&& OrderType() < OP_BUYLIMIT )
{
Order--;
if (Order == 0) // determines if we have found the Order we are interested in
{
ClosePrice = OrderCloseprice();
break;
}
}
return (ClosePrice); // <------- this returns the Order Open Price NOT the ticket
}
我需要单独的最后一个订单,一个用于买入,另一个用于卖出。
非常感谢。
让我告诉你为什么我想使用LastOpenPrice(OP_BUY)和LastOpenPrice(OP_SELL),因为我想在一些条件下使用它们,例如
if ( LastOpenPrice(OP_BUY) -LastOpenPrice(OP_SELL)) > 0.0090 // 因为这个原因,我需要保留最后一个买入订单和最后一个卖出订单,所以我需要单独的最后一个订单,一个用于买入,另一个用于卖出。
对第4号函数的解释清楚吗?
4号函数。
//我想获得在最后一个平仓单之前的平仓单 ,无论是买还是卖。
4-函数获取并保留最后一个平仓单之前的平仓价格,即买入或卖出。
伙计们。
它真的不起作用
正如你在图片中看到的
我从2011年3月1日至2011年4月11日开始测试该EA
在2011年3月1日的第一个小时里
仓位被打开了 ,但上面的条件中没有人可用。
对第4号函数的解释清楚吗?
4号函数。
//我想获得在最后一个平仓单之前的平仓单 ,无论是买还是卖。
4-函数获取并保留最后一个平仓单之前的平仓价格,即买入或卖出。
第二个选项。
在最后一个关闭的订单之前关闭的买入或卖出的订单 收盘价?
第二个选项。
买入或卖出的订单 收盘价在最后一个收盘价之前?
试试这个 . . .
要获得最后一个买入或卖出订单的最后收盘价,并匹配符号和magic.number,请这样做LastClosePrice(1)
要获得之前的订单,请这样做 . .LastClosePrice(2 )
注意:这段代码在你上面的代码中显示的神奇数字中是不工作 的 . .
各位。
有没有人可以使用teamviewer程序,然后我们将一起访问并检查 什么是真正的问题。
伙计们。
它真的不起作用
正如你在图片中看到的
我从2011年3月1日至2011年4月11日开始测试该EA
在2011年3月1日的第一个小时里
仓位被打开了 ,但上面的条件中没有人可用。这让我真的很疯狂
这并不疯狂。 订单被打开是 "合理 "的,因为。
如果上述函数的返回值为零,那么可能会出现下面这种情况
我建议你放置一个 "主 "逻辑,在此之上。 如果函数LastOpenPrice(...)返回0....,你的游戏计划是什么?