著者: EarnForex
「BeginnerAlert」は、MetaTrader 5用のシンプルな指標で、トレンドの極値(最高値と最低値)を表示し、サポートとレジスタンスのポイントとして活用できます。この指標は、現在のトレンドのチャネルを特定するのに役立ち、アラート機能を備えており、メールやモバイルデバイスへのプッシュ通知を送信できます。
具体的には、特定の期間を使用して最小値と最大値を見つけ、それをドットでマーキングします。
新機能の追加
アラート、メールメッセージ、プッシュ通知を実装するために、指標コードにいくつかの変更が加えられました。以下にその概要を示します。
- 新しい入力パラメータの追加:
input uint NumberofBar=1;// シグナルのためのバー番号 input bool SoundON=true;// アラートを有効にする input uint NumberofAlerts=2;// アラートの数 input bool EMailON=false;// シグナルをメールで送信する input bool PushON=false;// モバイルデバイスにシグナルを送信する
- 売買シグナル機能の追加: BuySignal()、SellSignal()、GetStringTimeframe()
//+------------------------------------------------------------------+ //| 買いシグナル関数 | //+------------------------------------------------------------------+ void BuySignal(string SignalSirname,// メールとプッシュメッセージ用のインジケーター名 double &BuyArrow[],// 買いシグナルのインジケータバッファ const int Rates_total,// 現在のバー数 const int Prev_calculated,// 前のティックのバー数 const double &Close[],// 終値 const int &Spread[])// スプレッド { //--- static uint counter=0; if(Rates_total!=Prev_calculated) counter=0; bool BuySignal=false; bool SeriesTest=ArrayGetAsSeries(BuyArrow); int index; if(SeriesTest) index=int(NumberofBar); else index=Rates_total-int(NumberofBar)-1; if(NormalizeDouble(BuyArrow[index],_Digits) && BuyArrow[index]!=EMPTY_VALUE) BuySignal=true; if(BuySignal && counter<=NumberofAlerts)
{ counter++; MqlDateTime tm; TimeToStruct(TimeCurrent(),tm); string text=TimeToString(TimeCurrent(),TIME_DATE)+" "+string(tm.hour)+":"+string(tm.min); ... } //--- } //+------------------------------------------------------------------+ - OnCalculate()ブロック内でBuySignal()とSellSignal()関数を呼び出すようにコードが追加されました。
//--- BuySignal("BeginnerAlert",BuyBuffer,rates_total,prev_calculated,Close,spread); SellSignal("BeginnerAlert",SellBuffer,rates_total,prev_calculated,Close,spread); //---
ここで、BuyBufferとSellBufferは、買いシグナルと売りシグナルを格納するための指標バッファの名前です。バッファ内の空の値は、ゼロまたはEMPTY_VALUEとして設定する必要があります。
この指標はもともとMQL4で書かれており、2008年9月3日に最初にCode Baseに公開されました。

Fig1. The BeginnerAlert indicator on the chart

Fig.2. The BeginnerAlert indicator Generating alerts.