CHART_SHOW_OHLC для OBJ_CHART - страница 3 123 Новый комментарий fxsaber 2016.10.23 19:12 #21 Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий CHART_SHOW_OHLC для OBJ_CHART fxsaber, 2016.10.23 18:59 А теперь прикол. После ChartRedraw объект, действительно, удаляется. А если ChartRedraw не делать - не удаляется!Для подтверждения нажмите CTRL+B и выберите "Все". Объект можно даже поредактировать, чтобы убедиться, что это не фантом. Какова дискретность времени прихода MetaEditor build 1463 Библиотеки: Profit_Hour Vladimir Karputov 2016.10.23 19:20 #22 fxsaber: При закомментированном ChartRedraw(), после удаления индикатора с графика, перезагрузите терминал.Повторить действия после открытия рынков. fxsaber 2016.10.23 19:22 #23 Karputov Vladimir: При закомментированном ChartRedraw(), после удаления индикатора с графика, перезагрузите терминал.Повторить действия после открытия рынков. Зачем мне эти танцы с бубном? Все уже выяснилось Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий CHART_SHOW_OHLC для OBJ_CHART fxsaber, 2016.10.23 19:06 Ну так тогда ChartRedraw будет происходить на каждом тике.В Справку надо добавить, что после ObjectDelete удаление происходит только после явного или неявного вызова ChartRedraw.Грубо говоря, ObjectDelete не удаляет объект, а устанавливает флаг "убиться" на следующем ChartRedraw (верно для индикаторов). Таймер работает для индикаторов Вызов WebRequest в OnDeinit ПОМОГИТЕ Vladimir Karputov 2016.10.23 19:25 #24 fxsaber: Зачем мне эти танцы с бубном? Все уже выяснилосьОткуда Вы это берете??Ну так тогда ChartRedraw будет происходить на каждом тике. Где Вы видели ChartRedraw у меня в OnCalculate?//+------------------------------------------------------------------+//| ProjectName |//| Copyright 2012, CompanyName |//| http://www.companyname.net |//+------------------------------------------------------------------+#property indicator_chart_window#property indicator_buffers 0#property indicator_plots 0string CHARTNAME="ObjChart";//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+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[]) { return(rates_total); }//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void OnInit() { ObjectCreate(0,CHARTNAME,OBJ_CHART,0,0,0); const long Chart=ObjectGetInteger(0,CHARTNAME,OBJPROP_CHART_ID); ChartSetInteger(Chart,CHART_SHOW_OHLC,false); ChartRedraw(Chart); }//+------------------------------------------------------------------+//| OnDeinit function |//+------------------------------------------------------------------+void OnDeinit(const int Reason) { ResetLastError(); if(!ObjectDelete(0,CHARTNAME)) Print("Error #",GetLastError()); ChartRedraw(); }//+------------------------------------------------------------------+Пожалуйста пишите в стилистике MQL5, не стреляйте себе в обе ноги на полном ходу и не спешите с выводами. Файлы: test.mq5 4 kb советник - разные вопросы Обновление платформы MetaTrader 4 функция OnCalculate и OnTick fxsaber 2016.10.23 19:28 #25 Karputov Vladimir:Пожалуйста пишите в стилистике MQL5, не стреляйте себе в обе ноги на полном ходу и не спешите с выводами. Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий CHART_SHOW_OHLC для OBJ_CHART fxsaber, 2016.10.23 18:50 Ага, не мое. Вот теперь мое#property indicator_chart_window#property indicator_buffers 0#property indicator_plots 0void OnInit(){ ObjectCreate(0, "ObjChart", OBJ_CHART, 0, 0, 0);}void OnDeinit( const int Reason ){ ObjectDelete(0, "ObjChart");}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[] ){ return(rates_total);}Не удаляется объект - баг. Любые вопросы новичков по Обновление платформы MetaTrader 4 Как нарисовать такой индикатор fxsaber 2016.10.23 19:42 #26 В копилку OBJ_CHART Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Ошибки, баги, вопросы fxsaber, 2016.10.22 12:22 При перетаскивании (CHARTEVENT_OBJECT_DRAG) мышью графического объекта OBJ_CHART сбрасывается текущий интервал отображения в OBJ_CHART.Прошу убрать в следующем билде данный сброс.Если менять, например, OBJPROP_XSIZE, то после (а перед - тем более) ChartNavigate лучше не делать - гадость получится. Ошибки, баги, вопросы Таймер работает для индикаторов Особенности языка mql5, тонкости 123 Новый комментарий
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
CHART_SHOW_OHLC для OBJ_CHART
fxsaber, 2016.10.23 18:59
А теперь прикол. После ChartRedraw объект, действительно, удаляется. А если ChartRedraw не делать - не удаляется!
Для подтверждения нажмите CTRL+B и выберите "Все". Объект можно даже поредактировать, чтобы убедиться, что это не фантом.
При закомментированном ChartRedraw(), после удаления индикатора с графика, перезагрузите терминал.
Повторить действия после открытия рынков.
При закомментированном ChartRedraw(), после удаления индикатора с графика, перезагрузите терминал.
Повторить действия после открытия рынков.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
CHART_SHOW_OHLC для OBJ_CHART
fxsaber, 2016.10.23 19:06
Ну так тогда ChartRedraw будет происходить на каждом тике.
В Справку надо добавить, что после ObjectDelete удаление происходит только после явного или неявного вызова ChartRedraw.
Грубо говоря, ObjectDelete не удаляет объект, а устанавливает флаг "убиться" на следующем ChartRedraw (верно для индикаторов).
Зачем мне эти танцы с бубном? Все уже выяснилось
Откуда Вы это берете??
Ну так тогда ChartRedraw будет происходить на каждом тике.
Где Вы видели ChartRedraw у меня в OnCalculate?
//| ProjectName |
//| Copyright 2012, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots 0
string CHARTNAME="ObjChart";
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
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[])
{
return(rates_total);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnInit()
{
ObjectCreate(0,CHARTNAME,OBJ_CHART,0,0,0);
const long Chart=ObjectGetInteger(0,CHARTNAME,OBJPROP_CHART_ID);
ChartSetInteger(Chart,CHART_SHOW_OHLC,false);
ChartRedraw(Chart);
}
//+------------------------------------------------------------------+
//| OnDeinit function |
//+------------------------------------------------------------------+
void OnDeinit(const int Reason)
{
ResetLastError();
if(!ObjectDelete(0,CHARTNAME))
Print("Error #",GetLastError());
ChartRedraw();
}
//+------------------------------------------------------------------+
Пожалуйста пишите в стилистике MQL5, не стреляйте себе в обе ноги на полном ходу и не спешите с выводами.
Пожалуйста пишите в стилистике MQL5, не стреляйте себе в обе ноги на полном ходу и не спешите с выводами.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
CHART_SHOW_OHLC для OBJ_CHART
fxsaber, 2016.10.23 18:50
Ага, не мое. Вот теперь мое#property indicator_buffers 0
#property indicator_plots 0
void OnInit()
{
ObjectCreate(0, "ObjChart", OBJ_CHART, 0, 0, 0);
}
void OnDeinit( const int Reason )
{
ObjectDelete(0, "ObjChart");
}
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[] )
{
return(rates_total);
}
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2016.10.22 12:22
При перетаскивании (CHARTEVENT_OBJECT_DRAG) мышью графического объекта OBJ_CHART сбрасывается текущий интервал отображения в OBJ_CHART.
Прошу убрать в следующем билде данный сброс.