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

 
zaskok3:

何もわかっていないふりをするのはやめよう:背景はフラッシュドライブからドラッグできる。他にも方法はいくらでもある。メインは引きずり出すことです。他人のパソコン自体でやる必要もない。

パスワードを転送し、他人のコンピュータでパスワード保存を有効にして、それを穴と呼んでいるのです。パスワード保存を有効にしたことをギリギリまで隠していたんですね。

結論は論理的です。あなたのクローンのうち12人は、すでに再犯で釈放されています。

 
Renat Fatkhullin:
デバッガで、変数をハイライトするMetaEditorの機能を変更し、使用するすべての変数を自動的に作成する予定はありますか?Qt Creator IDEやVS.NETと同じように、「Qt Creator IDE」を使用することができます。
 
coderex:
デバッガで、変数をハイライトするMetaEditorの機能を変更し、使用するすべての変数を自動的に作成する予定はありますか?Qt Creator IDEやVS.NETと同じように、「Qt Creator IDE」を使用することができます。
はい、間違いありません。
 
Renat Fatkhullin:
はい、そうします。
どのくらいなんでしょうね?
 
Slawa:
グローバル/スタティック変数の初期化については、アプリケーション#1416121をご確認ください。
 
Alexey Kozitsyn:
グローバル/スタティック変数の初期化に関する リクエスト#1416121をご確認ください。

行列に並ぶ。アプリケーションは、まだ2時間しか経っていない。

一般的に、このような質問はフォーラムで行うべきものです。多くの人に影響を与えることができるからです。勝手に引用して、回答させていただきます。

こんにちは。間違っていたら訂正してください。静的変数とグローバル変数は、プログラムを開始する前に一度だけ初期化されます(つまりOnInit()関数です)。従って、プログラムが初期化された場合(OnDeinit()関数が呼ばれた場合)、プログラムはグローバル変数/静的変数の値を「忘れ」、次の実行までにOnInit()で初期値を設定する必要があります。

mql4のExpert Advisorで面白い事実を発見しました。グローバル/スタティック変数を宣言しておけば、例えばOnDeinit()の後、入力パラメータを変更しても、これらの変数の値はリセット されません。しかし、指標では-。 どうすればいいのか?これはエラーのようです。

mql5 (build 1241 x64)で確認しました - 似たようなものです。エキスパートアドバイザーでは - リセットされませんが、インジケーターでは - リセットされます。

これは計画的な行動です。さらに、ドキュメントに 明記されている

インジケーターのロードとアンロード

インジケーターは次のような場合に読み込まれます。

-チャートへのインジケータの取り付け

-端末の起動(端末が前回終了する前にチャートにインジケータが装着されていた場合)。

-テンプレートのロード(テンプレートにチャートに添付されたインジケータが含まれている場合)

-プロファイルを変更 する(プロファイル・チャートの1つにインジケータが添付されている場合)

-チャートのシンボルや期間を変更し、インジケータを 取り付ける。

- インジケーターのリコンパイルに成功 したこのインジケーターがチャートに添付されている場合

-インジケータ入力パラメータの 変更。

以下の場合、インジケータはアンロードされます。

- チャートからインジケータをデタッチ するとき

-端末の クローズ(チャートにインジケータが装着されている場合)

-インジケータがチャートに添付されている場合、テンプレートの読み込みを 行う。

インジケーターが装着されたチャートを閉じる- ターミナルを閉じる(チャートにインジケーターが装着されている場合)。

-プロファイルの 変更、変更するプロファイルのチャートの1つにインジケータが装着されている場合

-チャートのシンボルや期間を 変更する。

-インジケーターの入力パラメータを 変更する。

アンロードとローディングは、すべてのものを完全に初期化する必要があります。

ファイブでは、ご指摘の通り、似たような状況です。

確かに、歴史的にそうでしたので、MQL4ではまずこの動作を変更しました(エキスパートと同じように、つまり皆さんが期待する動作にするために)。しかし、この初期設定に基づく旧来の指標には、多くの疑問が生じました。帰らざるを得なくなった

5では、アーキテクチャの関係ですぐにそうなった。パラメータを変更すると、古いパラメータを持つ古いインジケータは破棄され、変更されたパラメータを持つ新しいインジケータが作成されます。

Input переменные
Input переменные
  • docs.mql4.com
Input переменные
 
Slawa:
行列に並ぶ。アプリケーションは、まだ2時間しか経っていない。

念のため、ここに複製しておきました。

これは計画的な行動です。しかも、ドキュメントに明確に記載 されています。

今、ここと ここを見て きました。それに、スタティック・メモリ・クラスを扱っているのだから、論理的だと思う。そして、やはり、プログラムの種類との関係で確立された技術という形で「キャッチ」があるのであれば、静的メモリクラス(スタティック変数とグローバル変数)のドキュメントにも記述するのが良いと思われます。

備考に追加してください。

 
Alexey Kozitsyn:

念のため、ここに複製しておきました。

ここと ここを 見ただけなんですけどね。それに、スタティック・メモリ・クラスを扱っているのだから、論理的だと思う。そして、やはり、プログラムの種類との関係で確立された技術という形で「キャッチ」があるのであれば、静的メモリクラス(スタティック変数とグローバル変数)のドキュメントにも記述するのが良いと思われます。

備考に追加してください。

どんなコメント?プログラムのロード/アンロードについて?
 
Slawa:
どんなコメント?プログラムのロード/アンロードについて?
インジケーターとExpert Advisorで、静的変数とグローバル変数の初期化が異なるイベントで発生する件について。それに伴い、グローバル変数とスタティック変数に関する 段落の「備考」小項目に追加します。
 

MT5のヘルプです。

IsStopped
 
Проверяет принудительное завершение работы mql5-программы.
 
bool  IsStopped();
 
Возвращаемое значение
 
Возвращает true, если в системной переменной _StopFlag содержится значение, отличное от 0. Ненулевое значение записывается в переменную _StopFlag, если поступила команда завершить выполнение mql5-программы. 
В этом случае необходимо как можно быстрее завершить работу программы, в противном случае программа будет завершена принудительно извне через 3 секунды.

確認したところ、インジケータはチャートから削除されましたが、3秒、10秒、3分...と動き続けています。(IsStoppedは そこでチェックされなかったので、これは問題外です)。

1) 「3秒間強制終了する」と書いてあるのに、実際には動作しないのはなぜですか?

2) チャートから削除されたとき、ユーザーがテストを停止したときなど、プロセス(スクリプト、インジケータ、Expert Advisor、テスターエージェント)が強制的に終了しないのはなぜですか?