質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

Q&A

1回答

1728閲覧

MQL4-iCustomのシグナルが実際の矢印位置とずれてしまいます。

tanaka_akiosan

総合スコア6

MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

0グッド

0クリップ

投稿2018/04/05 05:59

前提・実現したいこと

MQL4でインジケーターからの矢印のシグナルを受信して売買をさせたいのですが
iCustomを使っています。
バッファー0、1で売り、買いのシグナルを受信して
バックテストをするとどうしても、矢印のシグナルの位置とオーダーの
位置がずれてしまいます。ローソク足1本どころではなく、けっこう関係ない位置で
オーダーが出たりしています。
原因がわかりません。インジケータ側は、矢印はrepaintしないのですが
バッファーの中に数値を入れて中身が空っぽでなくなったときに
矢印を出す仕組みです。矢印は連続してださないように
1個目の矢印がでたらフラグを立てて1個以上は表示させないようになっています。
iCustomでシグナルを受信するとき、もしかしたら連続してシグナルが出ていて
それを連続受信して、矢印と関係ない位置でオーダーを出したりしているのかなとも
思ったのですが、iCustomの使い方は合っていますでしょうか?
矢印の位置とオーダーの位置がずれてしまう原因はわかりますでしょうか?

icustomのソースコード

// icustomで、インジケーターの矢印のシグナルを受信する
int sell = iCustom(NULL,0,"SIG",0,1);
int buy = iCustom(NULL,0,"SIG",1,1);

### 持ち玉の処理と、シグナルで売買する箇所のコード // 下向きの矢印がでて、売りポジションがなければ成行売り if ( sell!= EMPTY_VALUE ) { // 買いポジションがあれば決済 if ( B==1 ) { OrderClose( Ticket,lot,Bid,30,White); ErrCode = GetLastError(); B=0; } // レートのリフレッシュ RefreshRates(); // エラーなし、かつ ポジションを持っていなければ売り注文 if (ErrCode == 0 && sell!= EMPTY_VALUE && S!=1 ) { OrderSend(Symbol(),OP_SELL,lot,Bid,30,0,0,NULL,MAGIC_NO,0,Blue); ErrCode = GetLastError(); S=1; ![イメージ説明](7e5a429b1d53ee8a1954aea86749258f.jpeg)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

私もEAを作成し始めて間もないので詳細はわからないのですが、OnTick関数が一定時間に終わらないと処理が次のTickに進んでしまうのではないかと推測し、iCustomで使用しているインジケータのロジックをEAに移植したところ、ほぼシグナルどおりのオーダーを出すようになりました。
(iCustomの処理は遅いようですので、重いインジケータだとほとんどオーダーしてくれません)

参考までに。(自動売買EA(MT4)-EAの売買タイミング)
ブログ

投稿2018/04/17 10:09

編集2018/04/17 12:29
kiyohisa

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tanaka_akiosan

2018/04/18 04:06

ありがとうございます。お返事が遅れて申し訳ありませんでした。 そのようなこともあるのですね。あきらかにシグナルの位置と、オーダーの位置がずれずれで なおかつ、矢印を飛ばしていたり、ぱっと見ランダム売買??みたいな印象です。ロジック移植は けっこう複雑であまりやりたくないですが、仕方ないですね。。。。 せっかく外部のインジを使ってEA自体はシンプルにいきたいのですが難しいそうですね。 ありがとうございました。 今後、じっくり時間をかけて移植にチャレンジしたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問