特定指標のユニークIDジェネレーター - ページ 2

 
angevoyageur:
サブウィンドウ番号の問題は何ですか?
何を考えているのかわかりませんが、テンプレートの適用やリロードの際、CHART_WINDOWS_TOTALのような値は、これまでに読み込んだ合計ではなく、チャート上の指標の合計として報告されます(つまり、それぞれの指標が初期化される際に一つずつ増えるわけではありません)。
 
gchrmt4:
何を考えているのかわかりませんが、テンプレートの適用や再読み込みの際、CHART_WINDOWS_TOTALのような値は、これまでに読み込まれた合計ではなく、チャート上の指標の合計として報告されます(つまり、それぞれの指標が初期化される際に一つずつ増えるわけではありません)。

サブウィンドウは変化する可能性があるため、信頼性がありません。
 
angevoyageur:
サブウィンドウ番号の問題は何ですか?

610/614では、インジケータ自体から正しく取得することはほぼ不可能でした。616では、ほぼ修正されていますが、それでもDeInit()で失敗してしまいます。
 
Ovo:

610/614ではインジケータ自体から正しく取得することはほぼ不可能でしたが、616ではほぼ修正されましたが、それでもDeInit()で失敗しています。
ChartWindowFind()は、私の場合、機能しているようです。いずれにせよ、インジケータを削除して 別のインジケータを追加すると、サブウィンドウの番号が変わってしまうので、信頼性がありません。
 
angevoyageur:
ChartWindowFind()は私の場合、動作しているようです。いずれにせよ、インジケータを削除してから別のインジケータを追加すると、サブウィンドウの番号が変更されてしまうので、信頼性がありません。
ChartWindowFind()の問題は、古いWindowFind()と同じです。同じインジケータの複数のインスタンスがある場合、例えば、異なる期間の計算を示す2つのRSIウィンドウ(または同じ期間だが他のパラメータに 変更があり、IndicatorShortNameの呼び出しに反映されていない)のような場合は意味がないのです。
 
gchrmt4:
ChartWindowFind()の問題は、以前のWindowFind()と同じです:同じインジケータの複数のインスタンスがある場合、例えば、異なる期間の計算を示す2つのRSIウィンドウのような場合は、役に立ちません。

これが、頼りないってことです。

面白い問題ですね。同じインジケータを何度も追加するのは、入力パラメータが 異なる場合のみ意味があると思うので、これらのパラメータから署名を形成する方法が考えられます。勿論、以前提案された解決策の一つでも良いのですが。

 
gchrmt4:
ChartWindowFind()の問題は、古いWindowFind()と同じです:同じ指標の複数のインスタンスがある場合、例えば、異なる期間の計算を示す2つのRSIウィンドウ(または同じ期間、しかしIndicatorShortNameへの呼び出しに反映されていない他のパラメータの変更)がある場合、役に立ちません。

実はChartWindowFindは OnDeinitを除いて616の指標ですでに動作しています。しかし、まだ安定しているとは言えないほどウェットなので、どのID作成でも避けたいところです。

ご意見ありがとうございます、ファイルロックかGetTickCountの 変更待ちのどちらかを選ぶことにします。試行錯誤しています。

 
angevoyageur:

これが、頼りないってことです。

面白い問題ですね。同じインジケータを何度も追加するのは、入力パラメータが異なる場合のみ意味があると思うので、これらのパラメータから署名を形成する方法が考えられます。勿論、以前提案された解決策の一つでも良いのですが。


私は、MQL4の新しいGUIを利用して、その場でパラメータを 設定・変更できるようにしています。ですから、最初の署名は同じで、それでも何度も追加する意味があります。もしそれが可能なら、正しく動作するはずだということは言及されていません。
 
Ovo:

実はChartWindowFindは OnDeinitを除いて616の指標ですでに動作しています。 しかし、まだ安定しているとは言えないほどウェットなので、どのID作成でも避けたいところです。

ご意見ありがとうございます、ファイルロックかGetTickCountの変更待ちのどちらかを選ぶことにします。試行錯誤しています。

これを読みながら、上記のGetTickCountのような時間の使い方を教わりました。

それから、__DATETIME__ ファイルのコンパイル日時について教わりました。

https://docs.mql4.com/constants/namedconstants/compilemacros

皆さんはどう思われますか?

 

教えてもらった」という意味かどうかは分かりませんが。

デバッグ用にいくつか使っていますが、__DATETIME__は まだ使い道が見つかりませんでした...どこを目指しているのでしょうか?