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)
{
// Достигли безубытка// Здесь какой-то код, который необходимо выполнить при достижении безубытка
}
}
...そして決定する - ここでは、 "村人 "ブランチのILANINSのいずれかのコードセクションもあります - 市場注文の平均価格とPriceTargetの目標価格の計算 - これは、レベル+ TPのB / Wです。 TPはすでにあなたの裁量で、あなたのニーズにも合わせて調整してください。
このNewOrdersPlaced()とOrderModify()のかわりに
B/Uラインを描く(設定する)レベル、つまりモザイク全体があなたの手の中にあるのです。
以下は私のコードセクションです。この特定のEAの連続した負けトレードの総損失を計算する役割を担っています(マジシャンによれば)。私のバージョンのネットのアバランチ用に作りました - あなたのニーズに合わせて調整してください - コードはコメントアウトされています...
グローバル変数
このコードに続いて、このEAの未決済注文をループして、その合計利益を計算します。その後、この値と変数
と判断してください。
Iteration' - variable not defined D:\ProgramsMetaTrader 4 - RoboForex﹑NewCobWebPivot.mq4 (234, 17)
Iteration' - 変数が定義されていません D:Programs/MetaTrader 4 - RoboForex/experts/NewCobWebPivot.mq4 (204, 3)
Iteration' - variable not defined D:\ProgramsMetaTrader 4 - RoboForex﹑NewCobWebPivot.mq4 (234, 17)
前ページでユーリ・レシェトフが提案した簡単な方法をご覧ください。
もし、それが自分に合わないのであれば、自分の提案するコード部分をモザイク状に組み立ててください。
また、owlのコードを完全に分解することも有効かもしれません。前回の投稿によると、白黒レベルはCELAN Double_Minus_1ブランチのILANINです。骨ごとに分解してみると、より問題の解決方法が明確になると思います、IMHO。線を引くのであれば、オブジェクトを扱う 方法を知っておく必要があります。これらのことは、IMHOでは、「中堅プログラマー」が一目見て、押しも押されぬように解決することはできない...と考えています。:-)
平均化でコードフクロウ、トレーラーで白黒+TP。
これはエラーではありません。ログブック内のエラーは、黄色のアイコンではなく、赤色のアイコンが表示されます。
では、なぜうまくいかないのでしょうか?
こちらにはSkypeがないんです。
簡易版では、Yuri Reshetovがフロントページでどのようにあなたを推薦しているかを見ることができます - 私のコードの直後に彼のコードを入力してください。
コメント付きの受信コード全文をご覧ください。
Skypeは持っていない。
前のページでYuri Reshetovが推奨していたように、簡略化したバージョンを試してみてください - 私のコードの直後に彼のコードを入力してください。
コメント付きの受信コード全文をご覧ください。
'TotalCloseProfit' - variable not defined D:\ProgrammingMetaTrader 4 - RoboForex NeitherexpertsNewCobWebPivot.mq4 (251, 24)
一番重要なのは、ここで白黒レベルを超えたら、あなたのアクションコードを入力するのを忘れないでください。