//+------------------------------------------------------------------+ //| Square of Nine.mq4 | //| Copyright © 2006, Matt Trigwell | //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Matt Trigwell" #property link "m.trigwell@gmail.com" #property indicator_chart_window extern double StartPrice=0; extern bool Direction_Up=true; extern color Angle_Color=Yellow; int init() { return(0); } int deinit() { int AngleIndex=0; string AngleName=""; for(AngleIndex=45;AngleIndex<=720;AngleIndex=AngleIndex+45) { AngleName = "Angle_" + AngleIndex; ObjectDelete(AngleName + " Label"); ObjectDelete(AngleName + " Line"); } return(0); } int start() { int AngleIndex=0; string AngleName=""; double FactorIndex=0.25; double AnglePriceLevel=0; for(AngleIndex=45;AngleIndex<=720;AngleIndex=AngleIndex+45) { AnglePriceLevel = CalculateSquare(FactorIndex,StartPrice); AngleName = "Angle_" + AngleIndex; if(ObjectFind(AngleName + " Line") != 0) { ObjectCreate(AngleName + " Line", OBJ_HLINE, 0, Time[40], AnglePriceLevel); ObjectSet(AngleName + " Line", OBJPROP_STYLE, STYLE_DASHDOTDOT); ObjectSet(AngleName + " Line", OBJPROP_COLOR, Angle_Color); } else { ObjectMove(AngleName + " Line", 0, Time[40], AnglePriceLevel); } if(ObjectFind(AngleName + " Label") != 0) { ObjectCreate(AngleName + " Label", OBJ_TEXT, 0, Time[20], AnglePriceLevel); ObjectSetText(AngleName + " Label", AngleIndex + " Degrees", 8, "Arial", EMPTY); } else { ObjectMove(AngleName + " Label", 0, Time[0], AnglePriceLevel); } FactorIndex = FactorIndex + 0.25; } return(0); } double CalculateSquare(double Factor, double Price) { double AnglePrice=0; if(Price > 0) { if(StringFind(Symbol(),"JPY",0) == -1) { Price = Price * 10000; } else { Price = Price * 100; } if(Direction_Up==true) { AnglePrice = MathPow(MathSqrt(Price) + Factor,2); } else { AnglePrice = MathPow(MathSqrt(Price) - Factor,2); } if(StringFind(Symbol(),"JPY",0) == -1) { AnglePrice = AnglePrice / 10000; } else { AnglePrice = AnglePrice / 100; } } return(AnglePrice); }
Sample
Analysis
Market Information Used:
Series array that contains open time of each bar
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: