Price Data Components
Indicators Used
1
Views
0
Downloads
0
Favorites
!_rdb_Spread_Hi_Lo
//+------------------------------------------------------------------+
//| !_rdb_Spread_Hi_Lo.mq4 |
//| rahman_DGBeta |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "rahman_Dg_Beta"
#property link "abdulrahman_maros@yahoo.com"
#property indicator_chart_window
#property indicator_buffers 0
#include <stdlib.mqh>
//--------------------------------------------------------------------
// Jika anda seorang coder terhormat dan menghormati sesama coder, jangan hapus bagian ini !
extern string CreatedBy = "rahman_Dg_Beta_/_ServerUang";
//--------------------------------------------------------------------
int MAFast_Period = 1;
int MAFast_Method = 0;
int MAFast_Apply_To = 0;
int MAFast_Shift = 0;
int MASlow_Period = 5;
int MASlow_Method = 0;
int MASlow_Apply_To = 0;
int MASlow_Shift = 0;
bool Show_Price = true;
bool Show_Buy_Sell = false;
int Sebelah = 1; //0=Kiri_Atas, 1=Kanan_Atas
bool Right_Top = true;
extern int Shift_Y = -20;
extern int Shift_X = 0; //default = 8
extern int window = 0;
bool Show_Background = true;
bool Background_Kecil = false;
color Background_S = C'25,25,25'; //C'20,20,20'; LightSteelBlue
bool Show_Garis_Signals = false;
// Untuk menentukan Warna Harga sesuai arah Trend
extern string Colors_Price ="Colors for Price";
extern color Price_color_Up = DodgerBlue;
extern color Price_color_Dn = Brown;
extern color Price_color_Dn1= Gold;
extern color Price_color_Nt = Silver;
extern color Price_color_Hi = Silver;
extern color Price_color_Lo = Silver;
extern string Colors_Data ="Colors for Data";
extern color Highest_Color = DodgerBlue;
extern color Lowest_Color = Brown;
extern color Warna_D1 = Gainsboro;
extern color Warna_Av = Gainsboro;
extern color SymbolColor = Gainsboro;
extern color LineColor = DimGray;
extern bool Show_Symbol = true;
//--------------------------------------------------------------------
int Side = 1;
//extern int MP_Y = 0;
//extern int MP_X = 0;
//--------------------------------------------------------------------
//--------------------------------------------------------------------
//===================================================================+
double vA, vB, vC, vX, vY, TFs,High_Lama, Low_Lama;
double TimeFrame, x, x1, y, z, a, space,space1, baris, fontsize, cTF, cMC, cBB, cIC, cLS, cNR;
string text, fontname, Teks_Menit, Teks_Detik;
string UpSymbol="", DnSymbol="", NtSymbol="n", SignalSymbol,MTF, Peringatan_RSI="", Peringatan_DM=""; //"ñ"
color SignalColor;
string Label_Teks="", Huruf="", Huruf1="", Huruf2="",Huruf3="", Teks="", Pesan="", nomor="";
double Nilai, y1, y2, y3, y4,d_A, d_B, TF, Range, bbP, bbMid, bbM, nilaiWarnaCandle,mylot,lot,balance1,margin,keuangan,Candle;
color WarnaHarga, WarnaTrend, WarnaCandle;
int Ukuran, Ukuran1, Ukuran2, Ukuran3,Ukuran4, n, Kolom;
// --- variabel Daili_Av --------------------------------------------
int R1, R5, R10, R20, RAvg, i;
string Teks_ReRata = "", Teks_Rerata_Kemarin ="", Nomor="";
//+------------------------------------------------------------------+
// expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
return(0); // end of init function
}
//+------------------------------------------------------------------+
// expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll(0,OBJ_LABEL);
Print("shutdown error - ",ErrorDescription(GetLastError())); // system is detached from platform
//----
//----
for(int i = ObjectsTotal() - 1; i >= 0; i--)
{
string label = ObjectName(i);
if(StringSubstr(label, 0, 4) != "MP14")
continue;
ObjectDelete(label);
} //----
return(0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//double volume10 =iVolume(NULL,PERIOD_M1,0);
//if(volume10>1) return;
int myspread;
string mysymbol="", ms="";
if (Symbol() == "AUDCADm" || Symbol() == "AUDCAD." || Symbol() == "AUDCAD") { mysymbol = "AUDCAD"; myspread=6;} else
if (Symbol() == "AUDCHFm" || Symbol() == "AUDCHF." || Symbol() == "AUDCHF") { mysymbol = "AUDCHF"; myspread=6;} else
if (Symbol() == "AUDJPYm" || Symbol() == "AUDJPY." || Symbol() == "AUDJPY") { mysymbol = "AUDJPY"; myspread=5;} else
if (Symbol() == "AUDNZDm" || Symbol() == "AUDNZD." || Symbol() == "AUDNZD") { mysymbol = "AUDNZD"; myspread=6;} else
if (Symbol() == "AUDUSDm" || Symbol() == "AUDUSD." || Symbol() == "AUDUSD") { mysymbol = "AUDUSD"; myspread=5;} else
if (Symbol() == "CHFJPYm" || Symbol() == "CHFJPY." || Symbol() == "CHFJPY") { mysymbol = "CHFJPY"; myspread=5;} else
if (Symbol() == "EURAUDm" || Symbol() == "EURAUD." || Symbol() == "EURAUD") { mysymbol = "EURAUD"; myspread=6;} else
if (Symbol() == "EURCADm" || Symbol() == "EURCAD." || Symbol() == "EURCAD") { mysymbol = "EURCAD"; myspread=7;} else
if (Symbol() == "EURCHFm" || Symbol() == "EURCHF." || Symbol() == "EURCHF") { mysymbol = "EURCHF"; myspread=6;} else
if (Symbol() == "EURGBPm" || Symbol() == "EURGBP." || Symbol() == "EURGBP") { mysymbol = "EURGBP"; myspread=6;} else
if (Symbol() == "EURJPYm" || Symbol() == "EURJPY." || Symbol() == "EURJPY") { mysymbol = "EURJPY"; myspread=6;} else
if (Symbol() == "EURUSDm" || Symbol() == "EURUSD." || Symbol() == "EURUSD") { mysymbol = "EURUSD"; myspread=5;} else
if (Symbol() == "GBPCHFm" || Symbol() == "GBPCHF." || Symbol() == "GBPCHF") { mysymbol = "GBPCHF"; myspread=11;} else
if (Symbol() == "GBPCADm" || Symbol() == "GBPCAD." || Symbol() == "GBPCAD") { mysymbol = "GBPCAD"; myspread=14;} else
if (Symbol() == "GBPJPYm" || Symbol() == "GBPJPY." || Symbol() == "GBPJPY") { mysymbol = "GBPJPY"; myspread=11;} else
if (Symbol() == "GBPUSDm" || Symbol() == "GBPUSD." || Symbol() == "GBPUSD") { mysymbol = "GBPUSD"; myspread=5;} else
if (Symbol() == "NZDCADm" || Symbol() == "NZDCAD." || Symbol() == "NZDCAD") { mysymbol = "NZDCAD"; myspread=9;} else
if (Symbol() == "NZDCHFm" || Symbol() == "NZDCHF." || Symbol() == "NZDCHF") { mysymbol = "NZDCHF"; myspread=9;} else
if (Symbol() == "NZDJPYm" || Symbol() == "NZDJPY." || Symbol() == "NZDJPY") { mysymbol = "NZDJPY"; myspread=9;} else
if (Symbol() == "NZDUSDm" || Symbol() == "NZDUSD." || Symbol() == "NZDUSD") { mysymbol = "NZDUSD"; myspread=7;} else
if (Symbol() == "USDCHFm" || Symbol() == "USDCHF." || Symbol() == "USDCHF") { mysymbol = "USDCHF"; myspread=5;} else
if (Symbol() == "USDJPYm" || Symbol() == "USDJPY." || Symbol() == "USDJPY") { mysymbol = "USDJPY"; myspread=5;} else
if (Symbol() == "USDCADm" || Symbol() == "USDCAD." || Symbol() == "USDCAD") { mysymbol = "USDCAD"; myspread=6;} else
{ mysymbol = Symbol(); }
string HoursofServer;
HoursofServer =TimeToStr(CurTime(),Digits);
//ObjectDelete("SM");
//SERVER( "SM", 110, 15,3);
//ObjectSetText( "SM", "Server Time" , 12, "Arial Narrow Bold", Silver );
//ObjectDelete("SM2");
SERVER2( "SM2", 15, 14,3);
ObjectSetText( "SM2"," "+HoursofServer+"", 12, "Arial Bold", Highest_Color );//Red
int counted_bars=IndicatorCounted();
//----
TF=Period();
if (TF==PERIOD_M1) { MTF="M1"; }
else if (TF==PERIOD_M5){ MTF="M5"; }
else if (TF==PERIOD_M15){ MTF="M15"; }
else if (TF==PERIOD_M30){ MTF="M30"; }
else if (TF==PERIOD_H1){ MTF="H1"; }
else if (TF==PERIOD_H4){ MTF="H4"; }
else if (TF==PERIOD_D1){ MTF="D1"; }
else if (TF==PERIOD_MN1){ MTF="MN1"; }
else { MTF="-"; }
//----------------------------------------------------------------------------------------------------------------------------- +
if(Show_Price==true)
{
x=10; y=50; y1=10;
double mydigit,mypoint;
if((Digits==5) || (Digits==3)) mydigit=Digits-1; else mydigit=Digits;
if((Point==0.001) || (Point==0.00001)) mypoint=Point*10; else mypoint=Point;
// Price
//Menampilkan Harga
Nilai=iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);
Teks=DoubleToStr(Nilai,(mydigit));
Huruf="Footlight MT Light"; Ukuran=19; Ukuran1=7; //34
// WarnaHarga=WarnaLampu pada trend TF 5 menit
d_A = iMA(Symbol(),PERIOD_M5,MAFast_Period,MAFast_Shift,MAFast_Method,MAFast_Apply_To,0);
d_B = iMA(Symbol(),PERIOD_M5,MASlow_Period,MASlow_Shift,MASlow_Method,MASlow_Apply_To,0);
WarnaHarga=CheckWarna(d_B, d_A, Price_color_Up, Price_color_Dn);
Write("MP01", Right_Top, Shift_X+x, Shift_Y+y+(y1*0)-18, Teks, Ukuran, Huruf, WarnaHarga);
Write("MP0111", Right_Top, Shift_X+x, Shift_Y+y+(y1*0), "_______________", Ukuran1, Huruf, LineColor);
Huruf="Tahoma Bold"; Ukuran=10;
//Menampilkan Highest Day
d_A=iHigh(NULL,1440,0);
Teks=DoubleToStr(d_A, mydigit);
Write("MP02", Right_Top,Shift_X+x, Shift_Y+y+(y1*1), Teks, Ukuran1, Huruf, Price_color_Hi);
Write("MP0211", Right_Top,Shift_X+x+40, Shift_Y+y+(y1*1), "High : ", Ukuran1, Huruf, Price_color_Hi);
//Menampilkan Lowest Day
d_B=iLow(NULL,1440,0);
Teks=DoubleToStr(d_B, mydigit);
Write("MP03", Right_Top, Shift_X+x, Shift_Y+y+(y1*2), Teks, Ukuran1, Huruf, Price_color_Lo);
Write("MP0311", Right_Top, Shift_X+x+40, Shift_Y+y+(y1*2), "Low : ", Ukuran1, Huruf, Price_color_Lo);
//--- Informasi Hi to Lo ---
Teks=DoubleToStr((d_A - d_B)/mypoint,0);
Write("MP06", Right_Top, Shift_X+x, Shift_Y+y+(y1*3), Teks, Ukuran1, Huruf, Price_color_Up);
Write("MP0611", Right_Top, Shift_X+x+40, Shift_Y+y+(y1*3), "D1 : ", Ukuran1, Huruf, Price_color_Up);
//--- Informasi Daily Av ---
R1=0; R5=0; R10=0; R20=0; RAvg=0; i=0;
R1 = (iHigh(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,1))/mypoint;
for(i=1;i<=5;i++)
R5 = R5 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/mypoint;
for(i=1;i<=10;i++)
R10 = R10 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/mypoint;
for(i=1;i<=20;i++)
R20 = R20 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/mypoint;
R5 = R5/5;
R10 = R10/10;
R20 = R20/20;
RAvg = (R1+R5+R10+R20)/4;
Teks_ReRata = (DoubleToStr(RAvg,mydigit-4));
Teks_Rerata_Kemarin = (iHigh(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,1))/mypoint;
Write("MP07", Right_Top, Shift_X+x, Shift_Y+y+(y1*4), Teks_ReRata, Ukuran1, Huruf, Warna_Av);
Write("MP0711", Right_Top, Shift_X+x+40, Shift_Y+y+(y1*4), "Av : ", Ukuran1, Huruf, Warna_Av);
//Time for Next Candle
d_B = (Time[4]-Time[5])-MathMod(CurTime(),Time[4]-Time[5]);
d_A = d_B/60;
d_B = (d_A-MathFloor(d_A))*60;
d_A = MathFloor(d_A);
Teks_Menit = DoubleToStr(d_A,0);
Teks_Detik = DoubleToStr(d_B,0);
Teks=Teks_Menit+":"+Teks_Detik;
Write("MP08", Right_Top, Shift_X+x, Shift_Y+y+(y1*6), Teks, Ukuran1, Huruf, Price_color_Hi);
Write("MP0811", Right_Top, Shift_X+x+40, Shift_Y+y+(y1*6), "Time : ", Ukuran1, Huruf, Price_color_Hi);
// --- Spread
d_A = (Ask - Bid)/mypoint;
Teks = (DoubleToStr(d_A,mydigit-3));
if (((Ask - Bid)/mypoint)<myspread)
{ SignalColor=Price_color_Up;}
else
if (((Ask - Bid)/mypoint)>myspread)
{ SignalColor=Price_color_Dn1;}
else
{ SignalColor=Price_color_Nt;}
Write("MP09", Right_Top, Shift_X+x, Shift_Y+y+(y1*5), Teks, Ukuran1, Huruf, SignalColor);
Write("MP0911", Right_Top, Shift_X+x+40, Shift_Y+y+(y1*5), "Sprd : ", Ukuran1, Huruf, SignalColor);
if (Show_Symbol==true)
{
Write("MP0912", Right_Top, Shift_X+x, Shift_Y+y+(y1*6.5), "____________", Ukuran1, Huruf, LineColor);
Write("MP09121", Right_Top, Shift_X+x, Shift_Y+y+(y1*8), "____________", Ukuran1, Huruf, LineColor);
Write("MP0913", Right_Top, Shift_X+x+8, Shift_Y+y+(y1*7.45), mysymbol, 11, Huruf, SymbolColor);
string MTF;
double TF=Period();
if (TF==PERIOD_M1) { MTF="M1"; }
else if (TF==PERIOD_M5){ MTF="M5"; }
else if (TF==PERIOD_M15){ MTF="M15"; }
else if (TF==PERIOD_M30){ MTF="M30"; }
else if (TF==PERIOD_H1){ MTF="H1"; }
else if (TF==PERIOD_H4){ MTF="H4"; }
else if (TF==PERIOD_D1){ MTF="D1"; }
else if (TF==PERIOD_MN1){ MTF="MN1"; }
else { MTF="-"; }
Write("MP0914", Right_Top, Shift_X+x+8, Shift_Y+y+(y1*9), MTF, 9, Huruf, Price_color_Lo);
}
Write("MP091444", Right_Top, x-5, y-49, "Bismillah == Alhamdulillah", 7, Huruf, Price_color_Lo);
}
//----
return(0); // end of start funtion
}
//+------------------------------------------------------------------+
// expert custom function |
//+------------------------------------------------------------------+
// Write Procedure
void Write(string LBL, double side, int pos_x, int pos_y, string text, int fontsize, string fontname, color Tcolor=CLR_NONE, int angle=0)
{
ObjectCreate(LBL, OBJ_LABEL, window, 0, 0);
ObjectSetText(LBL,text, fontsize, fontname, Tcolor);
ObjectSet(LBL, OBJPROP_CORNER, Sebelah);
ObjectSet(LBL, OBJPROP_XDISTANCE, pos_x);
ObjectSet(LBL, OBJPROP_YDISTANCE, pos_y);
ObjectSetText("signal",CharToStr(164),60,"Wingdings",Gold);
if (LBL == "MP5221")
{
ObjectCreate(LBL, OBJ_LABEL, window, 0, 0);
ObjectSetText(LBL,text, fontsize, fontname, Tcolor);
ObjectSet(LBL, OBJPROP_CORNER, Sebelah);
ObjectSet(LBL,OBJPROP_ANGLE,0);
ObjectSet(LBL, OBJPROP_XDISTANCE, pos_x);
ObjectSet(LBL, OBJPROP_YDISTANCE, pos_y);
ObjectSetText("signal",CharToStr(164),60,"Wingdings",Gold);
}
if (LBL == "MP091444")
{
ObjectCreate(LBL, OBJ_LABEL, window, 0, 0);
ObjectSetText(LBL,text, fontsize, fontname, Tcolor);
ObjectSet(LBL, OBJPROP_CORNER, 3);
ObjectSet(LBL,OBJPROP_ANGLE,0);
ObjectSet(LBL, OBJPROP_XDISTANCE, pos_x);
ObjectSet(LBL, OBJPROP_YDISTANCE, pos_y);
}
}
// Function CheckWarna
color CheckWarna(double a, double b, color U, color D)
{
if (a>b) { return (U); } else { return (D); }
}
/*
int SERVER( string Text, int xOffset, int yOffset,int iCorner)
{ ObjectCreate(Text,OBJ_LABEL , 0, 0, 0 );
ObjectSet (Text,OBJPROP_CORNER , iCorner);
ObjectSet (Text,OBJPROP_XDISTANCE , 5 );//400
ObjectSet (Text,OBJPROP_YDISTANCE , 10 );
ObjectSet (Text,OBJPROP_BACK , True );
}
*/
int SERVER2( string Text, int xOffset, int yOffset,int iCorner)
{ ObjectCreate(Text,OBJ_LABEL , 0, 0, 0 );
ObjectSet (Text,OBJPROP_CORNER , iCorner);
ObjectSet (Text,OBJPROP_XDISTANCE , 5 );//300
ObjectSet (Text,OBJPROP_YDISTANCE , 10 );
ObjectSet (Text,OBJPROP_BACK , True );
}
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---