В смысле - вертикальные участки вместо наклонных? Никак, если линией. Пробуйте гистограммой.
Vitalie Postolache:
В смысле - вертикальные участки вместо наклонных? Никак, если линией. Пробуйте гистограммой.
да, вертикальные вместо наклонных. Спасибо, попробую гистограмму
В смысле - вертикальные участки вместо наклонных? Никак, если линией. Пробуйте гистограммой.
traderEvgen:
гистограмма тоже не то. Вот так получилось
DRAW_ZIGZAG | Стиль Zigzag допускает вертикальные отрезки на баре | 2 | 0 |
я пробовал
вот весь код
//+------------------------------------------------------------------+
//| RSI_Test.mq4 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0
#property indicator_color2 Red
#property indicator_width2 2
#property indicator_style2 0
#property indicator_minimum -1
#property indicator_maximum 2
double Buffer[];
double Buffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0, Buffer);
SetIndexStyle(0, DRAW_ZIGZAG);
SetIndexBuffer(1, Buffer2);
SetIndexStyle(1, DRAW_ZIGZAG);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
for(int i=0; i<Bars; i++)
{
Buffer[i] = 1;
if(i%10 ==0)
{
Buffer2[i] = 0;
}
}
return(rates_total);
}
//+------------------------------------------------------------------+
//| RSI_Test.mq4 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0
#property indicator_color2 Red
#property indicator_width2 2
#property indicator_style2 0
#property indicator_minimum -1
#property indicator_maximum 2
double Buffer[];
double Buffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0, Buffer);
SetIndexStyle(0, DRAW_ZIGZAG);
SetIndexBuffer(1, Buffer2);
SetIndexStyle(1, DRAW_ZIGZAG);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
for(int i=0; i<Bars; i++)
{
Buffer[i] = 1;
if(i%10 ==0)
{
Buffer2[i] = 0;
}
}
return(rates_total);
}
//+------------------------------------------------------------------+
и такой результат
подскажите пожалуйста как исправить
traderEvgen:
я пробовал
и такой результат
подскажите пожалуйста как исправить
я тоже пробовал
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots 1
#property indicator_type1 DRAW_ZIGZAG
#property indicator_maximum 2
#property indicator_minimum -1
double Buf1[], Buf2[];
//+------------------------------------------------------------------+
int OnInit()
{
SetIndexBuffer(0, Buf1); ArraySetAsSeries(Buf1, true);
SetIndexBuffer(1, Buf2); ArraySetAsSeries(Buf2, true);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
ArrayInitialize(Buf1, EMPTY_VALUE);
ArrayInitialize(Buf2, EMPTY_VALUE);
for (int i=0; i<rates_total-5; ++i)
{
Buf1[i+5] = 0; Buf2[i+5] = 1;
Buf1[i+4] = 1; Buf2[i+4] = 1;
Buf1[i+3] = 0; Buf2[i+3] = 1;
Buf1[i+2] = 0; Buf2[i+2] = 0;
Buf1[i+1] = 0; Buf2[i+1] = 0;
Buf1[i] = 0; Buf2[i] = 0;
i+=5;
}
return(rates_total);
}
и такой результат
o_O:
спасибо огромное )
я тоже пробовал
Как их вообще рисовать?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как нарисовать такую линию индикатора ?
у меня только такая получается
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
Buffer[0] = 1;
for(int i=0; i<Bars; i++)
{
Buffer[i] = 1;
if(i%10 ==0) // условие будет другое, это для теста
{
Buffer[i] = 0;
}
}
return(rates_total);
}