MQL4に関する質問 - ページ 5

 
ここでもうひとつ...。
ソフトウェアを使用して、ウィンドウからインジケータとExpert Advisorをアンロードする方法はありますか?
あるいは、ロードもアンロードもしない?
 
いいえ。
 
よし...
 
ユーザー (Expert Advisorやスクリプト)が作成した MessageBoxが 画面に表示されている場合、MTを制御するためのオプションが用意 されています。
例えば、右クリックメニューが利用できます。これにはEAs>>Deleteがあります。
このRemoveをクリックしても何も起こりません。

これはあるべき姿なのか、それとも故障なのか?もしかして、MessageBoxのOKなどのボタンを押すまでMTを利用できないようにすることを意味しているのでしょうか?

MessageBoxがMTによって作成さ れた場合(例:スクリプトを読み込む際に、あるタイムフレームから別のタイムフレームに移動しようとした場合)、MTは使用 できません。
 
そうですね...

init() 内でAlert() を使用することはできないのでしょうか?

私のスクリプトでは、そのような使い方をするとMTがブロックされてしまうので、オーバーロードする必要があるのですが...。
何が問題なのか理解するのに時間がかかりました。
これは正常な状態なのか、それとも不具合なのか?
 
<br /> これは当たり前なのか、それとも不具合なのか?

けちん坊
 
スラワさん、
お返事ありがとうございました。

また、この不具合は何が原因なのか、明らかにしてください。
MTの欠陥なのか、私のやり方が悪いのか?

184のビルドを使用しています。すべてのプログラムをアンロードし、Expert Advisorと indicatorsを削除 し、そのようなスクリプトを1つだけ配置しました。
int init() { int A=0; Alert ("A = ",A); return; }.


そしてトレイダは退場...。どうすればいいのか?

 
さて、このスクリプトを別のマシン(W98、ビルド183)で試してみました。
トレイダが激しくクラッシュして二度と起動しなくなり、マシンを再起動する羽目になった。
 
また、この不具合の原因を明らかにしていただけないでしょうか。<br / translate="no"> これは MT の欠陥なのか、それとも私が何か間違ったことをしているのでしょうか?

欠点



どうしたらいいのでしょうか?

新しいビルドがリリースされるまで、スクリプトの初期化時にアラートを使用しないでください。
 
スラワ
OK、ありがとうございます。

その場合、
deinit() でObjectDelete() が失敗するためには、deinit() に Alert() を入れてはいけないということも考慮に入れておくとよいでしょう。
また、この場合、Alert()自体は正しく動作し、何もハングアップしません。