EAを最初にドロップしたチャートのみで動作させる方法 - ページ 4

 

こんな感じでしょうか。

まず、グローバル変数と チャート上のオブジェクトを作成し(手で誤って削除しないように、チャート外のどこかに)、その両方に共通のキーをひとつ「書き込み」ます(たとえば、GetTickCountで取得します)。

他のチャートでの再実行 グローバル変数の存在を確認し、存在すれば、OURチャートで同じキーを持つオブジェクトを検索します。

チャートオブジェクトとグローバル変数は、再起動や再コンパイルにも耐えられる必要があるため、チェックは常に正しく行われます)。

 
ForexTools:

こんな感じでしょうか。

まず、グローバル変数とチャート上のオブジェクトを作成し(手で誤って削除しないように、チャート外のどこかに)、その両方に共通のキーをひとつ「書き込み」ます(たとえば、GetTickCountで取得します)。

他のチャートでの再実行 グローバル変数の存在を確認し、存在すれば、OURチャートで同じキーを持つオブジェクトを検索します。

チャートオブジェクトとグローバル変数は、再起動や再コンパイルにも耐えられる必要があるため、チェックは常に正しく行われます)。

端末がクラッシュした場合、オブジェクトが保存されないことがある。
 
ForexTools:

Expert Advisorは「1つのインスタンス」のみで動作する必要があります。I.e.どのチャートにも初めて添付して、動作するようになりました。その後、偶然または意図的に別のチャートに再度添付すると、2番目の添付はすでに実行されていることを検出し、何もしないはずです。

グローバル変数にラベルを残すのは、おそらくうまくいかないでしょう。2つのEAを添付して、そのテキストを再コンパイルした場合、どちらが先にinitを働かせてこのグローバル変数を作成するのかが不明です。

誰が何を提案できるのか?この方法について、何かご意見はありますか?


また、初期化時にファイルをオープンして書き込みを行う場合は、初期化時にそれを解放する。論理的には、EAの新しいインスタンスは、以前に書き込み用にオープンされたファイルを開くことはできません。例えば5回繰り返したときに、一貫して書き込みのためのファイルを開くという エラーが発生した場合、それはEAの1つのインスタンスがすでに開かれていることを意味します。

 
exhumer:
EAの新しいインスタンスは、以前書き込み用に開いていたファイルを開くことができません。

端末がクラッシュして再起動した後、ファイルは 最初に開いた人が利用できるのであって、最初にリセットした人が利用できるわけではありません :(

もう一度言いますが、特定のチャート、 特定のExpert Advisorが必要です。

 
ForexTools:

あなたの考えは通用しません。

効かないってどういうこと?これは中途半端な主張ではありますが
特に、アイデアしかない(「具体的なレシピ」はともかく)ので、

あなたの "解決策 "をどう考えればいいのですか?;)

まさにアイデア次第です。確認方法を理解するのに十分な知識がない場合は、そう書いてください。実際そうなんだけど、主張として書いたんだよね。少なくとも、「あなたの "解決策 "で何を法則化できるのか」という発言は。;)」は、まさにクレームのように見えます。そして、なぜかトリビアのセット

"should "は "will "ではなく、"there "は "where"?"didn't work "なら

- 未検証の解決策をアドバイスできるわけがない!

解決策を提示されても、あなたは棒で根っこを探すだけでしょう。 これは誰の問題ですか、私ですか、それともあなたですか?いったいなぜ、アイデアの提案を解決策の推奨と認定するのでしょうか。

私の考えでは、質問文はこうです。私がアイデアを出し、あなたがそれをテストし、それがうまくいったら、最低限のお礼として、それがうまくいったと私に知らせてください。

追伸:男さん、MTでの作業のプロを気取っているのだから、興味本位で1chのファイルを調べればよかったのにね。

 
TheXpert:
それならぶっきらぼうにロッカーとして申告して問題ない。
なぜ、最もシンプルな選択肢であるこれを使わないのか?Expert Advisor は制御ファイルを作成し、ファイルが存在するかどうかを確認してから実行します。同名のファイルが既に存在する場合、Expert Advisorは起動しません。EAが正しくチャートを終了すれば、ファイルは消去されます。クラッシュが発生した場合、残ったファイルはEAのインスタンスの起動をブロックし、動作を継続させるために手動で削除されます。
 

Candid:

それは誰の問題なのか、私なのか、それともあなたなのか?いったいなぜ、自分の提案したアイデアを解決策の提言と認定するのでしょうか。

なぜなら、最初の投稿で私が求めたのはまさにそれだったからです。だからこそ、私はあなたの考えをそのように受け止めたのです。

MTでの作業のプロを気取っているようですが。

だから、DOTOも含めて、多くの「アイデア」の妥当性を見ているのですが......。;)

もし私が間違っているなら、2つ目のコピーが実行されないようにするためだけのEAコードを書いて、再コンパイルしてターミナルを再起動したときに本当に動作するかどうかチェックして、そのコードをここに投稿してください。)

 
granit77:
クラッシュが発生すると、残りのファイルは...でブロックされます。

の2つのチャートがあり、1つは動作中のEAがファイルを保持しており、もう1つはファイルがロックされているため動作していないEAのコピーがあります。

は、端末がダウンしているか閉じています。

(再)起動 すると、2つのEAがファイル読み込みのチェックを始める。前回ブロックされたものではなく、本当の最初のものが最初に掴むという保証はあるのだろうか?:(

3回目ですが、CHARTと EXPERTの間のリンクが必要ですが、あるExpert Advisorを別のExpert Advisorでブロックすることはできません。

 
granit77:
なぜ、最もシンプルな選択肢であるこれを使わないのか?
いえいえ、それはどのインスタンスを実行しても問題ない場合だけです。