2.Dynamic External Expert Advisor パラメーター。E xpert Advisorの調整可能なパラメータを動的に変更することは可能ですか?説明しますと...例えば、外部パラメータ extern bool a がある。真である場合、追加パラメータ extern int b を設定する。a=false の場合、パラメータ b は不要である。セレクテッド(selected)の現在値によって表示/非表示を切り替える方法はありますか?外部パラメータ変更ハンドラが見つからなかったことと、#if ... がないことを考慮に入れて。#endif、できないのでは...。もしそうならですが、このような場合、外部パラメータを設定するプロセスに負荷をかけないよう、最適な方法をご教示いただけないでしょうか。例えば、a=falseにして、パラメータbが使われていないことを忘れても、最適化に含めることができます(ただし、意味がなく、余計な時間を浪費するだけです)。そして、そのようなパラメータbが1つしかない場合は、1つである。しかし、例えば、enumの外部パラメータを作り、TCのドロップダウンのバリエーションがいくつかあるとします。これらは共通の部分を持ちますが(したがって、いくつも書くよりも一つのEAに実装するのが論理的です)、多くの異なるパラメータを持つ別のものもあります。そうすると、どのパラメーターが選択したTSに関係するのか、非常に混乱しやすくなります。
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
メタデータ編集のデバッグボタンがアクティブでない理由を教えてください。
ほとんどの場合、言及されている関数はカスタム関数であり、MEはそれらを知る必要はありません。正しく宣言し、呼び出すのはあなた次第です。
関数はユーザー定義ではありません。mt4ターミナルでどの言語でソフトを書けばいいのかという質問に、差し支えなければ答えてください。
Vitalie Postolache:
А где он сохранён? Чтобы отладка была возможна, код должен быть сохранён в каталоге данных, а не где-то в темпе.
アドバイザーは通常通りプログラムフォルダ内のExpertフォルダに配置され、チャート上にある
これらの関数は、ユーザー定義ではありません。差し支えなければ、mt4ターミナルでソフトを書く場合、どのような言語を使えばいいのでしょうか?
はい、カスタムではなく、MQL5からの機能です。MQL4では、他のものを探すか、類似のものをカスタムで作成する必要があります。
例えば、OrderGetTicket() MQL5 → OrdetTicket() MQL4となります。
みなさん、こんにちは。
新参者からの質問です。
1.Mql4とMql5の違い(ウェブサイトとプログラミング言語そのもの)。メ タトレーダー4にはMql4が、メタトレーダー5にはMql5がそれぞれ組み込まれています。また、対応するウェブサイトも2種類あります。同時に、私がMT4で調べたExpert Advisorは、すべてそのサイトに通じています。どちらが関連性が高いのでしょうか?どのフォーラムが「活気がある」のか?質問を投稿する場所はどこが良いですか?MTとMqlの異なるバージョン間の後方互換性はありますか?私自身は、現在、MT4のExpert AdvisorをそれぞれMql4で書いているところです。これは、私がデモのテストに使っているブローカーがMT4を使っていることに起因しています。Expert Advisor が記述されている言語を確認するにはどうすればよいですか?拡張子のみ(.mq4と.mq5)でという意味です。ファイル名を変更したら、コンパイルできるのか(これも互換性について)?
2.Dynamic External Expert Advisor パラメーター。E xpert Advisorの調整可能なパラメータを動的に変更することは可能ですか?説明しますと...例えば、外部パラメータ extern bool a がある。真である場合、追加パラメータ extern int b を設定する。a=false の場合、パラメータ b は不要である。セレクテッド(selected)の現在値によって表示/非表示を切り替える方法はありますか?外部パラメータ変更ハンドラが見つからなかったことと、#if ... がないことを考慮に入れて。#endif、できないのでは...。もしそうならですが、このような場合、外部パラメータを設定するプロセスに負荷をかけないよう、最適な方法をご教示いただけないでしょうか。例えば、a=falseにして、パラメータbが使われていないことを忘れても、最適化に含めることができます(ただし、意味がなく、余計な時間を浪費するだけです)。そして、そのようなパラメータbが1つしかない場合は、1つである。しかし、例えば、enumの外部パラメータを作り、TCのドロップダウンのバリエーションがいくつかあるとします。これらは共通の部分を持ちますが(したがって、いくつも書くよりも一つのEAに実装するのが論理的です)、多くの異なるパラメータを持つ別のものもあります。そうすると、どのパラメーターが選択したTSに関係するのか、非常に混乱しやすくなります。
Expert Advisorの自動最適化。I MHOは、とても便利で重宝しています。こんな 記事を見つけました。しかし、私の理解では、外部から最適化のために実行される(実行中のMTのインスタンスから)2番目のインスタンスが使用され、最適化の結果はhtmlの形でレポートから読み取られるような気がします。これでは、とても便利とは言えず、曲者です。論理的には、私は独自の最適化関数/DLLを作成し、Expert Advisorから直接それを実行する必要があります。そこで質問です。私が理解した限りでは、遺伝的最適化アルゴリズムがストラテジーテスターにプログラムされていました。これらのアルゴリズムについては、ごく簡単に知っています。しかし、それらは長い間知られていたことであり、それゆえに「なぜ車輪を再発明するのか」という疑問があるのです)。MTで直接使用されるアルゴリズムは用意されているのでしょうか?もしかしたら、端末自体のライブラリのどこかに既に存在しているのかもしれませんが...。もしかしたら、別のソースコードやレディDLLがあるのかもしれません。一般的に、この件に関するあなたの経験を教えてください。
以上、今回はこの辺で......)。文字量にストレスを感じなかっただろうか)。
ご返信ありがとうございました。
売りと買いの合計数量を画面に表示させるには、EAにどのように記述すればよいですか?
売りと買いの合計数量が画面に表示されるようにするには、どのような綴りにすればよいのでしょうか。
私自身はまだ初心者なので、正確にはわかりません。しかし、EAチャートの 左上に任意の情報を表示するコマンドCommentが存在するようです。ロットの数量は、このようなサイクルで計算することができます。
int totalOrders = OrdersTotal();
double totalLots = 0;
for(int i=0; i<totalOrders; i++)
if ( (OrderSelect(i, SELECT_BY_POS)) && (OrderMagicNumber() == myMagicNumber) )
totalLots += OrderLots();
Comment("totalLots=", totalLots);
全トレードに共通するコードです。買いと売りで別々の変数を作り、OrderType()で切り替えます。