trade640 писал(а) >>
Мои попытки.Проблема в том что рисует одним цветом.
Нужно переделать из индикатора Vinina на индикатор такого типа:
имеються два мовинга, в один формируеться по ценам открытия, а второй по закрытию.Если между ними,например, разница 8 пунктов,то цвет синий - если мовинги направлены вверх, и цвет красный если - мовинги направлены вниз, если разница меньше 8, то цвет желтый.
Исходник Vinina
Мои попытки.Проблема в том что рисует одним цветом.
Для начала надо использовать нужные константы в коде
tmp1=iMA(Symbol(),0,period,0,MODE_SMA,PRICE_CLOSE,i); tmp2=iMA(Symbol(),0,period,0,MODE_SMA,PRICE_OPEN,i);И решить какая линия будет отрисовываться.
trade640 писал(а) >>
Мне рисовать в принципе все равно что я пробывал даже использовать Close[i].А на счет констатнт я не понял.
Мне рисовать в принципе все равно что я пробывал даже использовать Close[i].А на счет констатнт я не понял.
Используемая цена для расчёта индикаторов может принимать любое из следующих значений:
|
Так я же и использую Price_Close и Price_Open.Можна написать 0 и 1, разницы нет.
trade640 писал(а) >>
Так я же и использую Price_Close и Price_Open.Можна написать 0 и 1, разницы нет.
Так я же и использую Price_Close и Price_Open.Можна написать 0 и 1, разницы нет.
У тебя использовались другие константы
tmp1=iMA(Symbol(),0,period,0,MODE_SMA,MODE_CLOSE,i); tmp2=iMA(Symbol(),0,period,0,MODE_SMA,MODE_OPEN,i);Для отрисовки в цвете нескольких линий нужно для каждой использовать три буфера. Максимум можно отрисовать в цвете две линии. Максимальное количество буферов равно восьми.
Vinin >>:
У тебя использовались другие константы
Для отрисовки в цвете нескольких линий нужно для каждой использовать три буфера. Максимум можно отрисовать в цвете две линии. Максимальное количество буферов равно восьми.for (i = limit;i>=0;i--){ tmp1=iMA(Symbol(),0,14,0,MODE_SMA,MODE_CLOSE,i); tmp2=iMA(Symbol(),0,14,0,MODE_SMA,MODE_OPEN,i); tmp3=Close[i]; BufferClose[i] =tmp1; BufferOpen[i] =tmp2; BufferRed[i] =tmp3; BufferGreen[i] =tmp3; BufferYellow[i]=tmp3; Comment(DoubleToStr(BufferClose[i],Digits)); if (BufferClose[i]>BufferOpen[i]){ //&& MathAbs(BufferGreen[i]-BufferRed[i])>=Point*8){ BufferRed[i] =EMPTY_VALUE; BufferYellow[i]=EMPTY_VALUE; } else if (BufferClose[i]<BufferOpen[i]){ //&& MathAbs(BufferGreen[i]-BufferRed[i])>=Point*8){ BufferGreen[i] =EMPTY_VALUE; BufferYellow[i]=EMPTY_VALUE; } else { BufferRed[i]=EMPTY_VALUE; BufferGreen[i] =EMPTY_VALUE; } }
trade640 писал(а) >>
Я наверное плохо обяснил, то что я хотел сделать.Я хотел так как у Вас чтобы отрисовывалось в одной линии разными цветами при определенных условиях.Сейчас у меня такие идеи:
Я наверное плохо обяснил, то что я хотел сделать.Я хотел так как у Вас чтобы отрисовывалось в одной линии разными цветами при определенных условиях.Сейчас у меня такие идеи:
Файлы:
trade640.mq4
3 kb
Спасибо большое за помощь.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нужно переделать из индикатора Vinina на индикатор такого типа:
имеються два мовинга, в один формируеться по ценам открытия, а второй по закрытию.Если между ними,например, разница 8 пунктов,то цвет синий - если мовинги направлены вверх, и цвет красный если - мовинги направлены вниз, если разница меньше 8, то цвет желтый.
Исходник Vinina
Мои попытки.Проблема в том что рисует одним цветом.