Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 684
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть индикатор MA. А есть ему подобный HMA. Как его можно вставить в советник? Полностью копировать код? Или есть более укороченный вариант?
Всех приветствую.У меня проблема-"потерял" индикатор.Это какой-то сглаженный CCI,у которого можно было изменять два параметра-период и какой-то множитель.В оригинальном варианте эти параметры были равны соответственно 20 и 2.И,если я всё правильно помню,название этого индикатора состояло из двух слов и второе слово начиналось с английской буквы "С".Вдруг кто знает,помогите!
Но в целом, конечно, можно перегрузить и конструктор и использовать его вместо Init(), в конце концов, это такая же функция. На какой вариант фапать - это личное дело каждого, в вопросах вкуса, как известно, советчиков нет)
А если инициализация не удалась, то в случае использования метода, например, Init(), можно его описать возвращающим значение соответствующего типа и вернуть в случае ошибки соответствующее значение. Вызывающий код, таким образом, узнает о неудавшейся инициализации, и о том, что объект поэтому использовать нельзя. Как вызывающий код узнает о неудавшейся инициализации в случае использования конструктора?
Ребзя хелп , как заставить сова не открывать ордер на том же баре что и была позиция открыта ранее по сигналу , а ждал новый бар и снова проверка сигнала , делал типо так - побарно
добавлял это -
и -Ребзя хелп , как заставить сова не открывать ордер на том же баре что и была позиция открыта ранее по сигналу , а ждал новый бар и снова проверка сигнала , делал типо так - побарно
добавлял это -
и -Как-то так:
Как-то так:
Спасибо , не усложнит расшифровать прописанные строчки для примера ?--//выбранный ордер открыт на нулевом (текущем) баре, значит ещё рано открывать следующий
// выбранный ордер открыт не на нулевом (текущем) баре, значит можно открывать следующий ...???
Спасибо , не усложнит расшифровать прописанные строчки для примера ?--//выбранный ордер открыт на нулевом (текущем) баре, значит ещё рано открывать следующий
// выбранный ордер открыт не на нулевом (текущем) баре, значит можно открывать следующий ...???
Вот функция, возвращающая бар открытия последней открытой позиции:
Если функция возвращает -1, значит нет открытой позиции, данные которой переданы в функцию.
Пример использования:
или
Знатоки прошу у Вас помощи...
алгоритм test01
//+------------------------------------------------------------------+ //test //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 clrGold #property indicator_color2 clrBlue #property indicator_level1 0 //--- indicator buffers double Buf0[]; double Buf1[]; double t1[]; double t2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(4); SetIndexBuffer(0,Buf0); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(1,Buf1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(2,t1); SetIndexBuffer(3,t2); //--- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,counted_bars; counted_bars=IndicatorCounted(); i=Bars-counted_bars-1; int sr=24,n; double sum,sum2; double m1,m2; while(i>=0) { sum=0; sum2=0; for(n=i; n<=i+sr-1; n++) { if(Open[i]>Open[i+1]) m1=sum=sum+Close[i]-Close[n]; if(Open[i]<Open[i+1]) m2=sum=sum+Close[i]-Close[n]; if(Open[i]>Open[i+1]) t1[i]=sum2=sum2+Close[i]-Close[n]; if(Open[i]<Open[i+1]) t2[i]=sum2=sum2+Close[i]-Close[n]; } Buf0[i]=(m1+m2)/sr; Buf1[i]=(t1[i]+t2[i])/sr; i--; } return(0); } //+------------------------------------------------------------------+почему в Buf1 отличные значения от Buf0? по логике вещей они должны быть одинаковы?
почему через переменную одни значения, а через буфер (масив данных)--> (масив требуется для дальнешего расчета) другие значения? как через масив сделать также как и через переменные м1 и м2
Знатоки прошу у Вас помощи...
алгоритм test01
почему в Buf1 отличные значения от Buf0? по логике вещей они должны быть одинаковы?
почему через переменную одни значения, а через буфер (масив данных)--> (масив требуется для дальнешего расчета) другие значения? как через масив сделать также как и через переменные м1 и м2
а зачем нужны два буфера с одинаковыми значениями???
надо в старт добавить
тогда хотя бы значения буферов будут одного порядка, хотя и не равны