profitunity_signals

Indicators Used
Bill Williams Awesome oscillatorFractalsBill Williams Alligator
0 Views
0 Downloads
0 Favorites
profitunity_signals
//+------------------------------------------------------------------+
//|                                          profitunity_signals.mq4 |
//|                                          Necron,2010             |
//+------------------------------------------------------------------+
//Ïðè íàïèñàíèè áèáëèîòåêè áûë èñïîëüçîâàí êîä Oasis`a è ôóíêöèÿ KimIV
//FindNearFractal(); 
//Áèáëèîòåêà ñîäåðæèò ñèãíàëû ïî ñèñòåìå Profitunity è âîçâðàùàåò ïðè îáðàùåíèè 
//çíà÷åíèå true/false; 
/*
#import "profitunity_signals.ex4"
  double AO(int Shift);//ôóíêöèÿ âîçâðàùàåò çíà÷åíèå èíäèêàòîðà AO íà áàðå shift 
  bool bull_dish();//Áû÷üå áëþäöå
  bool bear_dish();//Ìåäâåæüå áëþäöå
  bool bull_cross();//áû÷üå ïåðåñå÷åíèå íóëåâîé ëèíèè
  bool bear_cross();//ìåäâåæüå ïåðåñå÷åíèå íóëåâîé ëèíèè
 // bool two_high_peaks();//äâà ïèêà âûøå íóëåâîé ëèíèè
 // bool two_low_peaks();//äâà ïèêà íèæå íóëåâîé ëèíèè
  double AC(int Shift);//ôóíêöèÿ âîçâðàùàåò çíà÷åíèå èíäèêàòîðà AC íà áàðå shift
  bool bull_double_bar_above();//2 áàðà âûøå íóëåâîé ëèíèè
  bool bull_triple_bar_below();//òðè áàðà íèæå íóëåâîé ëèíèè
  bool bull_cross_and_double_bar();//îäèí áàð íèæå íóëåâîé ëèíèè è ïåðåñå÷åíèå
  bool bear_double_bar_below();//äâà áàðà íèæå íóëåâîé ëèíèè
  bool bear_triple_bar_above();//òðè áàðà âûøå íóëåâîé ëèíèè
  bool bear_cross_and_double_bar();//îäèí áàð âûøå íóëåâîé ëèíèè è ïåðåñå÷åíèå
  bool green_zone();//çåëåíàÿ çîíà
  bool red_zone();//êðàñíàÿ çîíà
  double FindNearFractal(string sy="0", int tf=0, int mode=MODE_LOWER); 
  double teeth(int shift);
#import
//Ïðèìåð èñïîëüçîâàíèÿ:
if(bull_dish()) {}
*/

#property library   

//+------------------------------------------------------------------+
//|Ñèãíàëû èíäèêàòîðà AO                                             |
//+------------------------------------------------------------------+
  double AO(int Shift)//ôóíêöèÿ âîçâðàùàåò çíà÷åíèå èíäèêàòîðà AO íà áàðå shift 
   {
     return(NormalizeDouble(iAO(NULL, 0, Shift), Digits + 2));
   }
  bool bull_dish()//Áû÷üå áëþäöå
   {
     if(AO(1)>AO(2) && AO(3)>AO(2) && AO(1)>0 && AO(2)>0 && AO(3)>0)
     return(true);else return(false); 
     
   } 
  bool bear_dish()//Ìåäâåæüå áëþäöå
   {
     if(AO(1)<AO(2) && AO(3)<AO(2) && AO(1)<0 && AO(2)<0 && AO(3)<0)
     return(true);else return (false);
   }
  bool bull_cross()//áû÷üå ïåðåñå÷åíèå íóëåâîé ëèíèè
   {
     if(AO(2)<0 && AO(1)>0)
     return(true);else return(false);
   }
  bool bear_cross()//ìåäâåæüå ïåðåñå÷åíèå íóëåâîé ëèíèè
   {
     if(AO(2)>0 && AO(1)<0)
     return(true);else return(false);
   }
 /* Ðàáîòîñïîñîáíîñòü ôóíêöèè íå ïðîâåðÿëàñü  
 int get_high_peak(int start)//ôóíêöèÿ Luptator`a - âîçâðàùàåò ñìåùåíèå áàðà íà êîòîðîì îáðàçîâàëñÿ ïèê 
   {
     double ao0=0,ao1=0,ao2=0;
     int retn_shift=0;
    for(int i=start;i<Bars;i++)
      {
         ao0=iAO(NULL,0,i);
         ao1=iAO(NULL,0,i+1);
         ao2=iAO(NULL,0,i+2);
         if(ao0>0 && ao2>0 && ao0<ao1 && ao1>ao2)
            {
              retn_shift=0;
              break;
            }
      }
      return(retn_shift);
   }
 bool two_high_peaks()//äâà ïèêà âûøå íóëåâîé ëèíèè
   {
    int high_peak1=get_high_peak(1);
    int high_peak2=get_high_peak(high_peak1);
    if(iAO(NULL,0,high_peak1)<iAO(NULL,0,high_peak2))
    return(true);else return(false);
   } 
   
 int get_low_peak(int start)//ôóíêöèÿ Luptator`a - âîçâðàùàåò ñìåùåíèå áàðà íà êîòîðîì îáðàçîâàëñÿ íèæíèé ïèê 
   {
     double ao0=0,ao1=0,ao2=0;
     int retn_shift=0;
    for(int i=start;i<Bars;i++)
      {
         ao0=iAO(NULL,0,i);
         ao1=iAO(NULL,0,i+1);
         ao2=iAO(NULL,0,i+2);
         if(ao0<0 && ao2<0 && ao0>ao1 && ao1<ao2)
            {
              retn_shift=0;
              break;
            }
      }
      return(retn_shift);
   }
   
 bool two_low_peaks()//äâà ïèêà íèæå íóëåâîé ëèíèè
   {
    int high_peak1=get_high_peak(0);
    int high_peak2=get_high_peak(high_peak1);
    if(iAO(NULL,0,high_peak1)>iAO(NULL,0,high_peak2))
    return(true);else return(false);
   }  
*/
//+------------------------------------------------------------------+
//|Ñèãíàëû èíäèêàòîðà AC                                             |
//+------------------------------------------------------------------+
   double AC(int Shift)//ôóíêöèÿ âîçâðàùàåò çíà÷åíèå èíäèêàòîðà AC íà áàðå shift
     {
       return(NormalizeDouble(iAO(NULL, 0, Shift), Digits + 2));
     }
   bool bull_double_bar_above()//2 áàðà âûøå íóëåâîé ëèíèè
     {
      if(AC(1)>AC(2) && AC(2)>AC(3) && AC(3) < AC(4) && AC(3) > 0)
      return(true);else return(false);
     }
   bool bull_triple_bar_below()//òðè áàðà íèæå íóëåâîé ëèíèè
     {
      if(AC(1) > AC(2) && AC(2)>AC(3) && AC(3)>AC(4) && AC(4)<AC(5) && ((AC(1) < 0) ||(AC(1) > 0 && AC(2) < 0)))
      return(true); else return(false);
     }
   bool bull_cross_and_double_bar()//äâà áàðà íèæå íóëåâîé ëèíèè è ïåðåñå÷åíèå
     {
      if(AC(1)>AC(2) && AC(2)>AC(3) && AC(3)<AC(4) && AC(1)>0 && AC(2)<0)
      return(true); else return(false);
     }
   bool bear_double_bar_below()//äâà áàðà íèæå íóëåâîé ëèíèè
     { 
      if(AC(1)<AC(2) && AC(2)<AC(3) && AC(3)>AC(4) && AC(3)<0)
      return(true); else return(false);
     }
   bool bear_triple_bar_above()//òðè áàðà âûøå íóëåâîé ëèíèè
     {
      if(AC(1)<AC(2) && AC(2)<AC(3) && AC(3)<AC(4)&& AC(4)>AC(5) && ((AC(1)>0) || (AC(1)<0 && AC(2)>0)))
      return(true); else return(false);
     }
   bool bear_cross_and_double_bar()//äâà áàðà âûøå íóëåâîé ëèíèè è ïåðåñå÷åíèå
     {
      if(AC(1)<AC(2) && AC(2)<AC(3) && AC(3)>AC(4) && AC(1)<0 && AC(2)>0)
      return(true); else return(false);
     }
//+------------------------------------------------------------------+
//|Ñèãíàëû òîðãîâîé çîíû                                             |
//+------------------------------------------------------------------+
   bool green_zone()//çåëåíàÿ çîíà
    {
     if(AO(1)>AO(2) && AC(1)>AC(2))
     return(true);else return(false);
    }
   bool red_zone()//êðàñíàÿ çîíà
    { 
     if(AO(1)<AO(2) && AC(1)<AC(2))
     return(true);else return(false);
    }
//+------------------------------------------------------------------+
//|Ñèãíàëû ôðàêòàëîâ                                                 |
//+------------------------------------------------------------------+
//      fr_up=(FindNearFractal(NULL,0,MODE_UPPER));
//      fr_dn=(FindNearFractal(NULL,0,MODE_LOWER));
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
//Íàéäåì ïîñëåäíèé ôðàêòàë, èñïîëüçóÿ ôóíêöèþ KimIV                            |
//+----------------------------------------------------------------------------+
//| Àâòîð    : Êèì Èãîðü Â. aka KimIV,  http://www.kimiv.ru                    |
//+----------------------------------------------------------------------------+
//| Âåðñèÿ   : 07.10.2006                                                      |
//| Îïèñàíèå : Ïîèñê áëèæàéøåãî ôðàêòàëà.                                      |
//+----------------------------------------------------------------------------+
//| Ïàðàìåòðû:                                                                 |
//|   sy - íàèìåíîâàíèå èíñòðóìåíòà     (NULL - òåêóùèé ñèìâîë)                |
//|   tf - òàéìôðåéì                    (  0  - òåêóùèé ÒÔ)                    |
//|   mode - òèï ôðàêòàëà               (MODE_LOWER|MODE_UPPER)                |
//+----------------------------------------------------------------------------+
double FindNearFractal(string sy="0", int tf=0, int mode=MODE_LOWER) {
  if (sy=="" || sy=="0") sy=Symbol();
  double f=0;
  int d=MarketInfo(sy, MODE_DIGITS), s;
  if (d==0) if (StringFind(sy, "JPY")<0) d=4; else d=2;

  for (s=3; s<100; s++) {
    f=iFractals(sy, tf, mode, s);
    if (f!=0) return(NormalizeDouble(f, d));
  }
  Print("FindNearFractal(): Ôðàêòàë íå íàéäåí");
  return(0);
 }
//+------------------------------------------------------------------+
//| Ôóíêöèÿ âîçâðàùàåò çíà÷åíèå ëèíèè çóáîâ àëëèãàòîðà               |
//+------------------------------------------------------------------+
 double teeth(int shift)
   {
    double teeth;
    teeth=iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH,shift);
    return(NormalizeDouble(teeth,Digits));
   }
       
   

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 ---