[ MT4 プログラム中級編 ]



----------------------------お知らせ----------------------------
現在システムトレード研究所では、オーダーシステムのサービスを実施しています。

オーダーシステムとは、注文者から売買ルールを聞き、そのルールで完全自動売買を行えるシステムを製作するサービスのことです。

システムトレードをしてみたいが、どうしても自分にはシステムが作れない、儲かりそうな売買ルールを考えたが自分ではシステム化する技術がないとお悩みの方は、是非ご利用ください。

オーダーシステムのページは下記のアドレスになります。
http://jidoubaibai.com/Ordersystem.html
---------------------------------------------------------------



こんばんは、DCです。今日は、「アラートを鳴らす方法」という内容です。


サンプルプログラムはこちらです。
http://jidoubaibai.com/Sample%20Alert.mq4


サンプルプログラムの使い方は、こちらで説明しています。 
http://jidoubaibai.com/burogu11.html


今回もMetaTrader4プログラムの記事です。前回のComment関数の記事が思いのほか好評でしたので、今回も似たような関数を紹介していきます。今回紹介するのはアラートを鳴らす関数です。この関数を使用することで、特定の場面でアラートを鳴らすことが出来ます。パソコンの近くにはいるが、いちいち画面を見ているのは面倒だという時などに役に立ちます。シグナルが出た時にアラートをなるようにしておくと、シグナルが出た時に音を出してシグナルが出たことを知らせてくれます。


アラートを鳴らすには、Alert関数を使用します。使い方はPrint関数Comment関数などとほとんど同じです。


Alert(“RSIが30以下になりました  RSI = ”,RSI);


このように使用します。ただ、Comment関数などと違う注意点があります。Alert関数は条件が成立している間中ずっと鳴り続けてしまいますので、一度アラートが鳴ったら次の条件成立まで鳴らないようにする処理が必要になります。


方法としては、グローバル変数を使用します。グローバル変数について分からない人は下記のアドレスのページで解説していますので、ご覧下さい。

http://mastertraders.livedoor.biz/archives/50553465.html


まず、int start()の上で変数宣言をしてフラグを作ります。このフラグで、アラートがシグナルが出てから一度もなっていないかどうかを判断します。次に、シグナルの条件の後にこのフラグを使って、一度もなっていなかったらという条件のif文を付けます。これにより二度目以降を鳴らさないようにします。


次に、シグナルが成立してAlert関数で音を鳴らした後に、フラグを立てておきます。最後にシグナルが出なくなったときにフラグを元に戻します。これでシグナルが成立してからアラートが一度しかならないようにすることが可能です。この処理を実際にプログラムのコードに書くと下記のようになります。



//グローバル変数
bool AlertFlag = false;

int start()
{
//変数の宣言
double RSI;

RSI = iRSI(NULL,0,14,PRICE_CLOSE,0);

if( RSI >= 70 )
{
//まだ一度も鳴っていなかったら
if( AlertFlag == false)
{

//アラートを鳴らす
Alert(' RSIが70以上になりました RSI = ',RSI);

//連続でならないようにする処理
AlertFlag = true;

}

}
//それ以外だったら
else
{
//また条件が一致したらアラートを鳴らすようにする
AlertFlag = false;
}

return(0);
}



サンプルプログラムはこのコードにif文を一つ増やして、RSIが70以上の時と30以下の時にアラートが鳴るようにしています。また、現在のRSIの数値が分かるようにComment関数でチャートにRSIの数値を表示しています。


最後に注意点として、Comment関数と同じで、Alert関数を使用する場合はそのシステムが動いていないと駄目です。他のシステムを動かすときみたいにニコマークを出してください。また、ニコマークが出てからレートが動かないとアラートが鳴りませんので、ご注意下さい。



expert



条件が成立して、Alert関数が実行された時は、アラート音と一緒に画像のような新しいウィンドウが出てきます。(画像が表示されない方は画像をクリックして下さい)




システムトレード研究所〜FXで完全自動売買〜INDEXへ


----------------------注意----------------------
半角のスペースが認識されない為、コードを見易くするために全角で書いている場合があります。実際にプログラムにコードを書くときは、コピー&ペーストせずに半角で書いて行って下さい。

また、内容には注意を払っていますが、保障は出来ません。実際に運用する場合は、自己責任でお願いします。

------------------------------------------------------


 一言でも構いませんので、メルマガの感想文を書いて送ってください。


 皆さんの一言が私の励みになり、良いメルマガを書こうという意欲になります。


 ↓のアドレスからお願いします。


 http://jidoubaibai.com/kannsou.html

 宜しくお願いします。



システムトレード研究所〜FXで完全自動売買〜 管理人DC