double Level_new, PointValue,
lots; // вспомогательная переменная для расчета нового размера лота при очередной итерацииint Iteration, Counter_Loss, Ticket_at_history; // счетчик для подсчета последовательного убытка позиций колен лавины//bool Flag_Counter_Loss = false;double Current_Loss, Sum_Loss; // текущий и суммарный убытокint start() // -----------------------СТАРТ ЭКСПЕРТА---------------
{
//---------------------расчет по истории ордеров номера очередной итерации-----------------------------------------------
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;
}
}
}
}
}
if (Sum_Loss < 0.0) { // Имеем убыток по закрытым позамif ((AccountEquity + Sum_Loss) >= AccountBalance) { // Достигли безубытка// Здесь какой-то код, который необходимо выполнить при достижении безубытка
}
}
}// Конец старт
if (Sum_Loss < 0.0) { // Имеем убыток по закрытым позамif ((AccountEquity + Sum_Loss) >= AccountBalance)
{
// Достигли безубытка// Здесь какой-то код, который необходимо выполнить при достижении безубытка
}
}
...并决定--这里也为你提供了 "村民 "分支的一个IANINS的代码部分--计算市场订单的平均价格和PriceTarget的目标价格--这是b/w level + TP。 TP已经由你决定了--也要根据你的需要来调整它。
而不是这个NewOrdersPlaced()和OrderModify()。
你将拥有绘制(设置)你的B/U线的水平 - 整个马赛克在你手中 - 编辑。
这里是我的代码部分--负责核算这个特定EA的连续亏损交易的总损失(根据魔术师的说法)。我为我的版本的网状雪崩做的--根据你的需要调整它--代码被注释了...
全局变量
这段代码片段之后是一个循环,通过这个非常EA的未结订单,并计算其总利润。之后,你把这个值与变量
并作出决定。
Iteration' - 变量未定义 D:\Programs\MetaTrader 4 - RoboForex\experts\NewCobWebPivot.mq4 (234, 17)
Iteration' - 未定义变量 D:Programs/MetaTrader 4 - RoboForex/experts/NewCobWebPivot.mq4 (204, 3)
Iteration' - 变量未定义 D:\Programs\MetaTrader 4 - RoboForex\experts\NewCobWebPivot.mq4 (234, 17)
请看上一页中尤里-雷谢托夫提供给你的简单方法。
如果它不适合你,那么就把你建议的代码部分组装成一个马赛克。
另外关于这个问题,完全拆解猫头鹰的代码可能是有用的--从我的上一篇文章来看--b/w级是CELAN Double_Minus_1分支的IANIN。如果你把它逐骨拆开,会更好地阐明解决你的问题的办法,IMHO。如果你要画一条线,你需要知道如何与物体打交道。这些事情,IMHO,不是一个 "中等水平的程序员 "一眼就能解决的,而且不需要推动......:-)
拖车上的猫头鹰代码和黑白+TP的平均数。
这不是一个错误。日志中的错误用红色而不是黄色图标标示。
那为什么不工作呢?
我这里没有Skype。
试试简化版,看看尤里-雷谢托夫是如何在首页推荐你的--在我的代码后面直接输入他的代码。
请看完整的接收代码与评论。
我没有Skype。
试试简化版,就像Yuri Reshetov在上一页推荐的那样--在我的代码后面直接输入他的代码。
请看完整的接收代码与评论。
'TotalCloseProfit' - 未定义变量 D:\Programs\MetaTrader 4 - RoboForex\experts\NewCobWebPivot.mq4 (251, 24)
最重要的是,当你超过b/w级别时,别忘了在这里输入你的行动代码。