[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 557

 
TarasBY:

これはどうでしょう?


ありがとうございます!すべてうまくいきました。
 
rigonich:
変数の前に挿入するだけ
という行が表示され、エキスパート、インジケータ、スクリプト(そのプロパティに#property show_inputs が含まれている場合)をチャートに貼り付ける際に表示されるプロパティダイアログに表示されます。

つまり、私の理解が正しければ、このコメントに記載される値をユーザーが選択するように、単純にコメントアウトすればよいということでしょうか?

以下の行は、ユーザーによって必要な値が設定される変数自身を示しています。そうなんですか?

 
Chiripaha:

つまり、私の理解が正しければ、ユーザーはこのコメントに記載される値をコメントアウトすればよいということでしょうか。

そして、その下の行は、ユーザーが希望する値を指定する変数そのものを指定しています。そうだろ?



はい、そういうご質問だと理解しました。
 
rigonich:

はい、私が理解した限りでは、そのようなご質問でした。

そうでもない...。

何かメニューがあるようにしたかったんです。ちょうどbool変数をfalseかtrueのどちらかで選択するときのように。
そのため、ユーザーは明確に定義されたパラメーターの値のみをクリックすることができました。この場合、Expert Advisor は正しく動作しないため、不要なものを「誤って」入力することがないようにします。

ユーザーは自分自身ですらある。特定の変数にどのようなパラメータがあるべきかを忘れてしまうことがあるためです。
 

すみません、見つからないんです...教えてください。

1次元配列の全要素を1インデックスずつ移動させるには?

操作はあるのか、それともループで行わなければならないのか?

 
peco:

すみません、見つからないんです...教えてください。

1次元配列の全要素を1インデックスずつ移動させるには?

操作はありますか、それともループで行う必要がありますか?

https://docs.mql4.com/ru/array/ArrayCopy
 
Chiripaha:

そうでもない...。

メニューのようなものがあるようにしたかったんです。bool変数がfalseかtrueのどちらかであるのと同じように。
ユーザーが明確に定義されたパラメータ値のみをクリックできるように。この場合、Expert Advisorは正しく動作しないので、不要なものを「誤って」入力しないようにします。

ユーザーは自分自身ですらある。特定の変数に対してどのようなパラメータがあるべきかを忘れてしまう可能性があるためです。


この場合、そうしてください。Bool 型の 外部変数 .もし ==false ならば、変数にいくつかの値が割り当てられ、 true ならば 他の 値が割り当てられます。2つ以上ある場合 パラメータが2つ以上ある場合、Boolean型ではなくint型の変数を使用し、1 -- 1番目のセット、2 -- 2番目のセット、などとします。

これは、各外部変数に対して行うことも、一度にすべての外部変数に対して行うこともできます(最初のEAモード、2番目...)。

 
ありがとうございました。
 
peco:

すみません、見つからないんです...教えてください。

1次元配列の全要素を1インデックスずつ移動させるには?

操作はありますか、それともループで行う必要がありますか?


https://www.mql5.com/ru/forum/131859/page8#434278
 
Chiripaha:

そうでもない...。

メニューのようなものをやりたかったんです。bool変数がfalseかtrueのどちらかであるのと同じように。
そのため、ユーザーは明確に定義されたパラメータの値のみをクリックすることができます。この場合、Expert Advisorは正しく動作しないため、彼は「誤って」不要なものを入力しないようにします。

ユーザーは自分自身ですらある。特定の変数にどのようなパラメータがあるべきかを忘れてしまうことがあるためです。

MQL4にはそのような可能性はありません(ただしMQL5にはあります)。初期化時にこのパラメータを確認し、特定の値に該当しない場合は、エラーを通知することができます。そして、スタートの一番最初にそれをチェックする必要があります。例えば、私のEAではそうしました。

extern int  val=5;
       bool val_error=false;
// -----
init()
{  ...
   if (val!=5  || val!=10 || val!=20 || val!=40 ||
       val!=60 || // и т.д.)
      {   val_error=true;
          Alert("Неправильный val!");
      }
   ...
}
// -----
start()
{  if (val_error=true) return;
   ...
}