MT4開発者、プログラマーからのヘルプが欲しい

 

こんにちは。

MT4ターミナルの新しいビルドは、ユーザーが入力パラメータの値を変更したときにEAを非初期化および再初期化しません。これは、既存のEAとMT4の新しいビルドとの根本的な非互換性につながります。この非互換性は、すべての単一計算がinit()ブロックに配置されている、最も最適化されたEAで発生します。

ある入力パラメータの値の置き換えを保証するために、ユーザーはExpert Advisorをチャートから外し、再度装着しなければならない、という馬鹿げた事態にさえなっています。(SETファイルからボタンでパラメータを読み込むことは試していませんが、パラメータの値を手動で置き換えるのと同じことだと思われます)。

MT4の開発者には、deinit()、init()関数の呼び出しを常識に戻すことを強く求めます。

敬具

PS ユーザーが入力 パラメータの値を変更する瞬間や事実をプログラム的に決定する仕組みをご存知の方がいらっしゃいましたら、ここにお書きください。

 
せめてライフルだけでも証拠として見せてください。
 

バージョン:4.00 Build 670

(2014年7月4日)

 
Wex:


MT4ターミナルの新しいビルドでは、ユーザーが入力パラメータ値を変更したときにEAを非初期化および再初期化しない。このため、既存のEAとMT4の新しいビルドとの間に主要な非互換性があります。最も最適化されたExpert Advisorでは、すべての単一計算がinit()ブロックに配置されているため、互換性がない可能性があります。

持っています。670を構築。簡易プリンターで確認する。
 
Wex:

こんにちは。

MT4ターミナルの新しいビルドは、ユーザーが入力パラメータの値を変更したときにEAを非初期化および再初期化しません。これは、既存のEAとMT4の新しいビルドとの根本的な非互換性につながります。この非互換性は、すべての単一計算がinit()ブロックに配置されている、最も最適化されたEAで発生します。

ある入力パラメータの値の置き換えを保証するために、ユーザーはExpert Advisorをチャートから外し、再度装着しなければならない、という馬鹿げた事態にさえなっています。(SETファイルからボタンでパラメータを読み込むことは試していませんが、パラメータの値を手動で置き換えるのと同じことだと思われます)。

MT4の開発者には、deinit()、init()関数の呼び出しを常識に戻すことを強く求めます。

敬具

PS ユーザーが入力 パラメータの値を変更する瞬間や事実をプログラム的に決定する仕組みをご存知の方がいらっしゃいましたら、ここにお書きください。

これはマーケットメーカーが確立されたEAを萎えさせるための策略である。
 
IvanIvanov:
これは、マーケットメーカーによる策略である :-7 既存のアドバイザーをデフレにするために
+
 
EAを書き換える ことはできないのでしょうか?
 

PS.(掲示板ではあまり舌打ちをしないようです)。EAを添付。パラメータA1またはA2の値をその場で変更してみてください。時間が経過しても、EAがパラメータの新しい値を「見る」ことはありません。ただし、「AutoTrading」ボタンを2回押すと、初期化されます。もちろん、EAをチャートから外して再インストールするよりも、この方が手っ取り早いです。しかし、それはどこか非論理的です。ただし、決めるのはあなたです。

もちろん、海辺で待っているよりExpert Advisorで変更する方がずっと簡単です。そこで、今一度、シンプルな質問をさせていただきます。入力パラメータの値をその場で変更したユーザーに関する情報を取得する方法をご存知の方はいらっしゃいますか?価値が変わったという事実と、その時点のことを指しているのです。

MT4ターミナルの新しいビルドは、古いものよりもはるかに優れています。この場合、Sleep() 関数が実行されると、パラメータの値が変更される。これはまさに進歩です。古いビルドでは、値を変更することは全くできず、むしろユーザーが入力パラメータを持つウィンドウを取得することさえできませんでした。お客様には、まずターミナルパネルのボタンでEAを無効化し、パラメータを変更してから再度有効化するようにお伝えしています。しかし、今のユーザーには何の障害もなく、入力パラメータが変更されたような錯覚に陥っている。さらに、新しい例では、init() ブロックで取得したコピーだけでなく、元の入力パラメータもExpert Advisorでは変更されず、プロパティウィンドウのInputsタブで変更されることが示されています。そのズレは一目瞭然です。

ファイル:
PROBLEM.mq4  2 kb
 
Wex:

PS.(私は掲示板ではあまり舌打ちをしないようです。EAを添付。パラメータA1またはA2の値をその場で変更してみてください。時間が経過しても、EAがパラメータの新しい値を「見る」ことはありません。ただし、「AutoTrading」ボタンを2回押すと、初期化されます。もちろん、EAをチャートから外して再インストールするよりも、この方が手っ取り早いです。しかし、それはどこか非論理的です。ただし、決めるのはあなたです。

もちろん、海辺で待っているよりExpert Advisorで変更する方がずっと簡単です。そこで、今一度、シンプルな質問をさせていただきます。入力パラメータの値をその場で変更したユーザーに関する情報を取得する方法をご存知の方はいらっしゃいますか?価値と時点を変えたという事実のことです。

本当に、MT4ターミナルの新しいビルドは、古いものよりもはるかに優れています。この場合、Sleep() 関数が実行されると、パラメータ値は置き換えられる。もちろん、これは進歩です。古いビルドでは、値を変更することは全くできず、むしろユーザーが入力パラメータを持つウィンドウを取得することさえできませんでした。お客様には、まずターミナルパネルのボタンでEAを無効化し、パラメータを変更してから再度有効化するようにお伝えしています。しかし、今のユーザーには何の障害もなく、入力パラメータが変更されたような錯覚に陥っている。さらに、新しい例では、init() ブロックで取得したコピーだけでなく、元の入力パラメータもExpert Advisorでは変更されず、プロパティウィンドウのInputsタブで変更されることが示されています。そのズレは一目瞭然です。

deinitialisation reasonsを 使用してみましたか?

UninitializeReason()
REASON_PARAMETERS

もしかしたら、斜め読みしていたかも...。しかし、私が使っているのは ...

 
Wex:

PS.(私は掲示板ではあまり舌打ちをしないようです。EAを添付。パラメータA1またはA2の値をその場で変更してみてください。時間が経過しても、EAがパラメータの新しい値を「見る」ことはありません。ただし、「AutoTrading」ボタンを2回押すと、初期化されます。もちろん、EAをチャートから外して再インストールするよりも、この方が手っ取り早いです。しかし、それはどこか非論理的です。ただし、決めるのはあなたです。

もちろん、海辺で待っているよりExpert Advisorで変更する方がずっと簡単です。そこで、今一度、シンプルな質問をさせていただきます。入力パラメータの値をその場で変更したユーザーに関する情報を取得する方法をご存知の方はいらっしゃいますか?価値が変わったという事実と、その時点のことを指しているのです。

MT4ターミナルの新しいビルドは、古いものよりもはるかに優れています。この場合、Sleep() 関数が実行されると、パラメータの値が変更される。これはまさに進歩です。古いビルドでは、値を変更することは全くできず、むしろユーザーが入力パラメータを持つウィンドウを取得することさえできませんでした。お客様には、まずターミナルパネルのボタンでEAを無効化し、パラメータを変更してから再度有効化するようにお伝えしています。しかし、今のユーザーには何の障害もなく、入力パラメータが変更されたような錯覚に陥っている。さらに、新しい例では、init() ブロックで取得したコピーだけでなく、元の入力パラメータもExpert Advisorでは変更されず、プロパティウィンドウのInputsタブで変更されることが示されています。そのズレは一目瞭然です。

同じコードで、start()内のループがないものはうまく動作します。それが問題なのでしょう。
ファイル:
PROBLEM.mq4  2 kb
 
Wex:

PS.(私は掲示板ではあまり舌足らずのようです。


とてもそう思います。

1.MQL4言語は、特別なフォーラムに特化しています。これじゃない。

2.MQL4のドキュメントを読んでいないのでしょう、新旧ともに