Берёшь формулу стохастика, и вместо цен подставляешь туда значения
RSI =)
зы: стохастик есть в примерах, а как RSI вызывать, я думаю, догадаешься ;)
зы: стохастик есть в примерах, а как RSI вызывать, я думаю, догадаешься ;)
Да пытался я, но так-как я не профи в этом деле - получается полная
лажа! Компиляция проходит успешно, но результат - не тот =( Могет
посодействуешь? Спасибо!
показывай как пытался - ткну в ошибки ;)
//+------------------------------------------------------------------+ //| Stochastic.mq4 | //| Copyright © 2004, MetaQuotes Software Corp. | //| https://www.metaquotes.net// | //+------------------------------------------------------------------+ #property copyright "Copyright © 2004, MetaQuotes Software Corp." #property link "https://www.metaquotes.net//" #property indicator_separate_window #property indicator_minimum 0 #property indicator_maximum 100 #property indicator_buffers 2 #property indicator_color1 LightSeaGreen #property indicator_color2 Red //---- input parameters extern int KPeriod=5; extern int DPeriod=3; extern int Slowing=3; //---- buffers double MainBuffer[]; double SignalBuffer[]; double HighesBuffer[]; double LowesBuffer[]; //---- int draw_begin1=0; int draw_begin2=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- 2 additional buffers are used for counting. IndicatorBuffers(4); SetIndexBuffer(2, HighesBuffer); SetIndexBuffer(3, LowesBuffer); //---- indicator lines SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0, MainBuffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1, SignalBuffer); //---- name for DataWindow and indicator subwindow label short_name="Sto("+KPeriod+","+DPeriod+","+Slowing+")"; IndicatorShortName(short_name); SetIndexLabel(0,short_name); SetIndexLabel(1,"Signal"); //---- draw_begin1=KPeriod+Slowing; draw_begin2=draw_begin1+DPeriod; SetIndexDrawBegin(0,draw_begin1); SetIndexDrawBegin(1,draw_begin2); //---- return(0); } //+------------------------------------------------------------------+ //| Stochastic oscillator | //+------------------------------------------------------------------+ int start() { int i,k; int counted_bars=IndicatorCounted(); double price; //---- if(Bars<=draw_begin2) return(0); //---- initial zero if(counted_bars<1) { for(i=1;i<=draw_begin1;i++) MainBuffer[Bars-i]=0; for(i=1;i<=draw_begin2;i++) SignalBuffer[Bars-i]=0; } //---- minimums counting i=Bars-KPeriod; if(counted_bars>KPeriod) i=Bars-counted_bars-1; while(i>=0) { double min=1000000; k=i+KPeriod-1; while(k>=i) { price=Low[k]; if(min>price) min=price; k--; } LowesBuffer[i]=min; i--; } //---- maximums counting i=Bars-KPeriod; if(counted_bars>KPeriod) i=Bars-counted_bars-1; while(i>=0) { double max=-1000000; k=i+KPeriod-1; while(k>=i) { price=High[k]; if(max<price) max=price; k--; } HighesBuffer[i]=max; i--; } //---- %K line i=Bars-draw_begin1; if(counted_bars>draw_begin1) i=Bars-counted_bars-1; while(i>=0) { double sumlow=0.0; double sumhigh=0.0; for(k=(i+Slowing-1);k>=i;k--) { sumlow+=Close[k]-LowesBuffer[k]; sumhigh+=HighesBuffer[k]-LowesBuffer[k]; } if(sumhigh==0.0) MainBuffer[i]=100.0; else MainBuffer[i]=sumlow/sumhigh*100; i--; } //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; int limit=Bars-counted_bars; //---- signal line is simple movimg average for(i=0; i<limit; i++) SignalBuffer[i]=iRSIOnArray(MainBuffer,Bars,14,0); //---- return(0); } //+------------------------------------------------------------------+
Я просто решил "тупо" заменить линию Signal на то что мне нужно. .. В окне получается сплошная прямая линия! =((
Спасибо!
во-первых, чтоб код был читаемым, надо его вставлять в тэг code
во-вторых, тебе же надо стохастик по rsi - а ты делаешь наоборот - rsi по стохостику - где логика?)
чтоб сделать этот индикатор, надо разобраться в формуле стохастика. Надо понять по какому принципу он строится. Тут не в программировании дело, тут голая логика с математикой ;)
Дерзай
во-вторых, тебе же надо стохастик по rsi - а ты делаешь наоборот - rsi по стохостику - где логика?)
чтоб сделать этот индикатор, надо разобраться в формуле стохастика. Надо понять по какому принципу он строится. Тут не в программировании дело, тут голая логика с математикой ;)
Дерзай
Блин, чувствую себя чайником... что такое тэг code?
нажми кнопочку [ code ] на панельке над формой сообщения, появится
текст: [ code ] [ \ code ] (без пробелов)
вот между [ code ] и [ \ code ] надо вставлять коды программ, тогда они выглядят красиво ;)
зы (разработчикам): сделайте человеческую инструкцию.... типа знак вопроса возле кнопок, и там мини-описание. А?
вот между [ code ] и [ \ code ] надо вставлять коды программ, тогда они выглядят красиво ;)
зы (разработчикам): сделайте человеческую инструкцию.... типа знак вопроса возле кнопок, и там мини-описание. А?
зы (разработчикам): сделайте человеческую инструкцию.... типа
знак вопроса возле кнопок, и там мини-описание. А?
Поддерживаю.
komposter 15.12.2005 06:24
зы (разработчикам): сделайте человеческую инструкцию.... типа знак вопроса возле кнопок, и там мини-описание. А?
Установите курсор мыши над кнопкой и через секунду появится
всплывающая подсказка.
зы (разработчикам): сделайте человеческую инструкцию.... типа знак вопроса возле кнопок, и там мини-описание. А?
Длинные строки кода без ограничений увеличивают ширину таблицы.
Хорошо бы в таких случаях ставить скрул и ограничить ширину окна.
(посмотрите соседнюю тему https://www.mql4.com/ru/forum/2677/)
Хорошо бы в таких случаях ставить скрул и ограничить ширину окна.
(посмотрите соседнюю тему https://www.mql4.com/ru/forum/2677/)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Stohastic (14 - периодный)не для цены, а для осциллятора RSI(9).
Получится очень интересный индикатор! Наоборот - получается, т.к. у RSI
есть функция в настройках "применить к".
А если можно - пришлите мне пожалуйста его в .mq4.
Бъюсь уже три недели =(
Заранее спасибо!