初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 581

 
barudkinarseniy:
フォーラムの皆さん、こんにちは!問題があるんです。平日にExpert Advisorをテストしたところ、ある結果が出たのですが、週末になると全く違う結果が出ましたその理由を教えてください。
週末になるとスプレッドが広がるからだと思います。
 
Sergey Gritsay:
週末になるとスプレッドが広がるから
マージンレベルが 低下する、つまりマーケットがクローズしたとき、またはそれ以前、またはブローカーに依存するのでしょうか?
 
Karputov Vladimir:

CEditコントロールによるダイアログパネルです(わかりやすいように、この例は1つのファイルとして作られています) - パネルは入力された文字をチェックします。数字のみ使用可能です。

コードをありがとうございました。しかし、ここでもう一つ疑問があります。MT5でコードをコンパイルしてみました。本体ではまだ文字を入力できることがわかったのですが、文字を入力すると本体内のコードの末尾に「数字のみ入力可能です」と表示されるのです。しかし、本体に文字を入力できないようにするにはどうしたらいいのでしょうか。
 
Andrey Zuev:
コードをありがとうございました。しかし、もう一つの疑問はこれです。mt5でコンパイルしてみました。編集で文字を入力することはできるのですが、文字を入力すると、入力が終わると編集で「数字のみ入力可能です」と表示されることが判明しました。しかし、どうすればuditeに文字を入力できなくなるのでしょうか?
無理でしょう。CEdit クラスに 基づくコントロールは、 ON_END_EDIT- (6) // 編集終了イベント(入力完了イベント)のみを処理する。
 

同僚、このラインから信号を取ろうとしています。

if((MathAbs(d_f)>(K_F*Point))&& (d_f>0.0)) // 買いシグナル

しかし、コンパイラは "Point - undeclared identifier" と文句を言うのです。

こちらはMT5です。

定義済み変数ではないのですか?

 
Andrey Koldorkin:

同僚、このラインから信号を取ろうとしています。

if((MathAbs(d_f)>(K_F*Point))&& (d_f>0.0)) // 買いシグナル

しかし、コンパイラは "Point - undeclared identifier" と文句を言うのです。

こちらはMT5です。

定義済み変数ではないのですか?

いいえ、_Pointを使用してください。
 
Andrey Koldorkin:

同僚、このラインから信号を取ろうとしています。

if((MathAbs(d_f)>(K_F*Point))&& (d_f>0.0)) // 買いシグナル

しかし、コンパイラは "Point - undeclared identifier" と文句を言うのです。

こちらはMT5です。

定義済み変数ではないのですか?

Point() を使用する必要があります。

 

ありがとうございます。

もうひとつ質問です。現在のローソク足と最後に閉じたローソク足、最後に閉じたローソク足と最後に閉じたローソク足の曲線の値を取りたいのです。

ここで配列を使用する必要がありますか?

入力パラメータが3つあるマシュカがあるのですが、どうしたらいいですか?そこにアドレスを組み込もうとしているのです。

//----------------------

double P0, P1, P2; // 現在のローソク足、最後に閉じたローソク足での指標値

P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //現在のローソク足でのインジケータ価格

P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //最新のローソク足の終値でのインジケータ価格

P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //ローソク足の最後尾にあるインジケータ価格

//----------------------

下の3行は、前のローソク足での値の読み方が分からないので、このように書きました。現在のものを正しく受け取り、Alertを使って正しく出力しています。

ループを定義して、現在の値が書き込まれ、新しいローソク足が できるごとに後ろにシフトして、最初に最後に閉じたローソク足となり、次に最後に閉じたローソク足となるようにすればよいかもしれません。

これをインテリジェントに行うにはどうしたらいいか。))

 
Andrey Koldorkin:

同僚、このラインから信号を取ろうとしています。

if((MathAbs(d_f)>(K_F*Point))&& (d_f>0.0)) // 買いシグナル

しかし、コンパイラは "Point - undeclared identifier" と文句を言うのです。

こちらはMT5です。

定義済み変数ではないのですか?

そして、こう書くのです。

アンドレイ・コルドルキン

ありがとうございます。

もうひとつ質問です。現在のローソク足と最後に閉じたローソク足、最後に閉じたローソク足と最後に閉じたローソク足の曲線の値を取りたいのです。

ここで配列を使用する必要がありますか?

入力パラメータが3つあるマシュカがあるのですが、どうしたらいいですか?そこにアドレスを組み込もうとしているのです。

//----------------------

double P0, P1, P2; // 現在のローソク足、最後に閉じたローソク足での指標値

P0 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //現在のローソク足でのインジケータ価格

P1 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //最新のローソク足の終値でのインジケータ価格

P2 = iCustom(NULL, 0, "VIDYA", InpPeriodCMO, InpPeriodEMA, InpShift); //ローソク足の最後尾にあるインジケータ価格

//----------------------

下の3行は、前のローソク足での値の読み方が分からないので、このように書きました。現在のものを正しく受け取り、Alertを使って正しく出力しています。

ループを定義して、現在の値が書き込まれ、新しいローソク足が できるごとに後ろにシフトして、最初に最後に閉じたローソク足となり、次に最後に閉じたローソク足となるようにすればよいかもしれません。

これをインテリジェントに行うにはどうしたらいいか。))

で、やはり:MT5で書くか、MT4で書くか?

追加:フォーラムでコードを正しく挿入 する

 
Karputov Vladimir:

って、こんなこと書いてるんですね。

で、やはり:MT5で書いているのか、MT4で書いているのか?

追記:フォーラムでコードを正しく挿入 するようにしました。

MT5です。厳しく判断しないでください、私はまだ始めたばかりです。

コンパイラは誓わないようです。

理由: