if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
LastTicket=OrderTicket();
LastPrice=OrderOpenPrice();
LastLots=OrderLots();
if (OrderType()==OP_BUY)
{
Profit=OrderProfit();
lastType=1;
}
if (OrderType()==OP_SELL)
{
Profit=OrderProfit();
lastType=2;
}
OpenOrders++;
}[/PHP]
One cannot assume that the last opened order will always be the latest of the scan loop; this may not to be a problem in BT, but it could be when working on the terminal as the order depends of the sorted column of the trade tab.
An easy and safe way to check if the order is the last one is to compare the TicketNumbers.
Another mistake seems a bad computation of the total profit.
So I suggest something like this :
[PHP]
LastTicket = 0;
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
我也将转发测试(一旦我的桌面再次运行)。
谢谢你的更新
里克
看这个测试
大家好
第一次回测
回溯测试
大家好,第一次回测
遗憾的是
这无疑是个好结果,我有个问题。
你是否计算出了在面对测试12天后出现的9个递增时,不会出现追加保证金的最小账户规模?用500000美元进行测试是成功交易马丁格尔的最佳方式,尤其是在0.1的进展中开始。
我正在用250美元的账户规模进行测试,以接近我能够承受的账户规模。希望当我们测试完neta1o的新EA,并且他有时间进行计划中的修改时,将有可能在250美元的迷你账户上使用它来盈利。
约翰
你只需要等待一下就可以了。
现在Neta10(非常感谢!)已经开始工作,用新的想法重建这个老的EA,让他有一些时间在不干扰其他中间版本的情况下完成这个工作。
编写EA是一件非常个人化的事情,许多程序员把他们的手放在同一个代码中,这很少是一个好主意。亲爱的米歇尔,我不想干扰Neta10的发展。我对他的工作印象深刻并表示感谢。我只是想把这个功能添加到我拥有的其他EA中。我喜欢在其他人提供的EA上进行个人修改,但我绝不会在其他比我强的程序员工作时干涉我的修改。我只是个新手,这也是我来这里寻求帮助的原因。谢谢,我很抱歉。
Neta10,干得好!!!。谢谢
祝福你
La Totona
谢谢你,亲爱的
尊敬的先生
这无疑是个好结果,我有个问题。
你是否计算出了在面对测试12天后出现的9个递增时,不会出现追加保证金的最小账户规模?用500000美元进行测试是成功交易马丁格尔的最佳方式,特别是在0.1的进展中开始。
我正在用250美元的账户规模进行测试,以接近我能够承受的账户规模。希望当我们测试完neta1o的新EA,并且他有时间进行计划中的修改时,将有可能在250美元的迷你账户上使用它来获利。
约翰非常感谢你的良好答复,好的,我明白了
但我认为这个设置要我用netao1 ea 1.3版进行了测试,但我把tp改为20,把pips改为20而不是15。
我认为唯一不好的是增加级别(最大交易量),我认为这个变化会让我们损失更多的钱。
无论如何,我仍然在测试。
谢谢,保重
尊敬的女士们![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
很高兴听到你们还在测试,我今晚晚些时候要做这个,所以我应该有一些更新。
-neta1o
编辑:我发现了一些错误,它没有关闭所有的订单,同时我需要确保目标利润与点位的比例是一致的。
的比例,否则即使它成功了,也会失败。你可能会看到很多没有开市的情况。它每次检查时都会给出这个信息
时都 会给出这样的信息。我以后也会更新这个。
很高兴听到你们还在测试,我今晚晚些时候会研究这个问题,所以我应该有一些更新。
-neta1o
编辑:我发现了一些错误,它没有关闭所有的订单,同时我需要确保目标利润与点位的比例是一致的。
的比例,否则即使成功了也会失败。 你可能会看到很多没有开市的情况。 它每次都会给出这样的信息
时间它检查。 我稍后也会更新这个。-------------------------------------
嗨,Neta10
我注意到在平台协商中,当订单类型为卖出时,Ea作为10point3买入订单的注释;而当订单为买入时,Ea作为10point3空头订单的注释。
致以最美好的祝愿
很高兴听到你们还在测试,我今晚晚些时候会研究这个问题,所以我应该有一些更新。
-neta1o
编辑:我发现了一些错误,它没有关闭所有的订单,同时我需要确保目标利润与点位的比例是一致的。
的比例,否则即使成功了也会失败。 你可能会看到很多没有开市的情况。 它每次都会给出这样的信息
时间它检查。 我稍后也会更新这个。嗨,neta1o,这里也有一个小错误。
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
LastTicket=OrderTicket();
LastPrice=OrderOpenPrice();
LastLots=OrderLots();
if (OrderType()==OP_BUY)
{
Profit=OrderProfit();
lastType=1;
}
if (OrderType()==OP_SELL)
{
Profit=OrderProfit();
lastType=2;
}
OpenOrders++;
}[/PHP]
One cannot assume that the last opened order will always be the latest of the scan loop; this may not to be a problem in BT, but it could be when working on the terminal as the order depends of the sorted column of the trade tab.
An easy and safe way to check if the order is the last one is to compare the TicketNumbers.
Another mistake seems a bad computation of the total profit.
So I suggest something like this :
[PHP]
LastTicket = 0;
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
Profit += OrderProfit();
OpenOrders ++;
if(OrderTicket() > LastTicket)
{
LastTicket = OrderTicket();
LastPrice = OrderOpenPrice();
LastLots = OrderLots();
LastType = OrderType();
LastTime = OrderOpenTime();
}
}
}