Rads 9Sq Gann

Author: Copyright � 2007, Steve Bowley & Patrick Nouvion
Rads 9Sq Gann
Miscellaneous
It issuies visual alerts to the screen
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 supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---