[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 186

 
Pyro:

皆さん、こんにちは。履歴検索でロットの数量が返ってこないのですが。こんなやり方でいいのでしょうか?


ロットはプログラムによって変更されますが、ロット0.1を返します。チケットは正しく表示されます(変更)。


コードアナログ、編集、トライを参照。

 //---------------------расчет по истории ордеров номера очередной итерации----------------------------------------------- 
  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;
               }
            }
         }
      }
   }
 

ローマン


サイクルは必要ない最後のオーダーのLOTが欲しい、どれでもいい、フィルタリングはいらない。例のLOTについては何もありません。困惑しています。

 
Pyro:

ローマン


サイクルは必要ない最後のオーダーのLOTが欲しい、どれでもいい、フィルタリングはいらない。例のLOTについては何もありません。困惑しています。


前回の記事を編集しましたので、ご覧ください。
 
理解できない。ループは、あなたのケースのように、何らかの基準でフィルタリングする必要がある場合に必要です。私の仕事はもっと単純で、履歴から最後の注文を取ることです。定義上、クローズドであり、マーケットにオープンポジションは存在しない。未決済の注文は 使用しません。つまり、最後の注文は間違いなくマーケットになる。チケットは正しく返送されるが、ロットは返送されない。
 
Pyro:
理解できない。ループは、あなたのケースのように、何らかの基準でフィルタリングする必要がある場合に必要です。私の仕事はもっと単純で、履歴から最後の注文を取ることです。定義上、クローズドであり、マーケットにオープンポジションは存在しない。チケットは正しく返送されるが、ロットは返送されない。

自分のもの!? 検索を使いこなそう:-)
 
ありがとうございました :)問題は別のところにあった。
 
MK07:

ステップの数は少なくなりましたが、まだ残っています。 また、どのように形成されているかは不明です。

信号線が絶対的に等しくなる確率は無視できるほど小さいので、比較のための「廊下」を確保するためにMathAbsを設置したのです。

もしかしたら、私の問題について、他の誰かが考えているかもしれません。


このように書いたら、コメントにD_Sigと表示されるようになりました。

         D_sig=MathAbs(Signal1Buffer[0]-Signa13Buffer[0]);                              // разница между сигнальными линиями 1-ого и 3-ого MACD на
                                                                                        // нулевом баре
if(D_sig==0)  {   D_sig_Last=D_sig; }
      
//       break;          
             
           
              
         
         j++;
         
}             
     
      Comment( "\n"," Баров = ",WindowBarsPerChart()-1, 
               "\n"," Macd1Buffer = ",DoubleToStr(Macd1Buffer[0],4),
               "\n"," Signal1Buffer = ",DoubleToStr(Signal1Buffer[0],4),
               "\n"," Macd3Buffer = ",DoubleToStr(Macd3Buffer[0],4),
               "\n"," Signa13Buffer = ",DoubleToStr(Signa13Buffer[0],4),
               "\n"," D_sig = ",DoubleToStr(D_sig,4));
 
EA名形成の「好きな原理」を提案する--行動原理が考慮され、バージョンも上がることなど。
 

皆さん、こんにちは。

bool NewBar() という関数がありますが、boolNewZZ() という関数を作ってください。新しいジグザグニーを出現させる場合→真。

 
gince:

皆さん、こんにちは。

bool NewBar() という関数がありますが、boolNewZZ() という関数を作ってください。新しいジグザグニーを出現させる場合→真。


また、なぜそのような関数なのかというと、最近ZZ、EAでニューロンを作りましたが、そのような関数を使わなかったからです。特に、ほとんどのZZは視覚的な判断しかできないように設計されていますからね。