//+------------------------------------------------------------------+ //| _Chart Market Price.mq4 | //| djindyfx@sbcglobal.net | //| http://www.learncurrencytrading.com/fxforum/blogs/djindyfx/ | //+------------------------------------------------------------------+ #property copyright "djindyfx@sbcglobal.net" #property link "http://www.learncurrencytrading.com/fxforum/blogs/djindyfx/" #property indicator_chart_window extern string note1 = "Change font colors automatically? True = Yes"; extern bool Bid_Ask_Colors = True; extern string note2 = "Default Font Color"; extern color FontColor = Black; extern color FontColor2 = Black; extern string note3 = "Font Size"; extern int FontSize=15; extern string note4 = "Font Type"; extern string FontType="Times new roman"; extern string note5 = "Display the price in what corner?"; extern string note6 = "Upper left=0; Upper right=1"; extern string note7 = "Lower left=2; Lower right=3"; extern int WhatCorner=1; extern int MoveUpDown = 15 ; extern int SideDistance = 2; double Old_Price; double Old_Price2; double SpreadPrice; double DailyOpen; double WeeklyOpen; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- ObjectDelete("Market_Price_Label"); ObjectDelete("Market_Price_Label2"); ObjectDelete("Market_Price_Label3"); ObjectDelete("Daily_Open_Label"); ObjectDelete("Weekly_Open_Label"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- if (Bid_Ask_Colors == True) { if (Bid > Old_Price) FontColor = LawnGreen; if (Bid < Old_Price) FontColor = Red; if (Ask > Old_Price2) FontColor2 = LawnGreen; if (Ask < Old_Price2) FontColor2 = Red; Old_Price = Bid; Old_Price2 = Ask; SpreadPrice = (Ask-Bid)/Point; } DailyOpen = iOpen(NULL,PERIOD_D1,0); WeeklyOpen = iOpen(NULL,PERIOD_W1,0); string Market_Price2 = DoubleToStr(Ask, Digits); string Market_Price = DoubleToStr(Bid, Digits); string Market_Spread = DoubleToStr(SpreadPrice,0); string DOpen = DoubleToStr(DailyOpen,Digits); string WOpen = DoubleToStr (WeeklyOpen,Digits); //----- int YInitialDistance, Ydist01, Ydist02, Ydist03, Ydist04, Ydist05,Ydist06, DistFromSide, YDistInc; DistFromSide = SideDistance; YInitialDistance = MoveUpDown; YDistInc = 25; Ydist01 = YInitialDistance + YDistInc; Ydist02 = Ydist01 + YDistInc; Ydist03 = Ydist02 + YDistInc; Ydist04 = Ydist03 + YDistInc; Ydist05 = Ydist04 + YDistInc; Ydist06 = Ydist05 + YDistInc; //----- ObjectCreate("Market_Price_Label2", OBJ_LABEL, 0, 0, 0); ObjectSetText("Market_Price_Label2", "Ask " + Market_Price2, FontSize, FontType, FontColor2); ObjectSet("Market_Price_Label2", OBJPROP_CORNER, WhatCorner); ObjectSet("Market_Price_Label2", OBJPROP_XDISTANCE, DistFromSide); ObjectSet("Market_Price_Label2", OBJPROP_YDISTANCE, YInitialDistance); ObjectCreate("Market_Price_Label", OBJ_LABEL, 0, 0, 0); ObjectSetText("Market_Price_Label", "Bid " + Market_Price, FontSize, FontType, FontColor2); ObjectSet("Market_Price_Label", OBJPROP_CORNER, WhatCorner); ObjectSet("Market_Price_Label", OBJPROP_XDISTANCE, DistFromSide); ObjectSet("Market_Price_Label", OBJPROP_YDISTANCE, Ydist01); ObjectCreate("Market_Price_Label3", OBJ_LABEL, 0, 0, 0); ObjectSetText("Market_Price_Label3","Spread " + Market_Spread, FontSize, FontType, Green); ObjectSet("Market_Price_Label3", OBJPROP_CORNER, WhatCorner); ObjectSet("Market_Price_Label3", OBJPROP_XDISTANCE, DistFromSide); ObjectSet("Market_Price_Label3", OBJPROP_YDISTANCE, Ydist02); ObjectCreate("Daily_Open_Label", OBJ_LABEL, 0, 0, 0); ObjectSetText("Daily_Open_Label","Daily " + DOpen, FontSize, FontType, Green); ObjectSet("Daily_Open_Label", OBJPROP_CORNER, WhatCorner); ObjectSet("Daily_Open_Label", OBJPROP_XDISTANCE, DistFromSide); ObjectSet("Daily_Open_Label", OBJPROP_YDISTANCE, Ydist03); ObjectCreate("Weekly_Open_Label", OBJ_LABEL, 0, 0, 0); ObjectSetText("Weekly_Open_Label","Weekly " + WOpen, FontSize, FontType, Green); ObjectSet("Weekly_Open_Label", OBJPROP_CORNER, WhatCorner); ObjectSet("Weekly_Open_Label", OBJPROP_XDISTANCE, DistFromSide); ObjectSet("Weekly_Open_Label", OBJPROP_YDISTANCE, Ydist04); //---- //return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains open prices of each bar
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: