記事についてのディスカッション - ページ 2

 
記事の展開が悪い。
パラメータの例
  • ゼロバー時間
....
このようなパラメータはどこに格納するのか?
  • グローバル ターミナル変数
  • グラフィカルオブジェクト
  • オーダーコメント
  • テキストファイル
なぜゼロバーの時刻を指定された場所に保存するのですか?

表から:ファイルの寿命はファイルの寿命によって制限される。グローバル変数のライフタイムは、グローバル変数のライフタイムによって制限される」 :)))) のどこが気に入らないのだろうか?

任意のデータをグローバル変数に詰め込むには、ユニオンを使うのがよい。

バイナリ・ファイルについては何も言われていないが......。
 
最近、アイデアやアプローチの複雑さという意味で記事のレベルが下がってきているが、もちろんすべてではない。
 

...

ご存知のように、Expert AdvisorのOnInit ハンドラは、起動時だけでなく、タイムフレームが変更されたときにもトリガーされます。実際、タイムフレームが切り替わるたびに、Expert Advisorのパラメータ以外の変数はリセットされ、再度初期化されます。

...

正しくありません。これはインジケータで起こることです。パラメータが変更され、チャートのシンボル/タイムフレームが変更されても、Expert Advisorは再初期化されません。

さて、Expert Advisor/インジケーター/サービスなどの間での情報の転送についてです。

  1. グローバルターミナル変数 - ロボットはリアルマネーで取引しており、その作業は、インジケータ、スクリプト、他のエキスパート、ユーザーの子供、いたずらしたユーザー自身など、誰もがアクセスできるデータに基づいています。
  2. チャート上のグラフィカル・オブジェクトも同じです。
  3. 注文のコメント - DCはそれを変更することができます(おっと)。
  4. ファイル(バイナリの方が良い) - おそらく記事に挙げられているものの中で最も良いものだろうが、開発者はファイル共有の同期についての質問に答えていない(あるいは私が見落としていた)。そして、それは松葉杖だ。

残るはEventChartCustom(...)だけだが、これには欠点がある。

だから、dllのインポートを許可するボックスにチェックを入れて、正しいことを始めてほしい。

 
Aliaksandr Hryshyn:
1) 記事の展開が稚拙である。
パラメータの例
  • ゼロバーの時間
2) なぜゼロバーの時刻を提案された場所に保存するのか?

3) 表から:ファイルの寿命はファイルの寿命によって制限される。グローバル変数のライフタイムはグローバル変数のライフタイムによって制限される」のどこがいけないのでしょうか?)

4) 任意のデータをグローバル変数に詰め込むには、ユニオンを使うのがよい。

5) バイナリファイルについては何も書かれていない...。

1) 司会者に褒められました。

2) バー分析を繰り返し実行しないようにするため。

3) ファイルの寿命はグローバル 変数の寿命より長い。

4) パッキングの方法の一つを示した

5) 使わない

 
Vladimir Simakov:

...

a) 正しくない。これはインジケータで起こることです。パラメータが変更され、チャートのシンボル/タイムフレームが変更されても、Expert Advisorは再初期化されません。

さて、Expert Advisor/インジケーター/サービスなどの間の情報転送についてです。

  1. グローバルターミナル変数 - ロボットはリアルマネーで取引しており、その作業は、インジケータ、スクリプト、他のエキスパート、ユーザーの子供、いたずらしたユーザー自身など、誰もがアクセスできるデータに基づいています。
  2. チャート上のグラフィカル・オブジェクトも同じです。
  3. 注文のコメント - DCはそれを変更することができます(おっと)。
  4. ファイル(バイナリの方が良い) - おそらく記事に挙げられているものの中で最も良いものだろうが、開発者はファイル共有の同期についての質問に答えていない(あるいは私が見落としていた)。ああ、そしてそれは松葉杖だ。

b)だから、dllのインポートを許可するボックスにチェックを入れて、正しくやり始める。

a) Expert Advisor変数の再初期化が行われないことに同意する。

1-2) EAとスクリプト間のやり取りについて話しています。必要であれば、情報を暗号化することができます。)

3) MT4では、DCは最後に何かを追加することができます。MT5にはそのようなものはない。)

4) 通常はFILE_SHARE_READ フラグを使う。

int file = FileOpen(path, FILE_SHARE_READ|FILE_UNICODE);

b) 自分自身のためにやるのであれば、よく言われるように「フラグを手に......」。

市場向けにやるなら、DLLは通らない。

 
Malik Arykov:

(a) EA変数の再初期化がないことに同意する。

1-2) Expert Advisor とスクリプト間のやり取りについて話しています。情報を暗号化することは可能です。)

3) MT4では最後に何かを追加する。少なくとも私には、MT5にはそのようなものはありません。

4) 私は通常、FILE_SHARE_READ フラグを使用します。

b)自分のためにやるのであれば、よく言われるように「フラグを手に......」。

市場のためにやっているのであれば、DLLはそこには通りません。

1-2)だから、暗号化してもしなくても、変更・削除はできる))))))

3)できないと明言されていないのであれば.個人的には、「できない」と思います。

4) そのことではなく、異なるスレッドからリソースを共有する際のデータ「競合」の状況について話しています。添付の2つのスクリプトを異なるグラフで実行してください。最初に書き込みを実行する。これがメタクォートに関する私の長年の疑問に対する答えだ。そしてまた、ようやくたどり着いたテスト結果(TCに感謝)と、彼らへの質問:ネイティブの同期プリミティブはどこにあるのか?

これはまた、なぜプロが顧客に莫大な警告書を出さずに、市場でそのようなことをするのは、何となくマズイと思うのかの答えでもある。

ファイル:
write.mq5  2 kb
read.mq5  2 kb
 
Vladimir Simakov:

....

私の記事のすべての例は、私のEAとスクリプトで問題なく動作しています。

 
Malik Arykov:

私の記事のすべての例は、私のEAとスクリプトで問題なく動作しています。

私の投稿は、何が機能しないかについてではなく、データのセキュリティと完全性が確保されていないという事実についてです。上記のすべてのデータ転送方法を使用する場合、メカニズムの信頼性は保証されません。さらに、これはサードパーティシステムのバグ(ターミナル、OS、ハードウェアのバグ)の可能性ではなく、方法そのものに関係している。グローバルターミナル 変数の場合、名前やユーザーアクションの衝突、グラフィカルオブジェクトの同じ+削除機能、異なるスレッドからファイルへの読み書き操作の同期不足などである。

確かに、この確率は非常に低い値まで下げることはできるが、0にはできない。それを肝に銘じておくべきである)

 
Vladimir Simakov:

私の投稿は、何が機能しないかについてではなく、データの安全性と完全性が確保されていないことについてだ。上記のすべてのデータ転送方法を使用する場合、メカニズムの信頼性は保証されません。さらに、これはサードパーティシステムのバグ(ターミナル、OS、ハードウェアのバグ)の可能性ではなく、方法そのものに関連している。グローバルターミナル 変数の場合、名前やユーザーアクションの衝突、グラフィカルオブジェクトの同じ+削除機能、異なるスレッドからファイルへの読み書き操作の同期不足などである。

確かに、この確率は非常に低い値まで下げることはできるが、0にはできない。この点に留意すべきである)

パラメータをファイルに保存することで、100%の信頼性が得られます。すべての "衝突 "は、グローバル変数を含むオブジェクト名の接頭辞によって解決されます。

例えば、レベル・パラメーターは FilesCayman︓Params︓128968168864101576︓exp_05_Lev607A160E_H4.txt に格納されている。ここで、128968168864101576はChartIDである。このファイルについては、この特定のレベルの分析者以外は誰も知らない。この記事からコードの一部を取り出して、それを "壊して "みてください。)もし壊せたら、どこで間違えたか教えてあげよう;-)

 
void OnStart()
  {
   while(!IsStopped())
      for(int i=GlobalVariablesTotal();i>=0;--i)
         GlobalVariableSet(GlobalVariableName(i),MathRand());
  }

好奇心旺盛なユーザーによって実行されるEA/インジケーター/スクリプト/サービスにこのスクリプトのようなものがあれば、存在しない再現不可能なバグを探すのに何週間もかかることになる。)