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

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

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

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

Q&A

2回答

6522閲覧

MQL4にて複数の条件を満たす記述方法

tackn

総合スコア6

MQL4

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

0グッド

0クリップ

投稿2018/04/20 05:25

MQL4にて複数の条件を満たした際にシグナルを発するインジケーターを作成したい。

例として、
①RSIが条件を満たした後、
②MACDが初めて条件を満たした時点でシグナルを発したいです。


double MACDa=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i); double MACDb=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1); double MACDc=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,i); double MACDd=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,i+1); double RSIa=iRSI(NULL,0,14,PRICE_CLOSE,i); double RSIb=iRSI(NULL,0,14,PRICE_CLOSE,i+1); iRSI(NULL,0,14,PRICE_CLOSE,0);

}
//もしRSIが30以未満から30以上になってMACDが交差した場合
if(MACDb<MACDd && MACDa>MACDc && RSIa<30 && RSIa>=30)


上記条件文ですと、①と②の条件を同時間に同時に満たさないと発動しないのですが、①を満たした後に、時間差があったとしても②の条件を満たした瞬間にシグナルを発するようにプログラムしたいです。

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

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

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

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

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

guest

回答2

0

グローバル変数の補足
グローバル変数の説明は別質問に書きました。
https://teratail.com/questions/243365

下記の内容をプログラムに書き起こしてください

フラグが0か1かを判定
0ならRSIの値を確認
目標値に達成したらグローバル変数(フラグ)を0から1にする

フラグが0か1を判定
1ならMACDの値を確認
目標値に達成したらシグナルを鳴らす

フラグをリセットする(0にする)条件を書く

投稿2020/03/14 04:54

AMK

総合スコア765

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

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

0

「時間差」は何本分まで許容ですか?
プログラムを見る限り、1本分までの許容?

恐らく、何本分でも良いとの事であれば、
方法は2つあって、

1)ループ処理を駆使してMACDの条件を満たした場合、過去にさかのぼって①の条件を満たしているかチェックする。

2)①の条件を満たしたら、グローバル変数のフラグを立てて、
フラグが立っている時のみ、②の条件をチェックし、条件を満たしたら、フラグを戻す。

3)その他
①と②の間の本数が決まっているのであれば、ORで全ての条件を べたで書く。

投稿2018/05/02 01:25

tomari_perform

総合スコア760

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

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

Niniad

2020/02/25 04:20

2)グローバル変数でフラグを立てるというのはどういうコードでかけますでしょうか? MQL4での情報が見当たらず困っています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問