Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Публикуй программы в Code Base. Увеличивай свой рейтинг!
MetaQuotes Software Corp.
Модератор
181015
MetaQuotes Software Corp. 2008.07.23 07:28 

SSL:

Индикатор SSl.

Author: John Smith

MQL4 Comments
16319
MQL4 Comments 2008.08.03 11:12  
Andrey Shubin
340
Andrey Shubin 2009.02.01 17:39  

респект автору за классный индюк!!!!!!!!!!!

MQL4 Comments
16319
MQL4 Comments 2010.03.15 06:18  

Классный индюк! Вот подправил немного, оптимизировал что бы не обсчитывал бары, и сдвиг по бару засунул.


//+----------------------------------------------------------------------+
//| SSL.mq4 | Kalenzo | bartlomiej.gorski@gmail.com | 2010 GUN optimizac |               
//+----------------------------------------------------------------------+
//прописывать индикатор в советник можно следующим образом.
//extern int period = 10;    //период
//extern int shift  = 1;     //сдвиг бара
//start(){
//double ssl = iCustom(Symbol(),PERIOD_H1,"SSL",period,shift,1000,0,1);
//if (ssl>Bid){ //линия SSL выше цены
//if (ssl<Bid){ //линия SSL ниже цены 
//+----------------------------------------------------------------------+ 
#property copyright "Kalenzo"
#property link      "bartlomiej.gorski@gmail.com"
#property indicator_buffers 1
#property indicator_chart_window
#property indicator_color1 Blue
extern int pd = 10;      //период
extern int sh = 1;       //сдвиг бара
extern int lt = 1000;    //мин бар
//----
double ssl[],Hld,Hlv;
//----
int init(){
   SetIndexBuffer(0,ssl); //буфер линии 0
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);
   return(0);}
//----
int deinit(){return(0);}
//----
int start(){
    
           int i, limit, counted_bars=IndicatorCounted();
           if(counted_bars<0) return(-1);
           if(counted_bars>0) counted_bars--;
           limit=Bars-counted_bars;
           if (limit>lt && lt>0) limit=lt;
           for (i=limit;i>=0;i--){
         
               if(Close[i]>iMA(Symbol(),0,pd,0,MODE_SMA,PRICE_HIGH,sh+i)) Hld=1;
               else {if(Close[i]<iMA(Symbol(),0,pd,0,MODE_SMA,PRICE_LOW,sh+i)) Hld=-1; else Hld=0;}
         
               if(Hld!=0)  Hlv=Hld;
               if(Hlv==-1) ssl[i]=iMA(Symbol(),0,pd,0,MODE_SMA,PRICE_HIGH,sh+i);
               else ssl[i]=iMA(Symbol(),0,pd,0,MODE_SMA,PRICE_LOW,sh+i);
           }//for
//----------------------------------------------------------------
return(0); }//start
//----------------------------------------------------------------
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий