Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, Фи.
Я пробовал с сегодняшнего утра, на экране ничего не появляется. Ваш код был бы очень полезен, чтобы я мог начать концентрироваться на других.
Я использовал объект create
с типом как прямоугольник, большой и маленький, ничего не появляется на экране. Я не знаю, как указать время и ценовые уровни и получить свечной паттерн.
Пожалуйста, предоставьте ваш код, буду очень признателен или пример получения свечи с помощью функции create Object.
Он рисует простые столбики.
Здравствуйте Phy спасибо за код, но код не создает свечные стик бары, он создает линейный бар. Мне нужно что-то для свечных баров plzz...zzz,>
Я в недоумении, почему так трудно создать свечной бар с помощью этих функций?
Пожалуйста, помогите
спасибо за поддержку
Наконец-то, спасибо большое, заработало, но тело свечи все размазано сверху и снизу, почему? есть идеи? и еще хуже вокруг последних 20 свечей...
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 CLR_NONE
#property indicator_color2 CLR_NONE
double high[];
double low[];
double open[];
double close[];
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0, DRAW_LINE);
SetIndexStyle(1, DRAW_LINE);
SetIndexStyle(2, DRAW_LINE);
SetIndexStyle(3, DRAW_LINE);
SetIndexBuffer(0, high);
SetIndexBuffer(1, low);
SetIndexBuffer(2, open);
SetIndexBuffer(3, close);
return(0);
}
//+------------------------------------------------------------------+
//| Пользовательская функция деинициализации индикатора |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Пользовательская функция итерации индикатора |
//+------------------------------------------------------------------+
int start(){
string basename = "Heikin-Ashi";
IndicatorShortName(basename);
int window = WindowFind(basename);
for (int i = Bars-100; i >= 0; i--){
// эти два индекса используются для управления размером подокна
// они не видны
high[i] = High[i];
low[i] = Low[i];
double haOpen, haHigh, haLow, haClose, haDiffCo;
haOpen=(Open[i+1]+Close[i+1])/2;
open[i] = haOpen;
haClose=(Open[i]+High[i]+Low[i]+Close[i])/4;
close[i] = haClose;
haHigh=MathMax(haOpen,High[i]);
haLow=MathMax(haOpen,Low[i]);
string name1 = "Heikin-Ashi-HL-"+i;
if(ObjectFind(name1) != -1) ObjectDelete(name1);
ObjectCreate(name1, OBJ_TREND, window, Time[i], haHigh, Time[i], haLow);
ObjectSet(name1, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name1, OBJPROP_RAY, 0);
ObjectSet(name1, OBJPROP_WIDTH, 1);
string name2 = "Heikin-Ashi-OC-"+i;
if(ObjectFind(name2) != -1) ObjectDelete(name2);
ObjectCreate(name2, OBJ_TREND, window, Time[i], haOpen, Time[i], haClose);
ObjectSet(name2, OBJPROP_WIDTH, 3);
//ObjectSet(name2, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name2, OBJPROP_RAY, 0);
if (haOpen < haClose) {
ObjectSet(name1, OBJPROP_COLOR, Chartreuse);
ObjectSet(name2, OBJPROP_COLOR, Chartreuse);
}else{
ObjectSet(name1, OBJPROP_COLOR, Red);
ObjectSet(name2, OBJPROP_COLOR, Red);
}
}
return(0);
}
Кроме того, я заметил, что в вашем коде нет нижних хвостов.
Я думаю, что ваш расчет HA не совсем корректен.
Спасибо, Фи
за ваш любезный ответ, смазанный означает, что тело не является правильным прямоугольником, края изогнуты. Вы также правы, нет нижних хвостов... Я задаюсь вопросом, почему все это.
Как я могу сделать тела идеальными прямоугольниками, как график цен?
Вопрос:
1. Мы объявляем индикаторы и буферы сверху, затем указываем стиль индекса как DRAW_LINE. Затем мы говорим вставить линию тренда с этой шириной и цветом, чтобы представить индикатор. Таким образом, мы просто используем буферы для рисования объекта (линии тренда). Нужно ли нам объявлять индикаторы сверху и делать индексный стиль как draw_line?
Это немного запутанно иметь и drawline и вставлять объект trendline?
Прошу ваших экспертных комментариев и буду признателен, если вы сможете поправить мои мысли?
Вот в чем была проблема с хвостами,
haLow=MathMax(haOpen,Low[i]);
должно быть
haLow=MathMin(haOpen,Low[i]);
Мой предыдущий вопрос все еще остается там, пожалуйста, помогите?
за ваш любезный ответ, смазанный означает, что тело не является правильным прямоугольником, края изогнуты. Как я могу сделать тела идеальными прямоугольниками, как график цен?
Вопрос:
1. Мы объявляем индикаторы и буферы в верхней части, затем указываем стиль индекса как DRAW_LINE. Затем мы говорим вставить линию тренда с этой шириной и цветом, чтобы представить индикатор. Таким образом, мы просто используем буферы для рисования объекта (линии тренда). Нужно ли нам объявлять индикаторы сверху и делать индексный стиль как draw_line?
Это немного запутанно иметь и drawline и вставлять объект trendline?
Прошу ваших экспертных комментариев и буду признателен, если вы сможете поправить мои мысли?
Если они не указаны (в моем примере их нет), то окно индикатора изменяет свои размеры на основе отображаемых
максимального и минимального значений одного из индексов индикатора.
Мы никогда не говорим "вставить трендовую линию"... Объекты рисуются с определенными атрибутами времени и цены.
Буферы индексов находятся там (но невидимы), чтобы соответствующим образом изменять размер подокна по мере изменения цен во времени.