Miscellaneous
0
Views
0
Downloads
0
Favorites
Rads 9Sq Gann
//+------------------------------------------------------------------+
//| 9Squared Gann.mq4 |
//| Copyright © 2007, Steve Bowley, concept,formulas|
//| & Patrick Nouvion, programming|
//| www.9squaredfx.com, www.patricknouvion.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, Steve Bowley & Patrick Nouvion"
#property link "www.9squaredfx.com, www.patricknouvion.com"
#property indicator_chart_window
extern double Value = 1.1234;
extern double Angle = 9;
extern int Width = 1;
extern bool DisplayFiboCycles = True;
//---- Colors
extern string COLORS = "===========COLORS==========";
extern color ResistanceColor = DimGray;
extern color SupportColor = SteelBlue;
extern color FiboTimeZonesColor = Gray;
//+------------------------------------------------------------------+
//| INIT | DEINIT |
//+------------------------------------------------------------------+
int init() { CleanUp(); return(0); }
int deinit() { CleanUp(); return(0); }
//+------------------------------------------------------------------+
//| GS9 |
//+------------------------------------------------------------------+
int start()
{
if( Value == 0.0 ) { Alert( "Invalid Price Entered" ); return(-1); }
bool ItsAHigh = False; int Multiplier = 0;
bool Done = False; int CountBars = 0;
//---- Find Value n bar count
for( int i = 0; i < Bars && !Done ; i++ )
{
if( Value == High[i] || Value == Low[i] )
{
if( Value == High[i] ) { ItsAHigh = True; }
else { ItsAHigh = False; }
Done = True;
}
CountBars++;
}
//---- Update Multiplier depending on symbol ...
if( MarketInfo( Symbol(), MODE_DIGITS ) == 2 ) { Multiplier = 10; }
else { Multiplier = 1000; }
//---- Calc Vars
Value *= Multiplier;
double Factor = 2.0 * ( ( Angle ) / 360 );
int Cycle = MathRound( MathSqrt( Value ) );
//---- Calculate Cycle Offset
int Extend = MathMax( 0.01, CountBars-Cycle );
//---- Draw 18 Res Lines
for( i = 1; i <= 36; i++ )
{
double rv = MathPow( ( MathSqrt( Value ) + ( Factor * i ) ), 2 ) / Multiplier;
ObjectCreate( StringConcatenate("9squaredfxr0",i) , OBJ_HLINE, 0 , Time[0], rv);
ObjectSet( StringConcatenate("9squaredfxr0",i) , OBJPROP_WIDTH, Width );
ObjectSet( StringConcatenate("9squaredfxr0",i) , OBJPROP_STYLE, 2 );
ObjectSet( StringConcatenate("9squaredfxr0",i) , OBJPROP_COLOR, ResistanceColor );
}
//---- Draw 18 Support Lines
for( i = 1; i <= 36; i++ )
{
rv = MathPow( ( MathSqrt( Value ) - ( Factor * i ) ), 2 ) / Multiplier;
ObjectCreate( StringConcatenate("9squaredfxs0",i) , OBJ_HLINE, 0 , Time[0], rv);
ObjectSet( StringConcatenate("9squaredfxs0",i) , OBJPROP_WIDTH, Width );
ObjectSet( StringConcatenate("9squaredfxs0",i) , OBJPROP_STYLE, 2 );
ObjectSet( StringConcatenate("9squaredfxs0",i) , OBJPROP_COLOR, SupportColor );
}
//---- Draw Start Line
{
ObjectCreate( "9squaredfx_001", OBJ_HLINE, 0 , Time[0], Value / Multiplier);
ObjectSet( "9squaredfx_001", OBJPROP_WIDTH, Width );
ObjectSet( "9squaredfx_001", OBJPROP_STYLE, 0 );
ObjectSet( "9squaredfx_001", OBJPROP_COLOR, Plum );
}
//---- Draw Fibo Lines
//-- Time Zones
if( DisplayFiboCycles )
{
ObjectCreate( "9SquaredFibo", 11, 0, Time[CountBars-1], ( Value / Multiplier ), Time[Extend], Close[Extend] );
ObjectSet( "9SquaredFibo", OBJPROP_LEVELCOLOR, FiboTimeZonesColor );
}
//---
return(0);
}
//+------------------------------------------------------------------+
void CleanUp()
{
//---- Start
ObjectDelete("9squaredfx_001");
//---- Fib Lines
ObjectDelete("9SquaredFibo");
//---- Resistance
for( int k = 1; k <= 36; k++ )
{
ObjectDelete( StringConcatenate("9squaredfxr0",k) );
ObjectDelete( StringConcatenate("9squaredfxs0",k) );
}
}
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
---