エラー、バグ、質問 - ページ 1157

 
marketeer:
質問の明確化 - 進捗は指標で動くはず。あなたのコードがインジケーターに転送されると、実行時にコメントの表示を停止します。
インジケータをループさせれば、端末全体を「停止」させることができます。 しかし、Expert Advisorでは、スレッドを好きなようにいじることができます。
 
marketeer:
質問を明確にするために - 進捗は、インジケータで動作する必要があります。あなたのコードがインジケーターに転送されると、実行時にコメントの表示を停止します。

MQL4ヘルプより。

実行中のプログラム

MQL4 のプログラムの概要は下表の通りです。

プログラム

実行

備考

スクリプト

自分のスレッドで、スクリプトの実行スレッドの数だけ

ループしたスクリプトは、他のプログラムの作業を中断できない

専門家

独自のスレッドで、専門家の数だけ - 彼らのための実行スレッドの数だけ

ループした専門家は、他のプログラムの作業を中断させることはできません

インジケーター

1つのシンボルに対して、すべてのインジケータを1つの実行スレッドで実行します。インジケータ・シンボルの数だけ、その実行スレッドがある

あるインジケータが無限ループになると、このシンボルの他のすべてのインジケータが停止する

 
barabashkakvn:
インジケータをループさせると、端末全体が「ハング」してしまいますが、Expert Advisorならフローを思いのままに楽しめます。

まあ、インジケータで端末がハングアップするのは、端末自体の欠点ではあるんだけどね。特に、バッファの可視化が必要なため、スクリプトのタスクではありません。

インジケータにはループするものがない--無限ループがないという意味で。制御された計算がありますが、時間がかかります。

 
marketeer:

...

ターキーでは何もループしていない--無限ループがないという意味で。制御された計算があるが、時間がかかる。

どのインジケータ関数呼び出しで 計算を行うか?
どうしてもそのような計算が必要な場合は、「一括計算」するのが理にかなっています。

 
ここにトピックがあったhttps://www.mql5.com/ru/forum/23162
Порционное вычисление в индикаторе
Порционное вычисление в индикаторе
  • www.mql5.com
Индикатор производит вычисление одного значения для бара достаточно длительное время (запрос к БД, вычисление на стороне БД, возврат значения функции). - - Категория: технические индикаторы и анализ рынка форекс
 
barabashkakvn:
どのインジケータ関数呼び出しで 計算を行うか?
もし、本当にそのような計算をする必要があるのなら、「一括計算」するのが理にかなっています。

ハードコードは計算部分にあり、イナートにはないのですが、それが問題なのでしょうか。"一括計算 "は、中間状態の保存と復元に別途手間がかかり、処理自体が遅くなってしまいます。それは仕方がないことです。
 
joo:
では、結局のところ、ターミナルで削除された場合、コンソールコンパイラはどのように使うのでしょうか?

なぜ端末に搭載されているのか?端末はすべて自前です。

コンパイラは別のところに置けばいい。

 
Renat:

なぜ端末に搭載されているのか?端末はすべて自前です。

コンパイラは別のところに置けばいい。

たしかに、コンパイラを端末とは別のフォルダに置いておくという逃げ道は理解できますね。しかし、新鮮な*.ex5ファイルはターミナルフォルダにも 作成されないので、常に適切な場所に移動させなければならない...ということです。とはいえ、コンパイルしたファイルのパスを指定するコマンドキーがあってもいいのでは?
 
joo:
たしかに、コンパイラを端末とは別のフォルダに置いておくという逃げ道は理解できますね。しかし、新鮮な*.ex5ファイルはターミナルフォルダにも 作成されないので、常に適切な場所に移動させなければならない...ということです。とはいえ、コンパイルしたファイルのパスを指定するコマンドキーがあってもいいのでは?

はい、/i キーでデフォルトのディレクトリを指定することができます。

E:\>mql64.exe
MQL4/MQL5 Compiler x64 build 937 (15 May 2014)
Copyright 2001-2014, MetaQuotes Software Corp.

Usage: mql64.exe [<flags>] filename.mq5
                /mql5     - compile mql5 source
                /mql4     - compile mql4 source
                /s        - syntax check only
                /i:<path> - set working directory
 
EX5は、元のmq5ファイルの場所に作成されます。