//---------------------расчет по истории ордеров номера очередной итерации-----------------------------------------------
Iteration = 0; // зануляем инерации перед их учетом в цикле по истории
Sum_Loss = 0; // суммарный убыток по этим итерациямdatetime
Time_at_History_Current = 0,
Time_at_History_Previos = 0;
if(OrdersHistoryTotal() != 0)
{
for(int counter = OrdersHistoryTotal()-1; counter >= 0; counter--)
{
OrderSelect(counter, SELECT_BY_POS, MODE_HISTORY);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
{
if(OrderType() == OP_BUY || OrderType() == OP_SELL)
{
if(OrderProfit() < 0) // если убыток по выбранному ордеру, то считаем суммарный и записываем время закрытия ордера// для последующего его анализа при подсчете количества итераций
{
double lastLoss = OrderProfit();
Sum_Loss=Sum_Loss+lastLoss; // считаем общий убыток по закрытым подряд убыточным ордерам
Time_at_History_Current = OrderCloseTime();
}
//Print(" Time_at_History_Current_в цикле = ", TimeToStr(Time_at_History_Current, TIME_DATE|TIME_SECONDS));//Print(" Time_at_History_Previos_в цикле = ", TimeToStr(Time_at_History_Previos, TIME_DATE|TIME_SECONDS));if(Time_at_History_Current != Time_at_History_Previos) // если они не равны, то считаем итерации и делаем их равными
{
Time_at_History_Previos = Time_at_History_Current ;
Iteration++;
//Print("Iteration at History в условии сравнения = ", Iteration);
}
else// они равны, то проверяем, дополнительно, наличие профита по выбранному следующему ордеру и выходим из цикла
{
if(OrderProfit() >= 0)
break;
}
}
}
}
}
问题 如何计算一系列的亏损订单 ????
我想知道有多少个订单在停止时关闭,以检查战术......特别是最后一个
伙计们,我真的需要它 .....
这是我对自己的计算方法。
迭代=连续多少次订单在止损点平仓,如果在你的意义上,止损点是一个亏损的平仓。
谢谢! 但根据我的理解,这段代码可以在历史中找到整个系列,无论它是100个交易之前还是5个.....。
不,从最接近的平仓中选择,深入到历史中,当平仓变成盈利时,系列就会被打断,输出连续亏损交易的数量=迭代。
下午好。
这将是正确的组合吗?
我喜欢这个人:)
我喜欢这个人:)
这里有一个错误吗?
我需要返回Spread==0的那一栏的值。
如果没有找到这样的值,返回-1。
你好。
问题:OrderSend()执行后能否返回一个 "0 "的值,或小于"-1"?有人遇到过这样的事情吗?或者说,"文件 "中给出的信息是否正确。
返回交易服务器分配给订单的票据号码,如果失败,则返回-1。
我做了一个带水平线的虚拟拖网,在测试器中运行良好,但在优化过程中,测试器可能无法使用这些线,为什么?如何解决?
为什么你需要一条横线?将该行的值存储在一个变量中,你就会很高兴了!!!而且,专家顾问会 "思考 "得更快!而且你可以留下水平线,只是为了视觉效果。
原因如下:测试员只在视觉模式下与图形对象一起工作!这就是为什么测试员要在视觉模式下工作。在优化时,根本没有视觉模式...虽然,你可以尝试在图表中的TF和货币对名称后面的括号中留下 "视觉"。但我不知道这是否会有帮助。我没有检查过。我想这是有帮助的,因为我们可以看到订单在这个图表上出现和消失(之前用于可视化测试)(尽管图表还没有被激活)。也许有人会告诉我们!
我给你的建议是--不要使用从图形对象中提取参数的方法。让这些参数存储在变量中...不要让图形对象成为一个变量!:))))
你好。
问题:OrderSend()执行后能否返回一个 "0 "的值,或小于"-1"?有人遇到过这样的事情吗?或者说,"文件 "中给出的信息是否正确。
P.S.:作为心灵感应者工作,寻找别人代码中的错误...海!
为什么不呢?如果一个订单由于重新报价 而未被打开,例如:。
对于这一点,有一个真实开单的循环,例如,这样的--尝试开单的次数与错误处理。