開発者への質問
1.なぜ他のシグナルが使えないのですか?
例えば、"2つのEMAのクロスオーバーに基づくシグナル"
https://www.mql5.com/ru/forum/2935/page1
2.シグナルのライブラリは補充されますか?
3.ウィザードを使って独自のシグナルを作成することはできますか?
4.ウィザードを使って、インジケーター配列に基づいたインジケーターを作成することはできますか?
5.ウィザードの設定を保存して、作成したストラテジーやインジケーターをウィザードで直接調整できるようになりませんか?
私の意見では、3-5.3-5は、「プログラマーではない」トレーダーの生活をより簡単にするものである。
そして、完全に「ファンタジー」なのは、ウィザードの助けを借りて、エクセルで方程式を書くように、あらゆるインジケーターのシグナルのカセットを自分で作成できることでしょう :)
MetaquotsやCQGに実装されているように。
- www.mql5.com
//+------------------------------------------------------------------+ //| 販売条件が満たされたかどうかをチェックする。 //| INPUT:なし| //| OUTPUT:声の重み 0 から 100| //| 注釈: いいえ。| //+------------------------------------------------------------------+ int CInnerBarSignal::ShortCondition(){ //--- コンディションは、クローズした前のバーによってチェックされる。 Print("call short condition"); if( Low(1) < Low(2) && High(2)<High(3) && Low(2)>Low(3) && Close(3)<Open(3) ){ return(100); } //--- 条件が満たされない return(0); }
生成されたEAを"all ticks "モードで実行すると、この関数がバーのオープニングで2回実行されていることがわかります。
2011.06.07 11:42:15 Core 1 接続クローズ
2011.06.07 11:42:15 Core 1 ログファイル "D:˶metatrader5Tester ˶Agent-127.0.0.1-3000˶logs ˶20110607.log "が書き込まれました。
2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 ticks (24 bars) generated within 62 ms (total bars in history 8814, total time 312 ms)
2011.06.07 11:42:15 Core 1 OnTester 結果 0
2011.06.07 11:42:15 コア 1 2011.06.02 23:00:00 コールショート条件
2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 short conditionの呼び出し
2011.06.07 11:42:15 コア1 2011.06.02 22:00:00 コールショートコンディション
2011.06.07 11:42:15 コア1 2011.06.02 22:00:00 ショートコンディション呼び出し
2011.06.07 11:42:15 コア1 2011.06.02 21:00:00:00コールショートコンディション
2011.06.07 11:42:15 コア1 2011.06.02 21:00:00 コールショートコンディション
2011.06.07 11:42:15 コア1 2011.06.02 20:00:00 コールショートコンディション
2011.06.07 11:42:15 コア1 2011.06.02 20:00:00 コールショートコンディション
2011.06.07 11:42:15 コア 1 2011.06.02 19:00:00 コールショートコンディション
このような設計になっており、シグナル・モジュールではポスティック処理は利用できないのだろうか?
- 2010.12.15
- MetaQuotes Software Corp.
- www.mql5.com
私は独自のシグナルモジュールを書いており、その中のテスト関数は以下の通りです:
生成されたEAを"all ticks "モードで実行すると、この関数がバーのオープニングで2回実行されていることがわかります。
2011.06.07 11:42:15 Core 1 接続クローズ
2011.06.07 11:42:15 Core 1 ログファイル "D:˶metatrader5Tester ˶Agent-127.0.0.1-3000˶logs ˶20110607.log "が書き込まれました。
2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 ticks (24 bars) generated within 62 ms (total bars in history 8814, total time 312 ms)
2011.06.07 11:42:15 Core 1 OnTester 結果 0
2011.06.07 11:42:15 コア 1 2011.06.02 23:00:00 コールショート条件
2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 short conditionの呼び出し
2011.06.07 11:42:15 コア1 2011.06.02 22:00:00 コールショートコンディション
2011.06.07 11:42:15 コア1 2011.06.02 22:00:00 ショートコンディション呼び出し
2011.06.07 11:42:15 コア1 2011.06.02 21:00:00:00コールショートコンディション
2011.06.07 11:42:15 コア1 2011.06.02 21:00:00 コールショートコンディション
2011.06.07 11:42:15 コア1 2011.06.02 20:00:00 コールショートコンディション
2011.06.07 11:42:15 コア1 2011.06.02 20:00:00 コールショートコンディション
2011.06.07 11:42:15 コア 1 2011.06.02 19:00:00 コールショートコンディション
このような設計になっており、シグナル・モジュールではポスティック処理は利用できないのだろうか?
デフォルトでは、Expert Advisor はウィザードによって 始値で動作するように生成されます。
Expert Advisor のソースコードで、:
//--- エキスパートの初期化 if(!Ext_Expert.Init(...,...,false,...))
に置き換えてください:
//--- エキスパートの初期化 if(!Ext_Expert.Init(...,...,true,...))
2011年の初めに、ウィザードMQL5の最初のバージョンをリリースしました。このステップでは、トレーダーに取引ロボットを自動作成するためのシンプルで明確なツールを提供しました。MetaTrader 5ユーザーであれば誰でも、MQL5でのプログラミング方法を知らなくても、独自のExpert Advisorを作成できるようになりました。
これは良いことですが、初心者が自分のロボットを書くには十分ではありません。初心者が独自のシグナルでExpert Advisorを書く 必要があるとしたら?そうです。
初心者が自分のExpert Advisorを書けるようにするには、ビジュアライザーを追加する必要があります。これは、例えばトレードナビゲーターに 実装されています。トレードナビゲーターでは、チャートセクションを選択することで、シグナルをライブラリに追加することができます。ビジュアライザーはすべてをプログラミング言語に転送します。そして、ローソク足、インジケーター、チャート上のグラフィックラインなど、すべてを考慮に入れます。つまり、どんなライブラリでも作成できるのです。そして、これらのシグナルから任意のExpert Advisorを構築することができる。これが私たちが目指すべきものです。
ありがとう!
これは良いことだが、初心者が自分のロボットを書くには不十分だ。 もちろん、書くことはできるが、自分のライブラリを使うだけだ。初心者が自分のシグナルのエキスパートを書く必要があるとしたら?私たちはここにいる...
初心者が自分のExpert Advisorを書けるようにするには、ビジュアライザーを追加する必要があります。これは例えばトレードナビゲーターに 実装されています。トレードナビゲーターでは、チャートセクションを選択することで、シグナルをライブラリに追加することができます。ビジュアライザーはすべてをプログラミング言語に転送します。そして、ローソク足、インジケーター、チャート上のグラフィックラインなど、すべてを考慮に入れます。つまり、どんなライブラリでも作成できるのです。そして、これらのシグナルから任意のExpert Advisorを構築することができる。これが私たちが目指すべきものです。
ありがとう!
これらの記事をまだご存知ないですか?
1.MQL5ウィザード:オープンポジション維持のための独自のモジュールを書く方法
2.MQL5ウィザード:資本およびリスク管理モジュールの作成方法
ウィザードで未決注文を 発注する方法を教えてください。
もう一つの質問:このコードは正しいですか?
//+------------------------------------------------------------------+ //|| グローバル・エキスパート・オブジェクト| //+------------------------------------------------------------------+ CExpert ExtExpert; CExpert ExtExpert1; //+------------------------------------------------------------------+ //| エキスパート初期化関数 //+------------------------------------------------------------------+ int OnInit() { //--- エキスパートの初期化 if(!ExtExpert.Init("GBPCHF",Period(),Expert_EveryTick,Expert_MagicNumber) || !ExtExpert1.Init("GBPJPY",Period(),Expert_EveryTick,Expert_MagicNumber)) { //--- 失敗 printf(__FUNCTION__+": error initializing expert"); ExtExpert.Deinit(); ExtExpert1.Deinit(); return(-1); }
また、この場合、テスターでどのようなシンボル/期間を設定すればよいのでしょうか?
2011.06.16 10:15:25 Core 1 2011.06.01 00:00:00 CExpert::Init: wrong symbol or timeframe (must be GBPCHF:PERIOD_H1)
以下はそのパラメータである。
//+------------------------------------------------------------------+ //| 入力| //+------------------------------------------------------------------+ //--- 専門家のための入力 input string Expert_Title ="2"; // 文書名 int Expert_MagicNumber =13179; // bool Expert_EveryTick =false; // //--- メイン信号用入力 input int Signal_ThresholdOpen =10; // オープンする信号のしきい値 [0...100] input int Signal_ThresholdClose=10; // クローズするシグナルのしきい値 [0...100] input double Signal_PriceLevel =0.0; // 取引を実行する価格水準 input double Signal_StopLevel =50.0; // ストップロス・レベル(ポイント) input double Signal_TakeLevel =50.0; // 利益確定レベル(ポイント) input int Signal_Expiration =4; // 未決注文の有効期限(バー単位) input double Signal__Weight =1.0; // インナーバー・ウェイト [0...1.0] //--- お金のためのインプット input double Money_FixLot_Percent =10.0; // パーセント。 input double Money_FixLot_Lots =0.1; // 固定ボリュームどのオプションでエントリー するには、どのように実行すればよいですか?
2つ目の質問に一度に答える準備はできていません。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事 サルでも解るMQL5 ウィザード はパブリッシュされました:
作者: MetaQuotes Software Corp.