в конце OnInit график перерисовывается проверялось но даже это и и ещё слип не помогает.. это баг а не моя ошибка в коде, .. еслии б было в чартредроу дело то нажатие кнопок бы работало.. OnChartEvent не работает((((
Artyom Trishkin: А минимальный код для воспроизведения дадите?
да вот минимально не получится( и мало того его нужно будет переделывать так как даже инструменты у меня прописаны списком в ручную (у вас же будут другие тикеры скорее всего).. это нужно писать специально скелет для того что бы Вам его показать( у разработчиков разве нету возможностей тестировать собственно разработанные функции на предмет вылетов???
Money_Maker: да вот минимально не получится( и мало того его нужно будет переделывать так как даже инструменты у меня прописаны списком в ручную (у вас же будут другие тикеры скорее всего).. это нужно писать специально скелет для того что бы Вам его показать( у разработчиков разве нету возможностей тестировать собственно разработанные функции на предмет вылетов???
Значит - пишите заявку в сервисдеск и прилагайте свой полный код. После проверок ваш код будет удалён.
3. Читать журнал или смотреть трафик, дождаться загрузки обновления
4. Перезагрузить терминал.
Это так сложно?
MQ не может выложить нормальный exe-шник? Можно я не буду плясать с бубном вокруг непонятного демо сервера а просто обновлю программу как белый человек?
Nikolay Khrushchev: MQ не может выложить нормальный exe-шник? Можно я не буду плясать с бубном вокруг непонятного демо сервера а просто обновлю программу как белый человек?
проблема в том что для меня 1048 сырая я бы лучше 1045 вернул или даже раньше которая..( но блин назад не откатишь) я и прогу удалял всё равно потом обновляется на 1048 хотя официального релиза не было , подумайте а надо ли оно ставить сырую 1048..
Money_Maker: проблема в том что для меня 1048 сырая я бы лучше 1045 вернул или даже раньше которая..( но блин назад не откатишь) я и прогу удалял всё равно потом обновляется на 1048 хотя официального релиза не было
Мою ошибку 1048 исправил, другие пока не обнаружил
Money_Maker: ещё вопрос кто знает если у меня уже стоит 1048 когда её допилят и скинут официально она у меня тоже обновится или это удалять терминал нужно?
При официальном релиз номер билда всегда поднимается. То есть терминал все равно обновится на последнюю версию.
Artyom Trishkin: Значит - пишите заявку в сервисдеск и прилагайте свой полный код. После проверок ваш код будет удалён.
мне удалось выявить причину и удаётся воспроизводить ошибку :когда отправлена команда на изменение периода или графика с помощью ChartSetSymbolPeriod(); и если поступает вторая команда (видимо когда первая ещё не завершилась) то вторая инициализация игнорируется а первая проходит не корректно так как не работает функция OnChartEvent и в процессе такой инициализации не перерисовывается графика(цвет кнопок например). сейчас заметил что после не завершившейся инициализации срабатывает OnDeInit а потом тишина
если бросить код на графике там кнопка когда она работает меняется текст комментария .. после первого нажатия она перестаёт работать!
#property strict string klac = "klac"; // кнопка цель //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { ChartSetSymbolPeriod(0,NULL,PERIOD_M15); // ЕСЛИ ЭТУ СТРОЧКУ УбРАТЬ ВСЁ БУДЕТ РАБОТАТЬ
if (ObjectCreate(0,klac,OBJ_BUTTON,0,0,0)) // создание кнопки если её нету { ObjectSetInteger(0,klac,OBJPROP_XSIZE,70); // размер кнопки (ширина) ObjectSetInteger(0,klac,OBJPROP_YSIZE,35); // размер кнопки (высота) ObjectSetInteger(0,klac,OBJPROP_CORNER,CORNER_RIGHT_UPPER); // угол привязки ObjectSet(klac,OBJPROP_XDISTANCE,80); // пиксель привязки (горизонталь) ObjectSet(klac,OBJPROP_YDISTANCE,20); // пиксель привязки (вертикаль) ObjectSet(klac,OBJPROP_COLOR,LimeGreen); // цвет шрифта ObjectSet(klac,OBJPROP_FONTSIZE,14); // размер шрифта ObjectSetInteger(0,klac,OBJPROP_BGCOLOR, Blue); // установим цвет фона кнопки ObjectSetInteger(0,klac,OBJPROP_BORDER_COLOR,LimeGreen); // установим цвет границы кнопки ObjectSetString(0,klac,OBJPROP_TEXT,klac); // присвоения текста } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ voidOnDeinit(constint reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ voidOnTick() { } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ voidOnChartEvent(constint id, constlong &lparam, constdouble &dparam, conststring &sparam) { if (sparam==klac) // работает когда меняется комментарий { if (ObjectGetInteger(0,klac,OBJPROP_STATE)==true) { Comment("НАЖАТА"); } else{Comment("ОТЖАТА");} } ChartSetSymbolPeriod(0,NULL,PERIOD_M1); // изменяем период } //+------------------------------------------------------------------+
в билдах до 1045 и 1048 такой проблемы не возникало исправьте пожалуйста
Почему при работе в Тестере, в файлы созданные в tester\\files\\name.csv данные добавляются, а в файлы созданные в поддиректории tester\\files\\logs\\name.csv, старые данные стираются и заменяются новыми ?
в конце OnInit график перерисовывается проверялось но даже это и и ещё слип не помогает.. это баг а не моя ошибка в коде, .. еслии б было в чартредроу дело то нажатие кнопок бы работало.. OnChartEvent не работает((((
А минимальный код для воспроизведения дадите?
да вот минимально не получится( и мало того его нужно будет переделывать так как даже инструменты у меня прописаны списком в ручную (у вас же будут другие тикеры скорее всего).. это нужно писать специально скелет для того что бы Вам его показать( у разработчиков разве нету возможностей тестировать собственно разработанные функции на предмет вылетов???
1. Открыть демосчёт на сервере MetaQuotesDemo
2. Перезагрузить терминал
3. Читать журнал или смотреть трафик, дождаться загрузки обновления
4. Перезагрузить терминал.
Это так сложно?
MQ не может выложить нормальный exe-шник? Можно я не буду плясать с бубном вокруг непонятного демо сервера а просто обновлю программу как белый человек?
, подумайте а надо ли оно ставить сырую 1048..
проблема в том что для меня 1048 сырая я бы лучше 1045 вернул или даже раньше которая..( но блин назад не откатишь) я и прогу удалял всё равно потом обновляется на 1048 хотя официального релиза не было
ещё вопрос кто знает если у меня уже стоит 1048 когда её допилят и скинут официально она у меня тоже обновится или это удалять терминал нужно?
Значит - пишите заявку в сервисдеск и прилагайте свой полный код. После проверок ваш код будет удалён.
если бросить код на графике там кнопка когда она работает меняется текст комментария .. после первого нажатия она перестаёт работать!
string klac = "klac"; // кнопка цель
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
ChartSetSymbolPeriod(0,NULL,PERIOD_M15); // ЕСЛИ ЭТУ СТРОЧКУ УбРАТЬ ВСЁ БУДЕТ РАБОТАТЬ
if (ObjectCreate(0,klac,OBJ_BUTTON,0,0,0)) // создание кнопки если её нету
{
ObjectSetInteger(0,klac,OBJPROP_XSIZE,70); // размер кнопки (ширина)
ObjectSetInteger(0,klac,OBJPROP_YSIZE,35); // размер кнопки (высота)
ObjectSetInteger(0,klac,OBJPROP_CORNER,CORNER_RIGHT_UPPER); // угол привязки
ObjectSet(klac,OBJPROP_XDISTANCE,80); // пиксель привязки (горизонталь)
ObjectSet(klac,OBJPROP_YDISTANCE,20); // пиксель привязки (вертикаль)
ObjectSet(klac,OBJPROP_COLOR,LimeGreen); // цвет шрифта
ObjectSet(klac,OBJPROP_FONTSIZE,14); // размер шрифта
ObjectSetInteger(0,klac,OBJPROP_BGCOLOR, Blue); // установим цвет фона кнопки
ObjectSetInteger(0,klac,OBJPROP_BORDER_COLOR,LimeGreen); // установим цвет границы кнопки
ObjectSetString(0,klac,OBJPROP_TEXT,klac); // присвоения текста
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
if (sparam==klac) // работает когда меняется комментарий
{
if (ObjectGetInteger(0,klac,OBJPROP_STATE)==true)
{
Comment("НАЖАТА");
}
else{Comment("ОТЖАТА");}
}
ChartSetSymbolPeriod(0,NULL,PERIOD_M1); // изменяем период
}
//+------------------------------------------------------------------+
в билдах до 1045 и 1048 такой проблемы не возникало исправьте пожалуйста
в СервисД уже написал #1670156
Почему при работе в Тестере, в файлы созданные в tester\\files\\name.csv данные добавляются, а в файлы созданные в поддиректории tester\\files\\logs\\name.csv, старые данные стираются и заменяются новыми ?