судя по вашей картике следует обратоное: снизу вверх - покупаем,
сверху вниз - продаем.
подскажите, как исправить такой недостаток- красная линия постоянно "зависает" на нулевой отметке.
aa-cc писал(а):
подскажите, как исправить такой недостаток- красная линия постоянно "зависает" на нулевой отметке.
Почему то, Collector, перед тем как переделать и выложить индикатор не тестирует его.
Ниже рабочая версия :
//+------------------------------------------------------------------+ //| 3D Oscilator.mq4 | //| | //| | //+------------------------------------------------------------------+ #property copyright "Author - Luis Damiani. Ramdass - Conversion only" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue //---- input parameters extern int D1RSIPer=13; extern int D2StochPer=8; extern int D3tunnelPer=8; extern double hot=0.4; extern int sigsmooth=4; extern int CountBars=300; //---- buffers double sig1n[]; double sig2n[]; double sk,sk2,ss; int cs; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(2); //---- indicator line SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(0,sig1n); SetIndexBuffer(1,sig2n); //---- cs = MathMax(D1RSIPer,MathMax(D2StochPer,D3tunnelPer)); ss=sigsmooth; if (ss<2) ss=2; sk = 2.0 / (ss + 1.0); sk2= 2.0 / (ss*0.8+1.0); //---- return(0); } //+------------------------------------------------------------------+ //| 3D Oscilator | //+------------------------------------------------------------------+ int start() { if(Bars<=cs) return(0); if (CountBars>Bars) CountBars=Bars; SetIndexDrawBegin(0,Bars-CountBars+cs); SetIndexDrawBegin(1,Bars-CountBars+cs); int i,i2;//counted_bars=IndicatorCounted(); double rsi,maxrsi,minrsi,storsi,E3D,sig1,sig2; //---- for(i=CountBars; i>=0; i--) { maxrsi=0; minrsi=100; for (i2=i+D2StochPer;i2>=i; i2--) { rsi=iRSI(NULL,0,D1RSIPer,PRICE_CLOSE,i2); if (rsi>maxrsi) maxrsi=rsi; if (rsi<minrsi) minrsi=rsi; } if (maxrsi-minrsi!=0.0) storsi=((rsi-minrsi)/(maxrsi-minrsi)*200-100); E3D=hot*iCCI(NULL,0,D3tunnelPer,PRICE_TYPICAL,i)+(1-hot)*storsi; sig1n[i]=sk*E3D+(1-sk)*sig1; sig2n[i]=sk2*sig1+(1-sk2)*sig2; sig1=sig1n[i]; sig2=sig2n[i]; } return(0); } //+------------------------------------------------------------------+
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
3D Oscilator:
Author: Collector