//+------------------------------------------------------------------+ //| #MarketPrice _v1_4.mq4 | //| ServerUang | //| http://www.indofx-trader.net/ | //+------------------------------------------------------------------+ #property copyright "ServerUang" #property link "http://www.indofx-trader.net/" #property indicator_chart_window extern string Settings_n_1 = "--------------------------"; extern int Side = 1; extern int MP_Y = 0; extern int MP_X = 0; //-------------------------------------------------------------------- extern string Settings_n_2 = "--------------------------"; extern string Colors_Setting ="Setting for Colors"; extern color Highest_Color = Blue; extern color Distance_from_Highest_Color = DodgerBlue; extern color Lowest_Color = Red; extern color Distance_from_Lowest_Color = OrangeRed; extern color Hi_to_Lo_Color = Peru; extern color Daily_Av_Up_Color = Blue; extern color Daily_Av_Dn_Color = Red; extern color Time_n_Spread_Color = LimeGreen; extern color PipsToOpen_Up_Color = Blue; extern color PipsToOpen_Dn_Color = Red; //-------------------------------------------------------------------- extern string Settings_n_3 = "--------------------------"; extern string Signals_Settings = "Settings for Signals"; extern bool Show_Signals = true; // BuySeLL Variable extern string BuySeLL_Settings = "--------------------------"; extern int MAFast_Period = 1; extern int MAFast_Method = 0; extern int MAFast_Apply_To = 0; extern int MAFast_Shift = 0; extern int MASlow_Period = 4; extern int MASlow_Method = 0; extern int MASlow_Apply_To = 1; extern int MASlow_Shift = 0; // Trend Variable extern string TRend_Settings = "--------------------------"; extern int TMAFast_Period = 1; extern int TMAFast_Method = 0; extern int TMAFast_Apply_To = 0; extern int TMAFast_Shift = 0; extern int TMASlow_Period = 20; extern int TMASlow_Method = 0; extern int TMASlow_Apply_To = 0; extern int TMASlow_Shift = 0; // Strength Variable extern string Strength_Settings = "--------------------------"; extern int RSI_Period = 5; extern int RSI_PRICE_TYPE = 0; extern int CCI_Period = 20; extern int CCI_PRICE_TYPE = 0; extern int STOCH_K_Period = 5; extern int STOCH_D_Period = 3; extern int STOCH_Slowing = 3; extern int STOCH_MA_MODE = 0; extern int STOCH_Price_Field = 0; //-------------------------------------------------------------------- extern string Settings_n_4 = "--------------------------"; extern color LegendColor = Gainsboro; extern color PriceColor_Up = Blue; extern color PriceColor_Dn = Red; extern color NeutralColor = LightGray; extern color Arrow_Up = Lime; extern color Arrow_Dn = Gold; extern color Arrow_Nt = White; //===================================================================+ double vA, vB, vC, TFs, High_Lama, Low_Lama; int TimeFrame, x, y, space, baris, fontsize, cTF, cCC, cX, cSTR, cTR; string text, fontname, Teks_Menit, Teks_Detik; string UpSymbol="ñ", DnSymbol="ò", NtSymbol="«", SignalSymbol; color SignalColor; // --- variabel Daili_Av --------------------------------------------+ int R1, R5, R10, R20, RAvg, n, i; string Teks_ReRata = "", Teks_Rerata_Kemarin =""; color warna_ReRata, WarnaTeks; //-------------------------------------------------------------------+ // --- Strength Variable --- double v_RSI, v_Stoch, v_CCI; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- for(int i = ObjectsTotal() - 1; i >= 0; i--) { string label = ObjectName(i); if(StringSubstr(label, 0, 4) != "MP14") continue; ObjectDelete(label); } //---- return(0); //ObjectsDeleteAll(0,OBJ_HLINE); //ObjectsDeleteAll(0,OBJ_TEXT); //ObjectsDeleteAll(0,OBJ_LABEL); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- // Price TimeFrame = 15; vA = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0); vB = iMA(Symbol(), TimeFrame, MAFast_Period, MAFast_Shift, MAFast_Method, MAFast_Apply_To, 0); vC = iMA(Symbol(), TimeFrame, MASlow_Period, MASlow_Shift, MASlow_Method, MASlow_Apply_To, 0); Write("MP14001", Side, MP_X+9, MP_Y+22, DoubleToStr(vA,Digits), 34, "Arial", CheckColor(vB, vC, PriceColor_Up, PriceColor_Dn) ); // Highest vB=iHigh(NULL,1440,0); text=DoubleToStr(vB, Digits); Write("MP14002", Side, MP_X+100, MP_Y+14, text, 10, "Tahoma Bold", Highest_Color); // Lowest vC=iLow(NULL,1440,0); text=DoubleToStr(vC, Digits); Write("MP14003", Side, MP_X+100, MP_Y+62, text, 10, "Tahoma Bold", Lowest_Color); //--- Distance from Highest --- text=DoubleToStr((vA-vB)/Point,0); Write("MP14004", Side, MP_X+56, MP_Y+14, text, 10, "Tahoma Bold", Distance_from_Highest_Color); //--- Distance from Lowest --- text=DoubleToStr((vA-vC)/Point,0); Write("MP14005", Side, MP_X+56, MP_Y+62, text, 10, "Tahoma Bold", Distance_from_Lowest_Color); //--- Hi to Lo --- text=DoubleToStr((vB-vC)/Point,0); Write("MP14006", Side, MP_X+10, MP_Y+14, text, 10, "Tahoma Bold", Hi_to_Lo_Color); //--- 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))/Point; for(i=1;i<=5;i++) R5 = R5 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point; for(i=1;i<=10;i++) R10 = R10 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point; for(i=1;i<=20;i++) R20 = R20 + (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point; R5 = R5/5; R10 = R10/10; R20 = R20/20; RAvg = (R1+R5+R10+R20)/4; Teks_ReRata = (DoubleToStr(RAvg,Digits-4)); Teks_Rerata_Kemarin = (iHigh(NULL,PERIOD_D1,1)-iLow(NULL,PERIOD_D1,1))/Point; if (Teks_ReRata > Teks_Rerata_Kemarin) {warna_ReRata = Daily_Av_Up_Color;} else {warna_ReRata = Daily_Av_Dn_Color;} Write("MP14007", Side, MP_X+10, MP_Y+62, Teks_ReRata, 10, "Tahoma Bold", warna_ReRata); //--- Time for Next Candle --- vB = (Time[4]-Time[5])-MathMod(CurTime(),Time[4]-Time[5]); vA = vB/60; vB = (vA-MathFloor(vA))*60; vA = MathFloor(vA); Teks_Menit = DoubleToStr(vA,0); Teks_Detik = DoubleToStr(vB,0); text=Teks_Menit+":"+Teks_Detik; Write("MP14008", Side, MP_X+100, MP_Y+74, text, 10, "Tahoma Bold", Time_n_Spread_Color); // --- Spread --- vA = (Ask - Bid)/Point; text = (DoubleToStr(vA, Digits-4)); Write("MP14009", Side, MP_X+56, MP_Y+74, text, 10, "Tahoma Bold", Time_n_Spread_Color); //--- Pips to Open --- vA = iOpen(NULL,1440,0); vB = iClose(NULL,1440,0); SignalColor=CheckColor(vB, vA, PipsToOpen_Up_Color, PipsToOpen_Dn_Color); text=DoubleToStr((vB-vA)/Point,0); Write("MP14010", Side, MP_X+10, MP_Y+74, text, 10, "Tahoma Bold", SignalColor); //--- Show_Signals --- if (Show_Signals) { /* // Pair, Pair color depand to Trend vB = iMA(Symbol(), TimeFrame, TMAFast_Period, TMAFast_Shift, TMAFast_Method, TMAFast_Apply_To, 0); vC = iMA(Symbol(), TimeFrame, TMASlow_Period, TMASlow_Shift, TMASlow_Method, TMASlow_Apply_To, 0); Write("MP13001", Side, 85, 8, Symbol(), 16, "Arial Bold", CheckColor(vB, vC, PriceColor_Up, PriceColor_Dn) ); // Price color depand to Crossing MAfast and MAslow vA = iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0); vB = iMA(Symbol(), TimeFrame, MAFast_Period, MAFast_Shift, MAFast_Method, MAFast_Apply_To, 0); vC = iMA(Symbol(), TimeFrame, MASlow_Period, MASlow_Shift, MASlow_Method, MASlow_Apply_To, 0); Write("MP13002", Side, 5, 5, DoubleToStr(vA,Digits), 20, "Arial Bold", CheckColor(vB, vC, PriceColor_Up, PriceColor_Dn) ); //Write("MP13002", Side, 10, 10, DoubleToStr(vA,Digits), 16, "Arial Bold", CheckColor(vB, vC, PriceColor_Up, PriceColor_Dn) ); */ // Legend //cTF=MP_X+127; cCC=MP_X+99; cX=MP_X+81; cSTR=MP_X+53; cTR=MP_X+25; cTF=MP_X+127; cCC=MP_X+99; cX=MP_X+76; cSTR=MP_X+40; cTR=MP_X+10; Write("MP14011", Side, MP_X+cTF, MP_Y+90, "TF", 10, "Arial", LegendColor); //152 Write("MP14012", Side, MP_X+cCC, MP_Y+90, "CC", 10, "Arial", LegendColor); //116 Write("MP14013", Side, MP_X+cX-5, MP_Y+90, "BS", 10, "Arial", LegendColor); //086 Write("MP14014", Side, MP_X+cSTR, MP_Y+90, "Str", 10, "Arial", LegendColor); //048 Write("MP14015", Side, MP_X+cTR, MP_Y+90, "TR", 10, "Arial", LegendColor); //012 x=cTF; //154 y=MP_Y+106; space=12; fontname="Arial"; fontsize=8; Write("MP14016", Side, x, y+(00*space), "MN", fontsize, fontname, LegendColor); Write("MP14017", Side, x, y+(01*space), "W1", fontsize, fontname, LegendColor); Write("MP14018", Side, x, y+(02*space), "D1", fontsize, fontname, LegendColor); Write("MP14019", Side, x, y+(04*space), "H4", fontsize, fontname, LegendColor); Write("MP14020", Side, x, y+(05*space), "H1", fontsize, fontname, LegendColor); Write("MP14021", Side, x, y+(06*space), "M30", fontsize, fontname, LegendColor); Write("MP14022", Side, x, y+(08*space), "M15", fontsize, fontname, LegendColor); Write("MP14023", Side, x, y+(09*space), "M5", fontsize, fontname, LegendColor); Write("MP14024", Side, x, y+(10*space), "M1", fontsize, fontname, LegendColor); // LOOP n=1; y=MP_Y+106; space=12; while (n<=9) { switch (n) { case 1: TFs = 43200; baris=0; break; case 2: TFs = 10080; baris=1; break; case 3: TFs = 1440; baris=2; break; case 4: TFs = 240; baris=4; break; case 5: TFs = 60; baris=5; break; case 6: TFs = 30; baris=6; break; case 7: TFs = 15; baris=8; break; case 8: TFs = 5; baris=9; break; case 9: TFs = 1; baris=10; break; }//switch // Trend; vA = iMA(Symbol(),TFs, TMAFast_Period, TMAFast_Shift, TMAFast_Method, TMAFast_Apply_To, 0); vB = iMA(Symbol(),TFs, TMASlow_Period, TMASlow_Shift, TMASlow_Method, TMASlow_Apply_To, 0); if (vA>vB) { SignalSymbol=UpSymbol; SignalColor=Arrow_Up; } else if (vA<vB) { SignalSymbol=DnSymbol; SignalColor=Arrow_Dn; } else {SignalSymbol=NtSymbol; SignalColor=Arrow_Nt; } Write("MP14025"+DoubleToStr(n,0), Side, cTR, y+(baris*space), SignalSymbol, 10, "Wingdings", SignalColor ); // STR Signals v_RSI = iRSI(Symbol(), TFs, RSI_Period , RSI_PRICE_TYPE, 0); v_Stoch = iStochastic(Symbol(), TFs, STOCH_K_Period,STOCH_D_Period,STOCH_Slowing, STOCH_MA_MODE, STOCH_Price_Field, MODE_MAIN, 0); v_CCI = iCCI(Symbol(), TFs,CCI_Period , CCI_PRICE_TYPE, 0); if ((v_RSI > 50) && (v_Stoch > 40) && (v_CCI > 0)) { SignalSymbol = UpSymbol; SignalColor = Arrow_Up ;} else if ((v_RSI < 50) && (v_Stoch < 60) && (v_CCI < 0)) { SignalSymbol = DnSymbol; SignalColor = Arrow_Dn ;} //netral condition else if ((v_RSI < 50) && (v_Stoch > 40) && (v_CCI > 0)) { SignalSymbol = NtSymbol; SignalColor = Arrow_Nt; } else if ((v_RSI > 50) && (v_Stoch < 60) && (v_CCI < 0)) { SignalSymbol = NtSymbol; SignalColor = Arrow_Nt; } else if ((v_RSI < 50) && (v_Stoch > 40) && (v_CCI < 0)) { SignalSymbol = NtSymbol; SignalColor = Arrow_Nt; } else if ((v_RSI > 50) && (v_Stoch < 60) && (v_CCI > 0)) { SignalSymbol = NtSymbol; SignalColor = Arrow_Nt; } else if ((v_RSI > 50) && (v_Stoch > 40) && (v_CCI < 0)) { SignalSymbol = NtSymbol; SignalColor = Arrow_Nt; } else if ((v_RSI > 50) && (v_Stoch < 60) && (v_CCI < 0)) { SignalSymbol = NtSymbol; SignalColor = Arrow_Nt; } Write("MP14026"+DoubleToStr(n,0), Side, cSTR, y+(baris*space), SignalSymbol, 10, "Wingdings", SignalColor ); // BuySell Crossing vB = iMA(Symbol(), TFs, MAFast_Period, MAFast_Shift, MAFast_Method, MAFast_Apply_To, 0); vC = iMA(Symbol(), TFs, MASlow_Period, MASlow_Shift, MASlow_Method, MASlow_Apply_To, 0); if (vB>vC) { SignalSymbol=UpSymbol; SignalColor=Arrow_Up; } else { SignalSymbol=DnSymbol; SignalColor=Arrow_Dn; } Write("MP14027"+DoubleToStr(n,0), Side, cX-3, y+(baris*space), SignalSymbol, 10, "Wingdings", SignalColor); // CandleColor vC = iClose( NULL , TFs, 0) - iOpen( NULL , TFs, 0); if ( vC > 0 ) { SignalColor = PriceColor_Up; SignalSymbol="n"; } else if ( vC < 0 ) { SignalColor = PriceColor_Dn; SignalSymbol="n"; } else { SignalColor = NeutralColor; SignalSymbol="ª"; } Write("MP14028"+DoubleToStr(n,0), Side, cCC+2, y+(baris*space), SignalSymbol, 10, "Wingdings", SignalColor ); //x=120 Write("MP14029", Side, cTR, y+((baris+1)*space), "Created by ServerUang", 7, "Tahoma Narrow", Gray); n++; } //end while }//Show else Write("MP14030", Side, MP_X+10, MP_Y+90, "Created by ServerUang", 7, "Tahoma Narrow", Gray); //---- return(0); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // Write Procedure void Write(string LBL, double side, int pos_x, int pos_y, string text, int fontsize, string fontname, color Tcolor=CLR_NONE) { ObjectCreate(LBL, OBJ_LABEL, 0, 0, 0); ObjectSetText(LBL,text, fontsize, fontname, Tcolor); ObjectSet(LBL, OBJPROP_CORNER, side); ObjectSet(LBL, OBJPROP_XDISTANCE, pos_x); ObjectSet(LBL, OBJPROP_YDISTANCE, pos_y); } // CheckColor Function color CheckColor(double a, double b, color u, color d) { if (a>b) { return (u); } else { return (d); } } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Series array that contains open time of each bar
Series array that contains open prices of each bar
Series array that contains close prices for each bar
Indicator Curves created:
Indicators Used:
Moving average indicator
Relative strength index
Stochastic oscillator
Commodity channel index
Custom Indicators Used:
Order Management characteristics:
Other Features: