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

 
グラフウィンドウを別のモニターにドラッグするにはどうすればよいですか?
 
Joo Zepper:
チャートウィンドウを別のモニターにドラッグするにはどうしたらいいですか?

別の端末を開き、ドラッグする )

あるいは引き伸ばす、でもそれはよくない

 
Alexandr Bryzgalov:

別の端末を開き、ドラッグする )

とか引きずったりして、あまり良いとは言えません。

他の端末も同様で、すべてイベントによる通信を行います。

なぜ、端末を伸ばすことが「よくない」のか?

 
Joo Zepper:


そして、なぜ端末を伸ばすことが "よくないこと "なのか?

気持ちの持ちようでわかるんです。

ある画面サイズに手が慣れていて、伸ばすと手が机の外に出てしまうのです。

好きならいいじゃないですか。

嫌なんです。

 
Joo Zepper:
チャートウィンドウを別のモニターにドラッグするにはどうしたらいいですか?
ターミナルからウィンドウを切り離す
 
Yuri Evseenkov:

MT4です。グローバル変数と extern変数の初期化 順序の違いに注目してほしい。ドキュメントには記載されていません。

extern変数はグローバルスコープにあり、変数の種類(グローバルかローカルか)により、ドキュメントやKovalevのチュートリアルに書かれているように、グローバルを参照します。

ドキュメントにはexternの初期化順序について何も書かれていないので、externの初期化順序はグローバル変数自体の初期化順序と同じであると結論づけるのが論理的である。

グローバル変数 a と b は、最初の関数 init が実行される前に一度だけ初期化され、タイムフレームやチャート上のシンボルが変更されても、初期値(またはコード内で変更された値)を保持します。

extern int cは、コード内で変更された値を保存せず、チャート上のタイムフレームやインストルメントが変更された場合、最初に指定された値を取得します。以下のコードはこれを示しています。

このことは、他の条件がすべて同じであるにもかかわらず、「プロパティ」ウィンドウから実行したコードやリコンパイルの結果が、タイムフレームやシンボルを変更して実行したコードの結果と異なる理由を理解するために重要なことである。

以下は、これを示すコードです。タイムフレームやシンボルを何度か変更すると、aとbは成長し、cは初期値を維持することがわかります。


エクスターンという言葉は忘れてください

新しいMQL4は入力を使用します。そこからスタートする。

外部変数は、常にOnInitを呼び出す直前に再初期化 されます。

 
Slawa:

エクスターンという言葉は忘れてください

新しいMQL4は入力を使用します。そこからスタートする。

外部変数は、常にOnInitを呼び出す直前に再初期化さ れます。

MQL4+では、入力パラメータをプログラムで 変更する必要がある場合、externは欠かせませんね。例えば、シンプルなインジケータをインタラクティブなものに変換する場合、inputをexternに置き換えなければなりません。コンパイラは入力変数をconstとして扱い、それを変更しようとすると文句を言います。externではそのような問題はありません。
 
Slawa:

エクスターンという言葉は忘れてください

新しいMQL4は入力を使用します。そこからスタートする。

外部変数は、常にOnInitを呼び出す直前に再初期化さ れます。

外部(グローバル)変数が再初期化され、良い感じです。グローバル変数(外部変数ではない)もそう だし、よくないですね。
 
Slawa:

エクスターンという言葉は忘れてください


ああ、初めて歩いたり話したりすることを教えられた

で、今は座って黙っていることを教える。)

 
Slawa:

エクスターンという言葉は忘れてください

新しいMQL4は入力を使用します。そこからスタートする。

外部変数は、常にOnInitを呼び出す直前に再初期化さ れます。

ドキュメントに反映させるのが良いと思います。
理由: