MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
この記事を参考に自分のプログラムを作ろうとしたが、私の単純な目的には複雑すぎた。ここでは簡単なプログラムを作ろうとしたが、コンパイラーは(たった1つの)エラーを見つけた:型がありません。そして、Classの "type "や "name "に何を入れても変化がなかった。
ここからが始まりだ。私は何を間違えているのでしょうか?
//|KaufVerkauf.mq5
//|著作権....2012 |//|http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright"Copyright ....2012"
#property link"http://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------------+
//| インクルード|
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//++------------------------------------------------------------------------+
//+------------------------------------------------------------------------+
//| Expertオブジェクト初期化|
//+------------------------------------------------------------------
//---- インジケーターのハンドル
int RSI_handle = 0;// インジケータ iRSI のハンドル
intADX_handle = 0; // インジケータ iADX のハンドル
intForce_handle = 0;// インジケータ iForce のハンドル
int AD_handle = 0;// インジケータ iAD のハンドル
int Close_handle = 0;
intHigh_handle = 0;
int Low_handle = 0;
int VTick_handle = 0;
intVReal_handle = 0;
int sig =0;
double MqlParams[]; // インジケータパラメータ格納用配列
//+------------------------------------------------------------------------+
//| エキスパート初期化関数 RSI|
//+------------------------------------------------------------------------+
Class CExpertSignal
{
private:
int OnInit()
//--- インジケータ iRSI の作成。......
ありがとう。
テストしてみました:
- あなたのコードをダウンロードし、MQL5にコピーしてコンパイルしました。
- しかし、EAを実行することができません:
このパラメーターのどこが悪いのか、教えてください:
もう一度、どうもありがとうございました。
MetaTrader、MQL5、FX取引は初めてなので、このような記事は本当に役に立ちます!
なぜロングポジションをクローズするだけ でなく、同じシグナルで直接ショートをエントリーするのでしょうか?
すべてのプログラミングを理解するための最初のテストとして、私はロングポジションのみを行いたいので、クローズ/セルシグナルでショートポジションをエントリーすることなく、
ロングポジションのオープンとクローズのみを行いたいです。
よろしくお願いします。
こんにちは、
エキスパートアドバイザーはMQL5ウィザードに基づいて書かれており、ポジションは以下の方法でオープンされます。
virtual int LongCondition();
virtual int ShortCondition();
私は記事の推奨に従ってロボットを書いた。
https://www.mql5.com/ja/articles/367"create a trading robot in 6 steps"(6つのステップで取引ロボットを作成する)の推奨に従ってロボットを作成した。
(で条件を繰り返し生成することで、ポジションサイズに影響を与えようとします。
LongCondition();
を実行しても、すでにオープンしているポジションは変更されず、クローズ条件を実行するか、sl , tpをトリガーすることによってのみ削除することができます。
私はMQL5ウィザードが好きです。マルチインディケーターエキスパートアドバイザーを簡単かつ迅速に「構築」し、slトラッキングモジュールを変更し、資金管理モジュールを変更することができます。
しかし、私の試みは、あるインジケーターで条件が形成されたときに最小ポジションをオープンし、別のインジケーターでトレンドが確認されたときにポジションを増やす(埋める)Expert Advisorを書くことでした。
例えば、LongCondition()などで再度ポジションを建てるシグナルが出ても、すでに建てたポジションが変更されないのです;
ありがとうございました。
この例をmt5 strategy testerで実行し、資産をpexに選択すると、エラーが出ます。Vale5、遺伝的アルゴリズム、d1、ohlc 1 minute、max balanceを選択すると、エラーが出ます!
FXペアで実行 すると、同じ最適化が完了するようです(ローカルエージェントでは時間がかかりすぎるため、完了するとは思っていませんでした)。
テスターの日記に表示されるエラーは、この場合Vale5のものですが、OnInitに関係するものです。同じ問題を検出した人はいますか?もしそうなら、何か解決策や結論に達しましたか?
助けてくださる方がいらっしゃいましたら、ありがとうございます!
mt5 strategy testerでこの例を実行し、資産をpexに選択すると、エラーが出ます。Vale5、遺伝的アルゴリズム、d1、ohlc 1 minute、max balanceを選択すると、エラーが出ます!
FXペアで実行すると、同じ最適化が完了するようです(ローカルエージェントでは時間がかかりすぎるため、完了するとは思っていませんでした)。
テスターの日記に表示されるエラーは、この場合Vale5のものですが、OnInitに関係するものです。同じ問題を検出した人はいますか?もしそうなら、何か解決策や結論に達しましたか?
ご協力いただける方がいらっしゃいましたら、ありがとうございます!
こんにちは、エラーログやスクリーンショットなどの 追加情報を提供してください。
上記のような簡単な説明では、問題を特定する のにあまり役に立ちません。
よろしくお願いします。
Malacarne
私はMQLでのプログラミングの経験は(まだ)ありませんが、他の言語でのプログラミングの経験は多少あります。 プログラミング(私の特定のクラスはJavaでしたが、C++やどうやらMQLとスタイルが非常に似ています)で犯しやすいミスの1つは、中括弧をきちんと閉じないことです。 これは犯しやすいミスの1つであり、逆に見つけにくいミスの1つでもあります。KJG、ロングをクローズしてすぐにショートに向かうことに関しては、おそらくこのスタイルのEAはそうするように設計されているのでしょう。 私は、ちょうどそのタイプのセットアップを持つ多くの取引スタイルを見てきました。それらは、分単位の時間枠チャートで起こりそうなことのように、ボラティリティが大きく、価格変動が常に起こる市場のために設計されたのだと思います。
この記事も、他の多くの記事も、間違いなく参考にさせていただきます。
こんばんは、
ロボットをテストしようとすると以下のエラーが出ます。
2017.07.04 18:20:27.404 OnInitに失敗したため、テスターが停止しました。
私が何か間違っているのでしょうか、それともロボットに何か設定が あるのでしょうか?
よろしくお願いします。
カルロス F.
製作のさまざまな段階がよく説明されている。特にロボットを開発したことがない人にとっては、わかりやすくて役に立つ仕事だ。 ありがとう。