[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 307

 
hoz:

フィッティングではなく、オートフィッティングのようなものです :)

しっかりしたマークがないのがフィットです。

主要なパラメータが正しく動作するまでは、テスターで、デモで、実機で、などなど、何か新しい良さそうなものが浮かぶまで、考え、試し、テストして、定義していかなければならないのです。しかも、すべて調整なしで、論理と理論と実践によって!

 
Zhunko:
どんな変数でも、使用する前にまず宣言しなければなりません。 パラメータでも、グローバルライブラリレベルでも構いません。


それだけでなく、明示的に開始される必要があります。
 
hoz:

そこで、ライブラリにある関数を紹介します。

ヴァディムについてループ内の関数スイッチ オペレータが返す言葉ってこと?でも、ループ変数の全数にわたって値を取得しているわけではないんです。私が取得しているマスク(関数の入力変数)の型を比較して、マスクの値を計算しているだけです。追加で計算することはないことがわかりました。マスクの種類を選択するだけでOKなんです。という意味を理解したい。

説明できますか?
これは、この機能を使って何をするのかを想定しています。このような機能は、通常、歴史の中で実行されているものです。
よくある質問

それだけでなく、明示的に開始される必要があります。
順序が望ましいが、MQL4では宣言時にデフォルトでゼロで初期化される。
 
Expert AdvisorでiCustom()を通して使用するインジケータが初期化され、データを取得できることを確認するにはどうしたらよいでしょうか?また、チャートがまだオブジェクトを表示する時間がなく、EAがバッファからデータを取り込もうとしている状況もあります。その結果、ゼロ値が表示されることがある。もちろん、ゼロでない値をチェックして、その時だけEAの動作を継続させていますが・・・。もっとエレガントなソリューションがあるのでは?
 

もうひとつ、UninitializeReason()の挙動が(私にとっては)奇妙なことに遭遇しました。Initeでその値を確認し、タイムフレームが変更され、オープンポジションが あれば、それをクローズする要求があるはずです。もし、最初にM5でEAを実行し、その後他のタイムフレームに切り替えた場合、リクエストはありません。最初のTF(M5)に戻れば、リクエストがあるはずです。これは普通じゃないと思うんです。TFの変更時にリクエストが必要なんです。

どなたか説明してください。

 
artmedia70:

もうひとつ、UninitializeReason()の挙動が(私にとっては)奇妙なことに遭遇しました。Initeでその値を確認し、タイムフレームが変更され、オープンポジションがあれば、それをクローズする要求があるはずです。もし、最初にM5でEAを実行し、その後他のタイムフレームに切り替えた場合、リクエストはありません。最初のTF(M5)に戻れば、リクエストがあるはずです。これは普通じゃないと思うんです。TFの変更時にリクエストが必要なんです。

どなたか説明してください。

DeinitReasonをグローバル変数 として動作させる。

int deinit()
  {
//----
   DeinitReason = UninitializeReason( );
   Print("DeinitReason ",DeinitReason);
//----
   return(0);
  }
 
Mislaid:

DeinitReasonをグローバル変数として動作させる。

その通りです。グローバル変数 Reasonは値を取得しますが、deinit()ではなくinit()で取得するため、init()が実行されると、前回のdeinitialisationの理由を確認でき、その値に基づいて、あるアクションや別のアクションを実行することが可能です。しかし、思うように動作しない。
 

良いafternoon.A新しい質問が生じた。ヘルプplease.For知識豊富な分がありますが、初心者のための困難です。何も助けませんが、多分誰かが直面している。

同誌によると

(2013.04.23 10:06:30 2013.04.01 00:00 xrust EURUSD,M1:SetIndexBuffer関数の 2パラメータは配列でなければなりません).

https://forum.mql4.com/ru/55137#786974

 
palomnik:

良いafternoon.A新しい質問が生じた。ヘルプplease.For知識豊富な分がありますが、初心者のための困難です。何も助けませんが、多分誰かが直面している。

同誌によると

(2013.04.23 10:06:30 2013.04.01 00:00 xrust EURUSD,M1: SetIndexBuffer関数の2パラメータは配列でなければなりません).

https://forum.mql4.com/ru/55137#786974


SetIndexBuffer関数の 第2パラメータは配列でなければならないと書かれています。つまり、double znach1 ではなく、double znach1[] です。
 
mt4を再起動せずに、先ほど編集したスクリプトを実行するにはどうしたらいいですか?