記事"MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法"についてのディスカッション

 

新しい記事 MQL5 ウィザード:任意の価格で指値注文をオープンすることを EA に教える方法 はパブリッシュされました:

本稿は現在価格から任意の距離で指値注文を設定することができるようになる機能性の実装のためのトレードシグナルモジュールコードを変更するメソッドについてお話します。それは前回バーの価格クローズまたはオープンであり、あるいは移動平均の値の可能性があります。オプションは数多くあります。重要なことは指値注文に対して任意の始値を設定することができるということです。本稿は指値注文でトレードを行うトレーダーにとっては有用なものとなるでしょう。

MQL5 ウィザードを用いて作成されている Expert Advisor は現在価格から固定された距離にある指値注文しかオープンすることができません。これはマーケット状況が変化すれば(たとえばマーケット予想変動価格の変 化)、 Expert Advisor は新しいパラメータで再び実行しなければならないということです。

これは多くのトレーディングシステムにとって適したものではありません。ほとんどの場 合、指し値注文に対する価格レベルはトレーディングシステムによって動的に判断されます。また、現在価格からの距離は常に変化しています。本稿では現在価 格から変化する距離で指値注文をオープンできるように MQL5 ウィザードを用いて作成されるExpert Advisor を変更する方法を述べていきます。

Fig. 1. Signal_PriceLevel=-50

作者: Karputov Vladimir

 

例えば、CMySignalEnvelopes::LongConditionとCMySignalEnvelopes::ShortConditionのメソッドでは、オブジェクトm_signalへのNULLポインタのチェックがされていない状態で呼び出され、CMySignalEnvelopes::GetPriceLevelStoppのメソッドでは、初期化されていないローカル変数temp...の現在値からの減算が適用されています。


私の疑問は以下の通りです。
第一に、パラメータの変更はSignal_PriceLevel Expert Advisorの外部設定の値を平準化するため、ユーザーを惑わす可能性があります。
第二に、この変更はメインモジュールのフィールドを通過するため、他のモジュールの動作に影響を与える可能性があります。
第三に、この変更が行われるメソッドは機能的に特定の目的のために機能します。

この場合、新規注文のパラメータを変更するために、基本クラスCExpertSignalは、OpenLongParams、OpenShortParamsという特定の仮想メソッドを持っています。これらのメソッドを呼び出せるようにするには、初期化時にGeneralメソッドを呼び出し、そのクラスのオブジェクトインデックスを渡せば十分です。

一般的に、システム・ライブラリの拡張が提案されているあなたや私の ような記事には、少なくともこれらのライブラリのMQ開発者からのちょっとしたコメントが添えられていることを望みます。

 

コードをありがとうございます。

ところで、このコードを実行しようとしているのですが、結果には異なる価格での売買が含まれているのですが、いくつかの取引があったとしても、利益欄は常にゼロです。

これは、異なるシンボルと時間で発生します。

ご助力をお願いします。

ファイル:
 
シェアしてくれてありがとう。
 
hongtao:
シェアしてくれてありがとう。
カウマン、分析ありがとう。
 
このEAは、現在のレベルより数十pips上下に保留注文を設定していると読みました。このEAでは、どのようにサポートポイントとレジスタンスポイントを設定するのでしょうか?例えば、直前のKラインの最小値、最大値を計算し、最小値、最大値でペンディングオーダーを設定します。
 

こんにちは、カルプトフ

素晴らしいチュートリアルをありがとうございます。お聞きしたいのですが、このコードを変更して、EAがオープンヘッジのペンディングオーダーを出せるようにすることは可能でしょうか?

私は以下の戦略でゴールドのみを取引しています:

1. 12 SMA が 20 SMA を上回ったら、以下のように買いの逆指値注文と売りの指値注文を発注したい;

例えば、SMAがクロスした現在の価格が$1300.00の場合;

1番目の買い指値 @ 1302.00 & 売り指値 @ 1302.50

2番目の買いストップ @ 1303.00 & 売り指値 @ 1303.50

3番目の買いストップ @ 1304.00 & 売り指値 @ 1304.50

4番目の買いストップ @ 1305.00 & 売り指値 @ 1305.50


2. 12 SMA が 20 SMA を下回る場合、以下のように売り逆指値と買い指値を発注したい;

例えば、SMAがクロスした現在の価格が$1300.00の場合;

1番目の売り逆指値 @ 1298.00 & 買い指値 @ 1297.50

2番目の売り指値 @ 1297.00 & 買い指値 @ 1296.50

3番目の売りストップ @ 1296.00 & 買い指値 @ 1295.50

4番目の売りストップ @ 1295.00 & 買い指値 @ 1294.50


EAが注文サイズを手動で受け付け、上記のSMAクロスに基づいて保留中の注文を出す必要があります。現在、仮想サーバーを 使用したMT4プラットフォームで取引しており、これを行うEAをあちこち探しました。一番近いのはMT5プラットフォーム用のEAしか見つからなかったので、必要であればMT5に切り替えるつもりです。このコードを書くのを手伝っていただけると幸いです。


ありがとうございます。

開発者

 
Deven Parmar :

***

注文サイズを手動で受け付け、上記の SMA のクロスに基づいて保留中の注文を発注する EA が必要です。現在、仮想サーバーを 使用したMT4プラットフォームで取引しており、これを行うEAをあちこち探しました。一番近いのはMT5プラットフォーム用のEAしか見つからなかったので、必要であればMT5に切り替えようと思っています。このコードを書くのを手伝ってもらえるとうれしいです。

***

CodeBaseで適切なアドバイザーを探す必要があります。またはFreelanceに連絡してください。あなたの質問はこの記事のトピックではありません。

 
Vladimir Karputov:

CodeBaseで適切なアドバイザーを探す必要がある。またはFreelanceに連絡してください。あなたの質問はこの記事のトピックではありません。

この記事のトピックではないことは理解していますが、このEAを私が望むように動作するように修正し、再コード化するのを手伝ってもらうことは可能ですか?私はコーディングが得意ではありません。

 
Deven Parmar :

この記事のテーマではないことは理解していますが、このEAを私が望むように動作するように修正し、再コード化するのを手伝っていただくことは可能でしょうか?私はコーディングが得意ではありません。

あなたはディスカッションの記事にこう書いています。フォーラムに "Help me find an adviser who works withpending orders." というトピックを作成した方がいいでしょう。もしかしたら、あなたが助けてくれるかもしれません。

 
Vladimir Karputov:

あなたは議論記事に書いている。フォーラムに "Help me find an adviser who works withpending orders." というトピックを立てた方がいい。もしかしたら助けてくれるかもしれない。

なるほど、おっしゃることがよくわかりました。ありがとう。