//---------------------расчет по истории ордеров номера очередной итерации-----------------------------------------------
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;
}
}
}
}
}
皆さん、こんにちは。履歴検索でロットの数量が返ってこないのですが。こんなやり方でいいのでしょうか?
ロットはプログラムによって変更されますが、ロット0.1を返します。チケットは正しく表示されます(変更)。コードアナログ、編集、トライを参照。
ローマン
サイクルは必要ない最後のオーダーのLOTが欲しい、どれでもいい、フィルタリングはいらない。例のLOTについては何もありません。困惑しています。
ローマン
サイクルは必要ない最後のオーダーのLOTが欲しい、どれでもいい、フィルタリングはいらない。例のLOTについては何もありません。困惑しています。
前回の記事を編集しましたので、ご覧ください。
理解できない。ループは、あなたのケースのように、何らかの基準でフィルタリングする必要がある場合に必要です。私の仕事はもっと単純で、履歴から最後の注文を取ることです。定義上、クローズドであり、マーケットにオープンポジションは存在しない。チケットは正しく返送されるが、ロットは返送されない。
自分のもの!? 検索を使いこなそう:-)
ステップの数は少なくなりましたが、まだ残っています。 また、どのように形成されているかは不明です。
信号線が絶対的に等しくなる確率は無視できるほど小さいので、比較のための「廊下」を確保するためにMathAbsを設置したのです。
もしかしたら、私の問題について、他の誰かが考えているかもしれません。
このように書いたら、コメントにD_Sigと表示されるようになりました。
皆さん、こんにちは。
bool NewBar() という関数がありますが、boolNewZZ() という関数を作ってください。新しいジグザグニーを出現させる場合→真。
皆さん、こんにちは。
bool NewBar() という関数がありますが、boolNewZZ() という関数を作ってください。新しいジグザグニーを出現させる場合→真。
また、なぜそのような関数なのかというと、最近ZZ、EAでニューロンを作りましたが、そのような関数を使わなかったからです。特に、ほとんどのZZは視覚的な判断しかできないように設計されていますからね。