//=================================================================================================// Замена расчета среднего на стандартную функцию//=================================================================================================// Старый вариант расчета// for(int j = 0; j < nPeriod; j++)// {// a = a + (iHigh(NULL, 0, i + j) + iLow(NULL, 0, i + j) + iClose(NULL, 0, i + j) * 2) / 4;// } // MaBuffer[i] = a / nPeriod;// a = 0;//=================================================================================================// Новый вариант расчета
MaBuffer[i]=iMA(NULL, 0, nPeriod, 0,MODE_SMA,PRICE_WEIGHTED,i);
//=================================================================================================
このインジケータのオリジナルのstart()関数は以下のとおりです。
この機能は、平均値の計算を使用します。標準機能に置き換える必要がある。
このように見えます。
修正したインジケーターのバリエーションを添付します。
さて、インジケータのロジックそのものについてです(提案されたバージョンが理想的だとは言いません)。
私はもっと好きです
良い例です。しかし、それは理屈よりも最適化のためです。
そして論理も、考える論理。
第三の選択肢は、指標の論理条件を完全に放棄することである。可能なのだろうか、という疑問が湧いてきます。
レッツトライ
このために、いくつかの論理変数を追加してみましょう。
現在、スタート関数のコード全体は
if(counted_bars < 0) return(-1);
どのようなロジックでこのセリフが存在するのでしょうか?
if(counted_bars < 0) return(-1);
どのようなロジックでこのセリフが存在するのでしょうか?
私のセリフではありません。それは、著者の
start()の最適なコード
働き方の選択肢の比較分析
最適な選択肢その2。ブール条件は破棄できない
オプション5は、それを踏まえて
スクリプトのことをすっかり忘れていた
スクリプトのことをすっかり忘れていた
gip さんが批判された部分について補足します。
このように書けるのに、なぜブール変数に踊らされるのか理解できない。