MQL言語(MT4の)によってこのような ことが可能かどうか教えてください。…

MQL言語(MT4の)によってこのような
ことが可能かどうか教えてください。ある特定の足の形
が完成したら、チャートに目印・サインを表示させると
同時にアラーム音を1回だけ鳴らすというものです。

例えば、添付図のように「包み足の包み足」
が完成したらチャート内にサインを表示させ、
アラーム音を1回だけ鳴らすというツールが
作成可能かどうかを知りたいです。
また、その難易度はいかほどのものかも
ご教授願えればありがたいです。
当方、VisualBasc(Ver2010)は
多少の知識を持っておりますが、MQLは
全く未知の言語です。MQLはC言語を踏襲して
るとのことですが、C言語は若い頃に挫折した経緯
がありまして、また、あれを勉強しなきゃイカン
のかと思うと心配です・・。

C言語,VisualBasc,Ver2010,MQL,チャート,MQL4,アラーム音

回答1

簡単に作成可能だと思いますが,C言語はどの部分で挫折しましたか?
最低でif文とfor文,配列などを理解していれば,大丈夫ではないですか?
もし,if文やfor文で挫折していたとしたら,ちょっと無理です。

チャート内にサインを表示させ、アラーム音を1回だけ鳴らす処理は別にして,
「包み足の包み足」が完成したかどうかの判定は下記のとおりでできるのでは?

//Up_Down_Up:上昇→下降→上昇時の「包み」完成のとき1,そうでないとき0に設定される
Up_Down_Up =0;
if( Close[3] < Open[2] && Open[3] > Close[2] && Open[2] < Close[1] && Close[2] > Open[1] ) Up_Down_Up =1;
//Down_Up_Down:下降→上昇→下降時の「包み」完成のとき1,そうでないとき0に設定される
Down_Up_Down =0;
if( Open[3] < Close[2] && Close[3] > Open[2] && Close[2] < Open[1] && Open[2] > Close[1] ) Down_Up_Down =1;

// チャート内にサインを表示させ、アラーム音を1回だけ鳴らす処理
if( Up_Down_Up == 1 || Down_Up_Down == 1)
{ // チャート内にサインを表示させ、アラーム音を1回だけ鳴らす}

ただし,上記の処理は,新しい足の始まるごとに1回だけ処理するようにしないと
アラーム音が鳴ったらその足の間中鳴りっぱなしになります。なぜなら,MQL4のStart関数は,tick変動ごとに実行されるevent駆動型だからです。
新しい足の始まるごとに1回だけ処理する方法は,http://konnafx.exblog.jp/13380081/
などを見てください。

しかし,”包み足の包み足が完成したらチャート内にサインを表示させ、アラーム音を1回だけ鳴らして,それを見て周りの状況からエントリーするかどうかを裁量で判定する,というのなら,その周りの状況もきちんと定式化して,それも条件に含めて OrderSendを出すようにEA化すれば,裁量部分を避けられますがね。
MQL4はまぁ相当複雑な条件でも実現可能です。質問者様の条件などは,とても簡単なほうだと思いますよ。

Originally posted 2019-09-09 19:46:21.

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


Translate »