記事「エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第1部):オシレーター」についてのディスカッション

 

新しい記事「エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第1部):オシレーター」はパブリッシュされました:

この記事では、オシレーターカテゴリから標準的な指標を検討します。パラメータの宣言と設定、指標の初期化と初期化解除、EAの指標バッファからのデータとシグナルの受信など、EAですぐに使用できるテンプレートを作成します。

指標をEAに組み込み、指標バッファのデータをEAで使用することは、参考資料を常に閲覧する必要はありますが、かなり簡単な作業です。指標作成関数に渡されたすべてのパラメータを記憶し、そのうちのいくつかをEA入力として形式化し、有効性チェックなどを導入する必要があります。データを得るためには、必要なデータを目的のバーから返す関数を書く必要があります。これには、ヘルプへのアクセス、必要な変数のEAへの入力、シグナルを決定するためのデータの受信と監視のための関数の記述などに時間を費やす必要があります。

この記事の目的は、EAに指標を含めるためのテンプレートを作成することです。オシレーターカテゴリの指標、その入力変数、指標ハンドルの作成、必要なデータの取得について見てみましょう 。


作者: Artyom Trishkin

 
なぜウィントからイントなのか、そもそもなぜそのようなデザインを望むのか。
//--- 計算期間を設定し、必要に応じて調整する。
   period=int(InpPeriod<1 ? 14 : InpPeriod);

入力が定数であることは理解しています。ただ、その作業が想像できない

まあ、マイナスをつけるバカに対する防御としてだけだが、それなら、その人がミスをしたというアラートがあったほうがいいだろう。

 
Valeriy Yastremskiy #:
なぜuintからintなのですか?

入力が定数であることは理解している。ただ、その作業が想像できない

まあ、マイナスを入れるバカに対する防御としてだけだが、それなら、その人がミスをしたというアラートがあったほうがいいだろう。

InpPeriodは入力変数のinputである。そこにマイナスを入れることはできない。ゼロを入れることはできる。このような(1未満の)チェックは、ゼロと数値を直接比較しないようにするための習慣である。もし他の似たような構文で突然double型の入力変数があれば、2つのdouble数値の直接比較を避けることができる。そう、これは "馬鹿にできない "ことなのだ。コードを他の場所に移植するときにミスを少なくするためだ。

 
Artyom Trishkin #:

InpPeriod - 入力変数の入力。そこにマイナスを入れることはできない。ゼロを入れることはできる。このような(1未満の)チェックは、ゼロと数値を直接比較しないようにするための習慣である。もし他の似たような構文で突然double型の入力変数があれば、2つのdouble数値の直接比較を避けることができる。そう、これは "馬鹿にできない "ことなのだ。コードを他の場所に移植するときにミスを少なくするためだ。

まあ、そうだね、uintだしね)))))マイナスは付けられない))))

 
Valeriy Yastremskiy #:

まあね、ウィント))))))マイナスはつけられない))))

ゼロは?

 
Alexey Viktorov #:

ゼロは?

ゼロも可能です。しかし、この場合、インジケーターはデフォルト値に設定されます。

しかし、あなたの質問のポイントは別のところにあります。

しかし、私は推測しません。

 
Artyom Trishkin #:

また、ゼロも可能である。しかしこの場合、インジケータはデフォルト値に設定される。

しかし、あなたの質問のポイントは別のところにあります。

しかし、私は推測しません。

その通りだ。推測する必要はない。ヴァレリーへの質問だ。マイナスはダメだけど、ゼロは?

 
Alexey Viktorov #:

ゼロは?

だからゼロは現行)))フールプルーフ設計としては問題ない))))

そして、キーボードにマスクをつけて、数字だけが押され、他のキーは押されないようにすることもできる))))))90年代の兵士はそうしていた))))))そして他のキーを押すと、大きな文字で警告が表示された)))