Стилизатор странно себя ведёт. Так и должно быть?
Реализовать отложенную инициализацию для static переменных возможно?
Для варианта когда static переменная инициализируется массивом таймсерией надо писать такой гемор, иначе ни как:
static datetime time; static bool cond = true; if (cond == true) { cond = false; time = Time[0]; }
1. Вариант с простой инициализацией вызывает ошибку с выгрузгокой индикатора - выход за приделы массива при любом переключении таймфрейма
2. Вариант с использованием глобальной переменной с присвоением значения в функции OnInit()
вызывает ошибку с выгрузгокой индикатора - выход за приделы массива при переключении таймфрейма на тот у которого история не полностью закачана.
Реализовать отложенную инициализацию для static переменных возможно?
Для варианта когда static переменная инициализируется массивом таймсерией надо писать такой гемор, иначе ни как:
1. Вариант с простой инициализацией вызывает ошибку с выгрузгокой индикатора - выход за приделы массива при любом переключении таймфрейма
2. Вариант с использованием глобальной переменной с присвоением значения в функции OnInit()
вызывает ошибку с выгрузгокой индикатора - выход за приделы массива при переключении таймфрейма на тот у которого история не полностью закачана.
Сегодня как раз на схожую тему писал: Нельзя работать с заданными индикаторными буфферами, пока не завершится OnInit.
Можно отполировать костыль:
#define STATIC_INIT 0 //...... static datetime time = STATIC_INIT; if (time == STATIC_INIT) time = Time[0];
Чтобыобновиться до бета-версии, нужно выделить демо-счет на сервере MetaQuotes-Demo (demo.metaquotes.net:443).
В течение недели можнобез ограничений использовать как тестовые (6 часов = 360 минут) режимы,так и платные. Все потраченные (на самом деле замороженные для оплаты)деньги будут автоматически возвращены перед релизом.
Вошел в тестовый режим - отправил эксперта на хостинг
360 минут правда мало ...
период тестовый маловат
эксперт не на минутке и не на тиках работает
к утру понедельника он видимо уже отвалится
---
Для MT5 планируется как скоро такой же сервис ?
Вошел в тестовый режим - отправил эксперта на хостинг
360 минут правда мало ...
Для MT5 планируется как скоро такой же сервис ?
/********************************************************************/ void FiboCreate(string fibo_name, datetime time1, double price1, datetime time2, double price2, color col) { if(ObjectFind(fibo_name) < 0) { if(!ObjectCreate(fibo_name, OBJ_FIBO, 0, time1, price1, time2, price2)) Print("Не получилось создать фибку"); } //ObjectSetInteger(0, fibo_name, OBJPROP_RAY, false); ObjectSetInteger(0, fibo_name, OBJPROP_RAY_RIGHT, false); ObjectSetInteger(0, fibo_name, OBJPROP_RAY_LEFT, false); ObjectSetInteger(0, fibo_name, OBJPROP_COLOR, clrNONE); ObjectSetInteger(0, fibo_name, OBJPROP_LEVELCOLOR, col); ObjectSetString(0, fibo_name, OBJPROP_LEVELTEXT, 0, " = %$"); ObjectSetFiboDescription(fibo_name, 1, " = %$"); }//******************************************************************|
1. Ну, допускаю что в mql4 не работает OBJPROP_RAY_RIGHT и OBJPROP_RAY_LEFT Никак не получается увидеть фибку как на скрине в справке а хотелось-бы.
2. Цвет фибки и цвет уровней устанавливается, всё с этим нормально
3. А вот описание уровней никак не устанавливается.
Однако, если запустить скрипт повторно, при уже существующей на чарте фибки с указанным именем, то описание уровней назначается согласно коду.
MT4 build 722
Как это понять? Или вызывать функцию придётся дважды? Или я что-то из нововведений не учитываю?
ps: Проверил двойной вызов функции. Работает только если между вызовами сделать паузу Sleep(75) не меньше 75
Чтобыобновиться до бета-версии, нужно выделить демо-счет на сервере MetaQuotes-Demo (demo.metaquotes.net:443).
В течение недели можнобез ограничений использовать как тестовые (6 часов = 360 минут) режимы,так и платные. Все потраченные (на самом деле замороженные для оплаты)деньги будут автоматически возвращены перед релизом.
Что то накосячили со шрифтами ...
Стало так
А было так
Что то накосячили со шрифтами ...
Стало так
А было так
Обработка шрифтов без изменений. Изменилась отрисовка кнопок. Была ошибка, рисовалось на 2 пикселя больше указанного размера. Теперь рисуем точно по указанному размеру, как в МТ5.
Уже исправили? Спасибо. )
В кнопках ещё нужно текст отцентрировать. В пятёрке точнее сделано.
Попробовал сделать скриншоты через WindowScreenShot, функция выдает false, при печати сообщения об ошибке печатает:
2014.10.14 22:50:03.033 TestScreenShot USDJPY.e,M1: no error
2014.10.14 22:50:02.016 TestScreenShot USDJPY.e,M1: no error
2014.10.14 22:50:00.989 TestScreenShot USDJPY.e,M1: initialized
2014.10.14 22:49:59.803 Expert Tests\TestScreenShot USDJPY.e,M1: loaded successfully
На предыдущих билдах эту функцию не пробовал, может, и там не работала? Смотрел гифы в терминал\experts\Files\ , терминал\MQL4\Experts\Files\ и терминал\MQL4\Files\ , везде пусто.
Код советника:
#include <stdlib.mqh> // узнает код последней ошибки и возвращает строку с описанием string GetMyLastError2() { int err = GetLastError(); string serr = ErrorDescription(err); ResetLastError(); return(serr); } void OnTimer() { string fname = "ss_" + TimeToString(TimeCurrent(), TIME_DATE | TIME_MINUTES | TIME_SECONDS) + ".gif"; if(!WindowScreenShot(fname, 640, 480)) Print(GetMyLastError2()); } int OnInit() { EventSetTimer(1); return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { EventKillTimer(); } void OnTick() {}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Чтобы обновиться до бета-версии, нужно выделить демо-счет на сервере MetaQuotes-Demo (demo.metaquotes.net:443).
В течение недели можно без ограничений использовать как тестовые (24 часа = 1440 минут) режимы, так и платные. Все потраченные (на самом деле замороженные для оплаты) деньги будут автоматически возвращены перед релизом.