一つのチャートでまとめて陽線陰線の本数を監視するインジ
連続100本までOKになりましたw
パラメーターは適当にいじっていただければと思います。
extern string Pairs = "USDJPY,EURUSD,GBPUSD,AUDUSD,USDCHF,USDCAD,EURJPY,GBPJPY,AUDJPY,CHFJPY,CADJPY";
extern string Periods = "1,5,15,30,60,240";
extern int settimer = 15;
extern color FColor = clrWhite;
extern int AlertLebel = 4;
extern int AlertInterval = 60;
extern color AlertColor = clrMagenta;
ダウンロードはこちらから
!!_candle_dashbord_alert_v0.mq4
https://ux.getuploader.com/omox/download/10
やっと表示できるようになりました!嬉しいです。
4本以上でピンクにしています。
このくらいで処理時間は約1秒です。5秒間隔で動きます。これはパラメータで指定できます。
通貨ペア、ペリオッド(時間)は自由に設定できます。
アラートはこれから入れます。ご要望などありましたらコメントお願いします。
[f:id:omosiroizo:20180717202855j:plain]
ダウンロード
https://ux.getuploader.com/omox/download/1
!!_candle_dashbord.mql
テスト版ですが。。。よかったら試してください。でも
ブログに張り付けると文字化けしてしますね。ちょっといろいろやってみます。
ファイル添付の方法を探したほうがよさそうですねwちょっとおまちください。
//Candle_alert_v1.mql
#property indicator_separate_window
string UniqueName = "Candle_alert_v1";extern string Pairs = "USDJPY,EURUSD,GBPUSD,AUDUSD,USDCHF,CADUSD,EURJPY,GBPJPY,AUDJPY,CHFJPY,CADJPY";
extern string Periods = "1,5,15,30,60,240";
extern int settimer = 5;
extern color FColor = clrWhite;
extern color AlertColor = clrMagenta;
extern color SymbolColor = clrYellow;
extern color PeriodColor = clrAqua;
extern int Xshift = 160;
extern int Yshift = 30;
extern int XSize = 70;
extern int YSize = 25;
extern int FSize = 14;
extern int XRowSize = 500;
int i,j;
int x,y;
string Sym_arr; // Pairs symbols
int Sym_count; // Number of symbols
string Period_arr;
int Period_count;
string Name;
string text;
int msgret;//test
int OnInit()
{
EventSetTimer(settimer);
split(Sym_arr, Pairs, ",");
Sym_count = ArraySize(Sym_arr);
for (i=0; i < Sym_count; i++)
{
text = Sym_arr[i] ;
x = 0;
y = Yshift + YSize * i;
Comment(y);
Name = UniqueName + ":SYMBOL:" + i;
//ObjectDelete(Name);
ObjectCreate(Name, OBJ_LABEL,1,Time[0],Close[0]);
ObjectSetText(Name, text , FSize , "MS ゴシック" , SymbolColor);
ObjectSet( Name, OBJPROP_XDISTANCE, x);
ObjectSet( Name, OBJPROP_YDISTANCE, y);
}
//
split(Period_arr, Periods, ",");
Period_count = ArraySize(Period_arr);
for (i=0; i < Period_count; i++)
{
text = Period_arr[i] ;
x = Xshift + XSize * i;
y = 0;
Name = UniqueName + ":PERIOD:" + i;
//ObjectDelete(Name);
ObjectCreate(Name, OBJ_LABEL,1,Time[0],Close[0]);
ObjectSetText(Name, text , FSize , "MS ゴシック" , PeriodColor);
ObjectSet( Name, OBJPROP_XDISTANCE, x);
ObjectSet( Name, OBJPROP_YDISTANCE, y);
}
for (i=0; i < Sym_count; i++)
{
y = Yshift + YSize * i;
for (j=0; j < Period_count; j++)
{
x = Xshift + XSize * j;
Name = UniqueName + ":STATUS:" + Sym_arr[i] + Period_arr[j];
ObjectCreate(Name, OBJ_LABEL,1,Time[0],Close[0]);
ObjectSetText(Name, "?" , FSize , "MS ゴシック" , FColor);
ObjectSet( Name, OBJPROP_XDISTANCE, x);
ObjectSet( Name, OBJPROP_YDISTANCE, y);
}
}
return(0);
}
int deinit()
{
EventKillTimer();
ObjectDelete(Name);
return(0);
}
int start()
{
return(0);
}
void OnTimer()
{
datetime t = TimeCurrent();
int status = 0;
color c;
for (i=0; i < Sym_count; i++)
{
for (j=0; j < Period_count; j++)
{
Name = UniqueName + ":STATUS:" + Sym_arr[i] + Period_arr[j];
status = XStatus(Sym_arr[i],Period_arr[j]);
ObjectSetText(Name,status, FSize , "MS ゴシック" , FColor);
if (status >= 4 || status <= -4) c = AlertColor;//
else c = FColor;
ObjectSet( Name, OBJPROP_COLOR,c);
}
}
Comment*1>0)
{ ret = 1;
if*2>0)
{ ret = 2;
if*3>0)
{ ret = 3;
if*4>0)
{ ret = 4;
if*5>0)
{ ret = 5;
if*6>0)
{ ret = 6;
}
}
}
}
}
}
if*7<0)
{ ret = -1;
if*8<0)
{ ret = -2;
if*9<0)
{ ret = -3;
if*10<0)
{ ret = -4;
if*11<0)
{ ret = -5;
if*12<0)
{ ret = -6;
}
}
}
}
}
}
return ret;
}
void split(string& arr[], string str, string sym)
{
ArrayResize(arr, 0);
string item;
int pos, size;
int len = StringLen(str);
for (i=0; i < len;) {
pos = StringFind(str, sym, i);
if (pos == -1) pos = len;
item = StringSubstr(str, i, pos-i);
item = StringTrimLeft(item);
item = StringTrimRight(item);
size = ArraySize(arr);
ArrayResize(arr, size+1);
arr[size] = item;
i = pos+1;
}
}
*1:TimeCurrent() - t) + " sec"); } int XStatus(string symbol, string period) { int ret = 0; if((iClose(symbol,period,0)-iOpen(symbol,period,0
*2:iClose(symbol, period,1) - iOpen(symbol, period,1
*3:iClose(symbol, period,2) - iOpen(symbol, period,2
*4:iClose(symbol, period,3) - iOpen(symbol, period,3
*5:iClose(symbol, period,4) - iOpen(symbol, period,4
*6:iClose(symbol, period,5) - iOpen(symbol, period,5
*7:iClose(symbol,period,0)-iOpen(symbol,period,0
*8:iClose(symbol, period,1) - iOpen(symbol, period,1
*9:iClose(symbol, period,2) - iOpen(symbol, period,2
*10:iClose(symbol, period,3) - iOpen(symbol, period,3
*11:iClose(symbol, period,4) - iOpen(symbol, period,4
*12:iClose(symbol, period,5) - iOpen(symbol, period,5