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

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

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

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

Q&A

1回答

633閲覧

MT4の矢印の表示とアラートのタイミングについて質問です

marupon

総合スコア12

MQL4

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

0グッド

0クリップ

投稿2019/05/24 21:01

編集2022/01/12 10:55

今現在、次の足に代わる直前に矢印が出てアラートが鳴るのですが条件を満たした時点で矢印+アラートを表示するにはどこをどのように変更したら良いのですか?
宜しくおねがいします

int

1double high, low, smin, smax; 2double val1[]; 3double val2[]; 4double Bor_BufferH[]; 5double Bor_BufferL[]; 6double Range; 7bool uptrend, old; 8 9//+------------------------------------------------------------------+ 10//| Custom indicator initialization function | 11//+------------------------------------------------------------------+ 12int init() 13{ 14 SetIndexStyle(0, DRAW_ARROW, EMPTY,2); 15 SetIndexArrow(0, 233); 16 SetIndexBuffer(0, val1); 17 SetIndexDrawBegin(0, 2*POI); 18 // 19 SetIndexStyle(1, DRAW_ARROW, EMPTY,2); 20 SetIndexArrow(1, 234); 21 SetIndexBuffer(1, val2); 22 SetIndexDrawBegin(1, 2*POI); 23 // 24 SetIndexStyle(2, DRAW_NONE); 25 SetIndexBuffer(2, Bor_BufferH); 26 SetIndexLabel(2, "High"); 27 SetIndexDrawBegin(2, 2*POI); 28 // 29 SetIndexStyle(3, DRAW_NONE); 30 SetIndexBuffer(3, Bor_BufferL); 31 SetIndexLabel(3, "Low"); 32 SetIndexDrawBegin(3, 2*POI); 33 // 34 val1[i] = low- Range*0.5; 35 val2[i] = high + Range*0.5; 36 //---- 37 return(0); 38} 39 40//+------------------------------------------------------------------+ 41//| Calculation of SilverTrend lines | 42//+------------------------------------------------------------------+ 43int start() 44{ 45 int counted_bars = IndicatorCounted(); 46 47 if(counted_bars > 0) counted_bars--; 48 //---- 49 if(Bars <= POI + 0) return(0); 50 //---- initial zero 51 uptrend =false; 52 old =false; 53 GlobalVariableSet("goSELL", 0); 54 GlobalVariableSet("goBUY", 0); 55 string sAlertMsg; 56 57 static datetime prevtime=0; 58 59 if(prevtime == Time[0]) { 60 return(0); 61 } 62 63 prevtime = Time[0]; 64 65 //---- 66 for(i = CountBars - POI; i >= 0; i--) 67 { 68 high = High[iHighest(Symbol(),0,MODE_HIGH,POI,i)]; 69 low = Low[iLowest(Symbol(),0,MODE_LOW,POI,i)]; 70 smax = high - (high - low)* Borra / 100; 71 smin = low + (high - low)* Borra / 100; 72 val1[i] = 0; 73 val2[i] = 0; 74 75 if(Close[i] < smin && i!=0 ){ 76 uptrend = false; 77 } 78 if(Close[i] > smax && i!=0 ){ 79 uptrend = true; 80 } 81 82 if(uptrend != old && uptrend == false){ 83 val2[i] = high; 84 85 if(i == 0){ 86 GlobalVariableSet("goBUY",1); 87 } 88 } 89 90 if(uptrend != old && uptrend == true ){ 91 val1[i] = low; 92 93 if(i == 0){ 94 GlobalVariableSet("goSELL",1); 95 } 96 } 97 98 old=uptrend; 99 Bor_BufferH[i]=high - (high - low)*Borra / 100; 100 Bor_BufferL[i]=low + (high - low)*Borra / 100; 101 102 //Alerts an Email 103 if(val1[1] > 0 && i==0){ 104 sAlertMsg=" Buy - "+Symbol()+" "+TF2Str(Period())+": Signal Up"; 105 if (Alert_Popup) Alert(sAlertMsg); 106 if (AlertsSound) PlaySound(Symbol()+".wav"); 107 if (Alert_Email) SendMail( sAlertMsg, "MT4 Alert!\n" + TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS )+"\n"+sAlertMsg); 108 } 109 110 if(val2[1] > 0 && i==0){ 111 sAlertMsg="Sell - "+Symbol()+" "+TF2Str(Period())+": Signal Down"; 112 if (Alert_Popup) Alert(sAlertMsg); 113 if (AlertsSound) PlaySound(Symbol()+".wav"); 114 if (Alert_Email) SendMail( sAlertMsg, "MT4 Alert!\n" + TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS )+"\n"+sAlertMsg); 115 } 116 // 117 } 118 return(0); 119} 120//----------------------------------------------------------------------------- 121// function: TF2Str() 122// Description: Convert time-frame to a string 123//----------------------------------------------------------------------------- 124string TF2Str(int iPeriod) { 125 switch(iPeriod) { 126 case PERIOD_M1: return("M1"); 127 case PERIOD_M5: return("M5"); 128 case PERIOD_M15: return("M15"); 129 case PERIOD_M30: return("M30"); 130 case PERIOD_H1: return("H1"); 131 case PERIOD_H4: return("H4"); 132 case PERIOD_D1: return("D1"); 133 case PERIOD_W1: return("W1"); 134 case PERIOD_MN1: return("MN1"); 135 default: return("M"+iPeriod); 136 } 137} 138// 139

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

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

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

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

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

guest

回答1

0

val1[i]に値が入ってる=アラート条件なら入れたタイミングで

MQL

1Alert("アラートしたい文字");

で出来ますよ

投稿2019/07/02 05:19

miya71ma

総合スコア49

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問