Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 391

 
John Smith:

Ребят, подскажите как перевести дату типа 29.01.2008 в формат типа 1201564800 ? Какой функцией это делается?

Мне нужно сравнить  TimeCurrent () с заданной исторической датой...

Так пойдет?

datetime Начало = D'2015.01.01 00:00';  // Дата задана датой
string   Конец  = "2035.01.01 00:00";   // Дата задана строкой, потом переведем в дату

void start() 
{
  datetime End=StringToTime(Конец);

  if(TimeCurrent()>Начало)  Alert(" Начинаем");
  if(TimeCurrent()>End)     Alert(" Заканчиваем");
                      else  Alert(" Продолжаем");
}
 
John Smith:

Ребят, подскажите как перевести дату типа 29.01.2008 в формат типа 1201564800 ? Какой функцией это делается?

Мне нужно сравнить  TimeCurrent () с заданной исторической датой...


Если перевести текущее время в секундный формат через iTime:  int iTime = TimeCurrent();

то как его потом сравнить с другими датами, которые написаны в формате вида 29.01.2008 ???


Ну или как-то без перевода в секунды сравнить, если можно сразу...

типа

if TimeCurrent() > 29.01.2008 then a = 123456

но в таком виде не работает... ((

datetime - это long

Значит, чтобы дату представить как long, нужно явно преобразовать:

long time_current=(long)TimeCurrent();
 

Здравствуйте.

вопрос по тестеру стратегий

не могу уменьшить шрифт или размеры столбцов, чтобы умещались записи в нужные пределы окна в 640 пикселей

как это сделать?

размер окна уменьшил,но информация скомканная.

Файлы:
 
Sergey Musin:

Здравствуйте.

вопрос по тестеру стратегий

не могу уменьшить шрифт или размеры столбцов, чтобы умещались записи в нужные пределы окна в 640 пикселей

как это сделать?

размер окна уменьшил,но информация скомканная.

Попробуйте уменьшить масштаб системного шрифта в настройках Windows
 

Добрый день!

Подскажите пожалуйста, есть кусок кода:

void watch_breakout() {
  if(active != true) return;
    int ticket = get_ticket();
  if(Ask >= NormalizeDouble(channel_top, Digits)) {
    ticket   = OrderSend(Symbol(), OP_BUY, Lots, Ask, SLIPPAGE, NormalizeDouble(Ask-Stoploss*Point,Digits), 0, "LONG", MAGIC, clrNONE); 
       }
  if(Bid <= NormalizeDouble(channel_bottom, Digits)) {
    ticket   = OrderSend(Symbol(), OP_SELL, Lots, Bid, SLIPPAGE, NormalizeDouble(Bid+Stoploss*Point,Digits), 0, "SHORT", MAGIC, clrNONE);
       } 
    }

ищет пробои из ценового канала, есть задача - проверять, что б пробой происходил не любой свечей, а только пинбаром, и после формирования пинбара открывать заказ.

Подскажите пожалуйста, как можно такое реализовать, третий день бьюсь и решения пока не вижу

 
Snower:  есть кусок кода:

ищет пробои из ценового канала, есть задача - проверять, что б пробой происходил не любой свечей, а только пинбаром, и после формирования пинбара открывать заказ.  Подскажите пожалуйста, как можно такое реализовать, третий день бьюсь и решения пока не вижу

Сейчас отлаживаю советник, который в тестере за месяц утраивает. И на демо хорошо. Отвлекся, заглянул сюда. Чертеж у Вас есть?

 
STARIJ:

Сейчас отлаживаю советник, который в тестере за месяц утраивает. И на демо хорошо. Отвлекся, заглянул сюда. Чертеж у Вас есть?


Вот так, например. Желтая линия - канал цены, который цена должна пробить, и что б заказ открывался свечей со смайлом, а все те, которые были раньше - игнорировал

 
Snower:


Вот так, например. Желтая линия - канал цены, который цена должна пробить, и что б заказ открывался свечей со смайлом, а все те, которые были раньше - игнорировал

Не получится. 
 
Artyom Trishkin:
Не получится. 

Ответить

Артём, вы не внимательно прочли: ТС нужно открыть только при пробитии пин-баром, соответственно если прописать пин-бар(малое тело и большие тени), то условие можно соблюсти

 

Как обрабатывается функция  iCustom в МТ4?  Прошу ответить тех кто в теме!


например в тестере стратегий советник обращается к индикатору на каждом тике.

При вызове функции, индикатор загружается в память, пересчитывает все значения от нулевого бара до Bars, а потом возвращает значение с нужным смещением.

Если я на первом тике запрошу значение в 1 баре, на втором тике - значение второго бара, то советник будет дважды рассчитывать индикатор на всей истории?


Если советник обращается к индикатору1, а у него стоит iCustom на индикатор 2.   Сколько раз будет пересчитываться индикатор2 при запросе значения индикатора1?


Может быть тестер стратегий и терминал МТ4 как то хранят значения индикаторов на каждом баре, чтоб при повторном запросе не пересчитывать их?

Причина обращения: