[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 168

 

小数点以下4桁の値を四捨五入する方法を教えてください。

こんな計算をしています。

a_M5_461=(Price1_M5_1-4.61*(Price1_M5_1-Price2_M5_1));


ここで、Price1_M5_1 と Price2_M5_1 は気配値の値である。 ただし、a_M5_461は小数点以下4桁ではなく、4.61の掛け算を含む式であれば、それ以上の桁数になります。 値が小数点以下4桁に丸められるようにする必要があります。

どうすればいいのか教えてください。どこにもないんです。

 
FOReignEXchange писал(а)>>

小数点以下4桁の値を四捨五入する方法を教えてください。

こんな計算をしています。

ここで、Price1_M5_1 と Price2_M5_1 は気配値の値である。 ただし、a_M5_461は小数点以下4桁ではなく、4.61の掛け算を含む式であれば、それ以上の桁数になります。 値が小数点以下4桁に丸められるようにする必要があります。

どうすればいいのか教えてください。どこにもないんです。

a_M5_461=NormalizeDouble(Price1_M5_1-4.61*(Price1_M5_1-Price2_M5_1),Digits);
 

ありがとうございました。助けていただくのは2回目です。

ありがとうございます。

 
FOReignEXchange писал(а)>>

ありがとうございました。助けていただくのは2回目です。

ありがとうございます。

やっている指標はそれだけか。それとも他の何か?

 
Vinin >> :

インジケーターはそれだけなのか。それとも他の何か?

しています。急いではいない。インジケータは複雑ですが、自分でやってみたいと思っています。複雑な作業が好きなんです。

 
Vinin >> :

あなたのオプションは機能しません。画面上に数値が表示されている場合は、小数点以下8桁で表示されます。このうち、4つはゼロである。

 
FOReignEXchange писал(а)>>

あなたのオプションは役に立ちません。画面上に数値が表示されている場合は、小数点以下8桁で表示されます。このうち、4つはゼロである。

NormalizeDouble()は計算時に使用し、DoubleToStr()は出力時に使用するとよいでしょう。

 
Vinin >> :

NormalizeDouble()は計算時に使用し、DoubleToStr()は出力時に使用するとよいでしょう。

はい、ぴったりです。いつもありがとうございます。

 

どのようなエラーなのか、アドバイスをお願いします。


extern int RSI_Periods = 14;
extern int Percent_K   = 14;

// double Buffer1[];
double Buffer1[100000];

start() {

   while( i>=0) {

// ============================================================================================
      double Current_RSI, Lowest_RSI, Highest_RSI;

      Current_RSI    = iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, i);
      Highest_RSI    = Current_RSI;
      Lowest_RSI     = Current_RSI;

      for(int x= i+1; x<= Percent_K+ i+1; x++){
         Lowest_RSI  = MathMin( Lowest_RSI, iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, x));
         Highest_RSI = MathMax( Highest_RSI,iRSI(NULL,0, RSI_Periods,PRICE_TYPICAL, x));
      }


      Buffer1[ i]     = (( Current_RSI- Lowest_RSI) / ( Highest_RSI- Lowest_RSI)) * 100;
// ============================================================================================


   Comment(
      "\n",
      "\n", "Buffer1[i+30] = ", Buffer1[ i+30],
      "\n", "Buffer1[i+1] = ", Buffer1[ i+1],
      "\n", "Buffer1[i] = "  , Buffer1[ i],
      "\n",
      "\n"
   );

      i--;
   } // while
}


その結果、Indicator開始時にBuffer1[i+1]とBuffer1[i+30]は0を表示します。

しばらくするとBuffer1[i+1]が0以外の値を示し始める(なぜすぐに示さないのか?)

が、Buffer1[i+30]は0のままです。

- 何に関連しているのか?

 
chief2000 писал(а)>>

どのようなエラーなのか、アドバイスをお願いします。

その結果、Indicator開始時にBuffer1[i+1]とBuffer1[i+30]は0を表示します。

しばらくするとBuffer1[i+1]が0以外の値を示し始める(なぜすぐに示さないのか?)

が、Buffer1[i+30]は0のままです。

- これと何の関係があるのですか?

そして、私は何に匹敵するのか?