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

 

セルゲイに

はい、ちょっと混乱しました、ありがとうございます。しかし、まだTake Profitの ある注文は選択されていません。


toRoger,abolk:

おっと、問題で忘れていて、気がつかなかった。ありがとうございました。

 
Solree:

はい、ちょっと混乱しました、ありがとうございます。しかし、まだテイクプロフィットのある注文は選択されません。

修正されたループコードはどこにあるのでしょうか?
 

セルゲイに

修正は1回だけで、書く必要はないのでは?でも、どうしてもというなら、どうぞ。

for (int a = 0; a < OrdersTotal(); a++)
    if (OrderSelect(a, SELECT_BY_POS, MODE_TRADES))
        if (OrderComment() == "Aelit" && OrderType() == OP_SELL)
            OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), 0);
 
Solree:

そこには、書かなくてもいいような訂正が一つあるだけだと思いました。でも、どうしてもというなら、どうぞ。

まだわからないのか、説明しよう。

ループの最初で a=0 とOrdersTotal()=2 があります。

最初の削除の後、a=1 とOrdersTotal()=1 になっています。

そうです、2回目は ありません、残るは1回のみです おわかりいただけましたか?

つまり、この問題に対する2つの解決策は何でしょうか?
 

こんにちは!よろしくお願いします。ボリュームの合計を計算するインジケータが必要です。何かがうまくいっていない。

#property indicator_separate_window    
#property indicator_buffers 1       
#property indicator_color1 Blue  
 
double Buf_0[];           
//--------------------------------------------------------------------
int init()                        
  {
//--------------------------------------------------------------------
   SetIndexBuffer(0,Buf_0);       
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);
//--------------------------------------------------------------------
   return;                     
  }
//--------------------------------------------------------------------
int start()                        
  {
   int i,                         
       n,                         
       Counted_bars;              
       double
       Sum;                      

//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted(); 
   i=Bars-Counted_bars-1;           
   while(i>=0)                     
     {
      Sum=0;                 
      for(n=i;n<=i+1;n++) 
        {
         Sum=Sum + Volume[n];    
        }
      Buf_0[i]=Sum;   
      i--;                         
     }
//--------------------------------------------------------------------
   return;                         
  }
//--------------------------------------------------------------------
 

セルゲイに

オーダーセレクトでは、0はポジションでもあります。つまり、2つのオーダーがある場合、それらのポジションは0と1です。

 
Solree:

オーダーセレクトでは、0はポジションでもあります。つまり、2つのオーダーがある場合、それらのポジションは0と1です。

はい、2つのオーダーがあります。そして、OrdersTotalは 2を返します。

もう一度お読みください。

私を信じないのなら、雑誌のPrintを使いなさい

 
prom18:

こんにちは!よろしくお願いします。ボリュームの合計を計算するインジケータが必要です。何かがうまくいっていない。


ええ、うまくいっているようです。

 
prom18:

こんにちは!よろしくお願いします。ボリュームの合計を計算するインジケータが必要です。何かがうまくいっていない。


ええ、うまくいっているようです。

 
Vinin:


うまくいっているようです。

Volume[100]+Volume[99]+...+Volume[1]の意味です。グラフは、増加する曲線のように見えるはずです。