"ダミー "からの質問 - ページ 155

 
input string Periods = "1 2 3 56 78 67";
 
TheXpert:
面白いですね。しかし、テスターから期間を最適化できるようにしたいです。
 
gpwr:
面白いですね。でも、期間を最適化できるようにしたいですね。
最適化は、それぞれの楽器で別々に行った方が良いでしょう。もちろん、可能であればの話ですが。
 
gpwr:
面白いですね。でも、テスターから期間を最適化できるようになるといいですね。

そして、可能な限りのオプションを列挙したenumを書かなければならない。

列挙型はコメントを付けることができ、パラメータには通常通り列挙型の値ではなくコメントが表示されます。

enum ENUM_CUSTOM
{
 tf1_1_1,//1 1 1
 tf1_2_1,//1 2 1
 tf1_2_3,//1 2 3
 tf2_1_1,//2 1 1 
};

大きな列挙型の場合、プログラムによって本体を埋めることができる。

 
Urain:

そうすると、すべての可能性を秘めた列挙を書かなければならない。

いや、それは不器用で鈍感なんだ。

同じように文字列で、ランの番号だけを別パラメータで指定すればいいのです。ランの番号と最適化の文字列を使って、値を取得することができました。

しかし、この場合、遺伝子が正しく働かなくなります。

 
TheXpert:
最適化は各機器で個別に行うのがより適切でしょう。もちろん、可能であればの話ですが。
それは理解できる。テスターでは、同じインデックスのパラメータ(例えば、MAPer[0]、Trig[0]、MaxPrice[0]、MinPrice[0])だけを選び、最適化することにしています。ああ、開発者はこの機能の追加を決定していたはずだ。コンパイラは、まず配列を作り、そこに入力データを書き込むことはそれほど難しいことではないと判断したのだろう。ここで何が問題なのか?なぜ入力データとして配列が許されないのですか?
 
gpwr:
これは理解できる。テスターでは、同じインデックスのパラメータ(例えば、MAPer[0]、Trig[0]、MaxPrice[0]、MinPrice[0])だけを選び、最適化することにしています。ああ、開発者はこの機能の追加を決定していたはずだ。コンパイラは、まず配列を作り、そこに入力データを書き込むことはそれほど難しいことではないと判断したのだろう。ここで何が問題なのか?なぜ入力データとして配列が許されないのですか?
問題はテスターのルックアップのサイズにある。
 

同じMACDでもLWMA(ショートとロングのLWMAの差とその差に基づくシグナルライン)をベースに書き始めました。

LinearWeightedMAOnBufferに置き換えたのですが、形式パラメータ weightsumが一つ「余分」になっています。 確かに重みの合計であることは理解し、意味も理解していますが、どうすればプログラムで生成できるのでしょうか?

Документация по MQL5: Основы языка / Переменные / Формальные параметры
Документация по MQL5: Основы языка / Переменные / Формальные параметры
  • www.mql5.com
Основы языка / Переменные / Формальные параметры - Документация по MQL5
 
progma137:

同じMACDのソースでもLWMA(ショートとロングのLWMAの差とその差に基づくシグナルライン)をベースに書き始めたのです。

LinearWeightedMAOnBufferに置き換えてみましたが、形式パラメータ weightsumが一つ「余計」です。 確かに重みの合計であることを理解して意味を理解すべきですが、プログラム的にどう生成すればいいでしょうか。

生成される必要はないのです。このweightsumを中間貯蔵するための変数を作っておけば、呼び出すたびにその値を再計算する必要はないのです。

この方法では、各コールでウェイトサムが変更され、完全に再計算されないため、計算が大幅に高速化されます。

 
stringo:

生成される必要はないのです。このweightsumを中間貯蔵するための変数を作っておけば、呼び出すたびにその値を再計算する必要はないのです。

この方法では、次のコールでweightsumは完全に再計算されるのではなく、修正されるため、計算が大幅に高速化されます。

ありがとうございます。この変数をグローバル変数として宣言したところ、うまくいきました。