MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 534

 
PolarSeaman:

そうかもしれませんね。

前日のコンディションはどこにあるのか?0-8期の1次で既にステップが10になることが判明。そして、5であることが必要です。そして、8時以降だけ10時になる。そして、前日からの未決済注文がなければ、step =5を0に戻します。シリーズが継続する場合、そのクローズ前にステップ=10を実行します。
 
PolarSeaman:

要は、EAのように時間間隔を設定すると

インターバルにあるローソク足を計算から除外したいのですが。

インジケーターでは、ループの中で作業します。では、なぜループを抜ける必要があるのでしょうか?

ループの中で反復をスキップする方法を知らないのか?

続ける

 
Tigerfreerun:
前日のコンディションはどこですか?0-8期の1次で既にステップが10になることが判明。そして、それが5であったことが必要です。そして、8時以降だけ10時になる。そして、前日からの未決済注文がなければ、step =5を0に戻します。シリーズが継続する場合、そのクローズ前にステップ=10を実行します。

この関数は、昨日オープンしたオーダーがあれば、труを返すようにします。

   OP_TO(int mn)
     {
     int i, k=OrdersTotal();
      for(i=0; i<k; i++) 
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) 
           {
            if(OrderSymbol()==Symbol()) 
              {
               if(OrderType()==OP_BUY || OrderType()==OP_SELL) 
                 {
                  if(OrderMagicNumber()==mn) 
                    {
                     if(TimeDay(OrderOpenTime())==(Day()-1)
                      &&  TimeMonth(OrderOpenTime())==Month()
                      &&  TimeYear (OrderOpenTime())==Year()) return(True);
                    }
                 }
              }
           }
        }

      return(False);
     }
if(Hour()>=0&&Hour()<=8&&!OP_TO(mag_n))step = 5; else step =10;
 
Artyom Trishkin:

インジケータでは、ループの中で作業しています。では、なぜreturnでループを終了させる必要があるのでしょうか?

ループの中で反復をスキップする方法を知っていますか?

続ける

ありがとうございます。時間が限定されているのに、プリントでは19:30と23:00と5:50と表示されるのですが、どうしたんでしょうか?

   for(int i=limit-2; i>0; i--) 
     {
     if(Hour()>=17&&Hour()<=11)continue;
      if(i%2==0) 
        {
         if(open[i]<close[i] && open[i+1]>close[i+1]) 
           {
            k1++;
           // if(k1>max) {max=k1; dat_max=time[i];}
            if(k1>=4)Print("Num: ",k1,"dat_max ",time[i]);
            SetText("Obj_"+(string)time[i],(string)k1,time[i],high[i],Arr);
           }
         else k1=0;
         
           } else {
         if(open[i]<close[i] && open[i+1]>close[i+1]) 
           {
            k2++;
            //if(k2>max){ max=k2; dat_max=time[i];}
            if(k2>=4)Print("Num: ",k2,"dat_max ",time[i]);
            SetText("Obj_"+(string)time[i],(string)k2,time[i],high[i],Arr);
           }
         else k2=0;
         
        }
      
     }
 
PolarSeaman:

ありがとうございます。プリントに19:30と23:00と5:50と表示されていますが、どうしたのでしょう?

Hour()関数は何を返すのですか?
 
PolarSeaman:

この関数は、昨日オープンしたオーダーがあれば、труを返すようにします。

私にはちょっと複雑なんです。コードのどの部分に追加するのか、mnとmag_nの意味を教えてください。




 
minPrice =NormalizeDouble(GetMinPrice(),Digits); Error: 'minPrice' - semicolon expected.
 
KRIKS:
minPrice = NormalizeDouble (GetMinPrice(),Digits); Error: 'minPrice' - semicolon expected .

minPriceの前のコードを見てください。そこには ; (セミコロン) がない。

 
Ihor Herasko:

minPriceの前のコードを見てください。そこには ; (セミコロン) がない。

int start()

{

minPrice =NormalizeDouble(GetMinPrice()Digits);

maxPrice = NormalizeDouble(GetMaxPrice()Digits); int startの後に(;)を付けることができますか?

 
KRIKS:

int start()

{

minPrice = NormalizeDouble(GetMinPrice()Digits);

maxPrice = NormalizeDouble(GetMaxPrice()Digits); int startの後に(;)を付けることができますか?

{

minPrice =NormalizeDouble(GetMinPrice(),Digits)。

maxPrice = NormalizeDouble(GetMaxPrice(),Digits)。