int typ(string t, int m)
{ datetime z=0 ; int p=-1,i;
int d=OrdersHistoryTotal();
if ( t=="0") t=Symbol();
for( i=0;i<=d;i++){
if ( OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) ) {
if ( (OrderSymbol() == t || t=="0" ) && ( OrderMagicNumber() == m || m==-1 ) ){
if ( OrderCloseTime()>z&&OrderType()<=1)
{
z =OrderCloseTime();
p =OrderType();
}}}}
return(p);
}
能否请你解开一个谜团:为什么当我插入这个函数|| isCloseLastPosByTake() == True |||测试器中的专家开始变得非常慢,10倍!这是4个互斥条件中的一个,所以我不能像求和条件那样使用if链来使代码运行得更快。你能给我什么建议?提前感谢您的建议!
你能告诉我如何打开一个买入订单吗?卖出 订单 条件if(OrdersTotal()==0&& ma0<ma1 && ma1<ma2). 我明白,我们应该使用一个开关。 我应该写什么来代替(x,a,b)?
如果(OrdersTotal()==0)
switch(x)case'a':case'b':
提前感谢您!
该函数通过订单来寻找最后一个关闭的订单。改造这个功能,以加快它的速度。在金的程序中,它们都是通用的,这意味着很多不必要的东西可以从它们中删除。同样,一切都取决于你的专家顾问的逻辑。
你能告诉我如何打开一个买入订单吗?卖出 订单条件if(OrdersTotal()==0&& ma0<ma1 && ma1<ma2). 我明白,我们应该使用一个开关。 我应该写什么来代替(x,a,b)?
如果(OrdersTotal()==0)
switch(x)case'a':case'b':
提前感谢您!
只有一个订单会打开,不会超过这个数量,无论是卖出还是买入。
我一直在苦苦思索,为什么该函数会返回-1
呼叫是这样的
所有的订单都在历史中 !
什么会是错误?
我一直在苦苦思索,为什么该函数会返回-1
呼叫是这样的
所有的订单都在历史中 !
什么会是错误?
没有 "0",有 "EURUSD","AUDUSD "等。
没有这样的符号 "0",有 "EURUSD","AUDUSD "等。
如果没有这样的符号,如果( t=="0") t=Symbol(); 那么让t等于我们的符号,EA被连接到这个符号。
如果没有这样的符号,如果( t=="0") t=Symbol(); 那么让t等于我们的符号,EA被连接到这个符号。
我很抱歉,我没有注意到...那么就在这里吧。
最后的订单号是OrdersTotal()-1; 但这不是重点。我试了一下,结果发现在测试器中看不到平仓订单的历史记录,在模拟账户中,你的代码可以工作。
我的代码中没有你写的东西。
我愿意。
int d=OrdersHistoryTotal();
而它首先通过...
好吧,这并不重要,我在代码的其他地方发现了问题 ....