2015-09-20|MT4でFXを勝ち抜く研究をするブログMT4でFXを勝ち抜く研究をするブログ新ブログはこちらへhttps://trv-and-mt4.blogspot.com/ハーモニックパターン検出インジケータV10取説2015年9月25日金曜日[MT4プログラミング]二つの指標間に雲を描くコメントにて雲を描いてはどうですか?というご意見があって、そもそもチャートに曇ってどうやって描くの?っていうところからスタートです^^;;やり方はいくつかあると思うのですが、ここではヒストグラムを使った雲の描画をまず行いたいと思います。サブウィンドウ上でのヒストグラムは、0を起点として描かれますが、チャート上では少し特殊な仕様となります。二つのバッファがセットになります。#property定義では奇数-偶数というセットになります。1実際のバッファ指定ではバッファインデックス偶数-奇数のセットとなります。ヒストグラムを描画する場合二つのバッファがセットになる。偶数-奇数のペアにする。up[i]の場合、バッファ1側の色(clrIndianRed)が使われるSetIndexBuffer(0,up);SetIndexBuffer(1,down);このとき、描画されるスタイルやカラーは値が大きいほうが採用されます。down[i]の時はindicator_color2で指定されているclrIndianRedが使用されます。down[i]の時には描画されません。いうことで、試しに二つの移動平均間をヒストグラムで結ぶプログラムを書いてみました。雲の形は階層状になっていたほうがそれっぽいなぁと思い、上位時間足の移動平均をもとに描画するようになっています。indicator_chart_window//バッファーを指定する。4//プロット数を指定する。ヒストグラムを描画する場合二つのバッファがセットになる。偶数-奇数のペアにする。ma2[i];}//元となる値を計算する。周期解析とCycleCancelEMAここ最近周期解析は15分足で見ています。15分足だと周期解析のクロスがそれなりに発生します。1時間より長いスパンだと価格の振動成分がバーの中に隠れてしまい、現在リリースしている周期解析ではクロスがあまり発生しません。逆にCycleCancelEMAはあまり短い足で見てしまうとキャンセルしきれず、クロスが多発することになります。こちらは1時間足で見るとちょうどよい感じでデフォルトのパラメータを調整しています。周期解析とCycleCancelEMAは同じ時間足ではなくて、周期解析を短い足、CycleCancleEMAをそれより長い足に適用すると見やすくなりますので、よろしければご確認ください。FX-ON様で好評発売中(?)の周期解析ですが、CycleCancelEMAにアラート機能を付けてほしいとのご要望がありましたので、対応いたします。ただいまテスト中ですので、しばらくお待ちください。アップデートに従い下記設定を追加しました。false;//条件に一致した場合、サウンドを鳴らす。"alert.wav";//条件に一致した場合、メールを送信する。true;IsCurrentCrossAlertをtrueにした場合、その後価格が動いて実際にはクロスとならない場合がございますのでご注意ください。メールを送信する場合はMT4の設定が必要です。各入力項目は、ご使用されているプロパイダ様にお問い合わせください。販売中インジケータ2015年9月20日日曜日[MT4インジケータ&プログラミング]状況に応じて色が変わるボリンジャーバンドで音を鳴らしてメールを送る。上位時間足を表示するカラフルなボリンジャーバンドをさらに改造して、アラート音とメールを出せるようにします。アラート音を鳴らすにはPlaySound関数を使用します。PlaySound関数は引数は一つだけでファイル名を指定します。//ファイル名);ここでのファイル名は、MT4インストールフォルダ内のSoundsフォルダのWAVファイルを指定可能です。自分でオリジナルアラート音を追加したい場合はWAVファイルにして、このフォルダに入れる必要があります。WAVファイルの作成ツールはたくさんありますので、そちらを利用します。再生時間が長すぎるととても大きなファイルになるため注意です。Soundsフォルダ初期ファイルとして、すでにいくつかファイルがあります。alert.wavを鳴らす場合はPlaySound("alerf.wav");と指定します。PlaySound(NULL);と指定するようです。メールの送信はSendMail関数で行います。メール本文);この関数は送信先アドレスなどの設定は行えません。MT4で設定できるため、そちらで設定しておく必要があります。MT4のメニューからツール→オプションでオプション画面を開きE-メールタブで編集します。各項目は、使用しているプロパイダから取得できますので、プロパイダの設定手順書などを参考にしてみてください。Gmailとかも使える様子。なんだか使えないっていう記事も見かけますが。海外のほうではつながったーという記事も多々あるため、古いMT4の問題なんだろうなーと。現状でもつながらない場合は、たぶんGmailのAPPPINとかの問題ではないかなーとか。問題になっている人がいるようなら、今度調べて手順を記事にしてみようかな。ローカルにSMTPサーバー立てて中継させるとか面倒なことはせずとも対応可能なはず。おき、メールの設定が終わってテストが通っている前提で下記のインジケータを作成しました。表示中チャートの終値が、表示中時間足ボリンジャーバンドの?σを超えた場合、音を鳴らしてメールを送信するプログラムです。それぞれ、IsAlertMailとIsAlertSoundをFalseにすることで、機能を停止することができるようにしておきました。FX-ONにも無料インジケータとして登録しましたので、コンパイルが面倒な方はそちらからダウンロードしてみてください。PCに入れ替えました。MT4は問題なく動作しております。CPU使用率は相変わらず低い感じです。最近CPUとか、もうどうでもいい感じですよね^^;;;CPUパワー不足で困ったことがほとんどない・・。indicator_chart_window//バッファーを指定する。10//プロット数を指定する。2;//条件に一致した場合、サウンドを鳴らす。"alert.wav";//条件に一致した場合、メールを送信する。OnInit(){//インジケーターバッファを初期化する。1);//ひとつ前の値は、表示している時間足の切り替えが発生したかどうかで変わる。移動平均の方向によって値を設定するバッファーを変更する。1);//ひとつ前の値は、表示している時間足の切り替えが発生したかどうかで変わる。標準偏差の大きさによって値を入れるバッファを切り替える。前回がアラートシグマ未満で、今回がアラートシグマ以上なら音をならしてメールを送信する。過去データの計算でアラートが発生するのを防止するため、iが1の時のみ。"ColorfulMTBBの設定によりアラートメールを送信しました。★相互リンク募集中★トレードステーションと株・FX自動売買で暮らす茶トラがFX検証中。人気の投稿[MT4プログラミング]MT4のチャート上に矢印を表示する。