Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо за код и кодировку Altoronto,
Большое спасибо, я готов к следующему шагу.
Спасибо Altoronto,
Следующий шаг для этого кода - определить одну и ту же линию для всех периодов, в одной и той же точке, без изменений в течение дня, на первой минуте для свечи в 00:00 для текущего дня.
Я приложил картинку с описанием для лучшего понимания:
Можете ли вы или кто-то другой помочь мне закодировать это и закодировать в индикатор?
Еще раз спасибо,
Если это наконец-то сработает, я пошлю бутылку хорошего чилийского вина тем, кто мне поможет,
Еще раз спасибо,
Daniel1983
Спасибо, Altoronto,
Следующий шаг для этого кода - определить одну и ту же линию для всех периодов, в одной и той же точке, без изменений в течение дня, на первой минуте для свечи в 00:00 для текущего дня.
Я приложил картинку с описанием для лучшего понимания:
Можете ли вы или кто-то другой помочь мне закодировать это и закодировать в индикатор?
Еще раз спасибо,
Если это наконец-то сработает, я пошлю бутылку хорошего чилийского вина тем, кто мне поможет,
Еще раз спасибо,
Даниил1983Daniel1983
Если вы используете хай и лоу первого закрытого бара, то в течение дня они будут меняться.
Господин Младен,
Почему будут изменения в течение дня? Я думаю, что расчеты производятся только один раз и только для первой свечи КАЖДОГО ДНЯ. Не для последующих свечей, не понимаю.
в t=1 дня 1 сделайте расчет для t=0 дня 1, в результате нарисуйте линию
только для того дня, когда вы используете индикатор, в 23:59 дня прекратите работу до следующего дня, цена индикатора для 1-й свечи.
следующий день
в t=1 дня 2 произведите расчет для t= 0 дня 2, в результате нарисуйте линию
надеюсь, здесь более понятно
Г-н Младен,
Почему будут изменения в течение дня? Я думаю, что расчет производится только один раз и только для первой свечи КАЖДОГО ДНЯ. Не для последующих свечей, не понимаю.
в t=1 дня 1 сделайте расчет для t=0 дня 1, результат нарисуйте линию
только для того дня, когда вы используете индикатор, в 23:59 дня прекратите работу до следующего дня, цена индикатора для 1-й свечи.
следующий день
в t=1 дня 2 произвести расчет для t= 0 дня 2, результат нарисовать линию
надеюсь, здесь более понятноdaniel1983
High[1] и Low[1] означают high и low первого закрытого бара текущего графика. Если этот график не дневной, вы получите внутридневные изменения в виде изменения high и low. Кроме того, в любом случае, но когда вы используете дневной график, у вас есть смесь данных из разных таймфреймов.
Ok Mladen, позвольте мне посмотреть, если я понимаю, я думаю, что проблема в том, что я смешиваю 2 таймфрейма в одном коде, поэтому если я использую только 1 таймфрейм, например, все для 1 минутного графика, это должно работать:
давайте сделаем все для минутного графика,
код формулы por цена, где должна быть линия =
double minuteOpen = iOpen(NULL,PERIOD_M1,1);
double number = (minuteOpen+High[1]+Low[1])/3;
таким образом, я думаю, что код для горизонтальной линии по цене, рассчитанной, должен быть для t=1, но он не работает
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
int deinit() {
Comment("");
ObjectDelete("KeyLine");
return(0);
}
//+------------------------------------------------------------------+
//| Пользовательская функция итерации индикатора |
//+------------------------------------------------------------------+
int start()
{
double minuteOpen = iOpen(NULL,PERIOD_M1,1);
double number = (minuteOpen+High[1]+Low[1])/3;
Comment("Ключевая строка: ",число);
ObjectDelete("KeyLine");
ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);
ObjectSet("KeyLine",OBJPROP_COLOR,Orange);
ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);
ObjectsRedraw();
return(0);
}
Хорошо, Младен, позвольте мне посмотреть, если я понимаю, я думаю, что проблема в том, что я смешиваю 2 таймфрейма в одном коде, так что если я использую только 1 таймфрейм, например, все для 1 минутных графиков, это должно работать:
давайте сделаем все для минутного графика,
кодовая формула por цена, где должна быть линия =
double minuteOpen = iOpen(NULL,PERIOD_M1,1);
double number = (minuteOpen+High[1]+Low[1])/3;
таким образом, я думаю, что код для горизонтальной линии по цене, рассчитанной, должен быть для t=1, но он не работает
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
int deinit() {
Comment("");
ObjectDelete("KeyLine");
return(0);
}
//+------------------------------------------------------------------+
//| Пользовательская функция итерации индикатора |
//+------------------------------------------------------------------+
int start()
{
double minuteOpen = iOpen(NULL,PERIOD_M1,1);
double number = (minuteOpen+High[1]+Low[1])/3;
Comment("Ключевая строка: ",число);
ObjectDelete("KeyLine");
ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);
ObjectSet("KeyLine",OBJPROP_COLOR,Orange);
ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);
ObjectsRedraw();
return(0);
}Нет
Вы должны сделать это следующим образом:
И таким образом вы получите все данные из дневных данных (без смешивания данных из разных таймфреймов).
Спасибо, Младен,
Я думаю, что, возможно, я иду слишком быстро. Давайте вернемся немного назад, не вводя никаких формул, начнем с самого начала, заставим индикатор выполнять только следующую задачу:
Рисует одну горизонтальную линию по цене открытия первой минутной свечи каждого дня, свеча в 00:01 минуты, и стирает ее в 23:59 минуты.
Цена для этой линии не меняется во времени на всех периодах одна и та же цена до 23:59, когда она стирается, и снова заводится в 00:01 следующего дня.
Как это будет?
Спасибо, Младен,
Я думаю, может быть, я иду слишком быстро. Давайте вернемся немного назад, не вводя никаких формул, начнем с начала, заставим индикатор выполнять только следующую задачу:
Рисует одну горизонтальную линию по цене открытия первой минутной свечи каждого дня, свеча в 00:01 минуты, и стирает ее в 23:59 минуты.
Цена для этой линии не меняется во времени для всех периодов одна и та же цена до 23:59, когда она стирается, и снова заводится в 00:01 следующего дня.
Как это будет?Если вы используете формулу, которую я выложил, то она будет вести себя точно так же: как только день меняется, значение тоже меняется и остается фиксированным до следующего дня.
Спасибо, Младен, я сделал изменения, индикатор выглядит так, но все равно ничего не делает на графике...
//------------------------------------------------------------------
#property copyright "www.forex-tsd.com"
#property link "www.forex-tsd.com"
//------------------------------------------------------------------
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
int deinit() {
Comment("");
ObjectDelete("KeyLine");
return(0);
}
//+------------------------------------------------------------------+
//| Пользовательская функция итерации индикатора |
//+------------------------------------------------------------------+
int start()
{
double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;
Comment("Ключевая строка: ",число);
ObjectDelete("KeyLine");
ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);
ObjectSet("KeyLine",OBJPROP_COLOR,Orange);
ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);
ObjectsRedraw();
return(0);
}
Что я делаю не так?
Спасибо