Графический объект на графике создать. Если есть объект с определенным именем, значит в начале функции OnStart() выходим. Для разблокировки - удалить объект вручную.
r772ra: За комментируйте Print. если не нужен при работе. Как-то так.
Спасибо! Подскажите как можно вынести во внешние настройки ограничение работы советника по времени.
Добавила вот это
int start()
{
if(!isTradeTimeInt(21, 30, 01, 00)) return;
а в конце кода вот это
//+------------------------------------------------------------------+//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| hb - часы времени начала торговли |//| mb - минуты времени начала торговли |//| he - часы времени окончания торговли |//| me - минуты времени окончания торговли |//+----------------------------------------------------------------------------+bool isTradeTimeInt(int hb=0, int mb=0, int he=0, int me=0) {
datetime db, de; // Время начала и окончания работыint hc; // Часы текущего времени торгового сервера
db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+hb+":"+mb);
de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+he+":"+me);
hc=TimeHour(TimeCurrent());
if (db>=de) {
if (hc>=he) de+=24*60*60; else db-=24*60*60;
}
if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
elsereturn(False);
}
Спасибо! Подскажите как можно вынести во внешние настройки ограничение работы советника по времени.
Добавила вот это
externint StartHour = 21; // Время закрытия, часыexternint StartMinute = 30; // Время закрытия, минутыexternint CloseHour = 01; // Время закрытия, часыexternint CloseMinute = 0; // Время закрытия, минуты//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
if(isTradeTimeInt(StartHour,StartMinute,CloseHour,CloseMinute))
{
//Здесь то,,,,//что работает, в этом диапозоне времени
}
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| hb - часы времени начала торговли |//| mb - минуты времени начала торговли |//| he - часы времени окончания торговли |//| me - минуты времени окончания торговли |//+----------------------------------------------------------------------------+bool isTradeTimeInt(int hb=0, int mb=0, int he=0, int me=0) {
datetime db, de; // Время начала и окончания работыint hc; // Часы текущего времени торгового сервера
db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+(string)hb+":"+(string)mb);
de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+(string)he+":"+(string)me);
hc=TimeHour(TimeCurrent());
if (db>=de) {
if (hc>=he) de+=24*60*60; else db-=24*60*60;
}
if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
elsereturn(False);
}
Profitov: Скажите пожалуйста можно ли в советник прописать угол наклона скользящей средней или пресечение цены со скользящей средней под определенным углом?
Сейчас тебе начнут объяснять, что угол зависит от масштабирования графика и это сделать невозможно... Но если возьмёшь не угол, а только тангенс этого угла, то вполне можешь выполнить задуманное.
Мой советник, в int init(), проводит сначала тестирование подгружаемой истории в 1000 баров, после чего start(). В тестере этот процесс занимает 3-4 секунды, а в реале около 8 минут. С чем это может быть связано? Как сделать так, чтобы в реале тестирование занимало времени столько-же, как и в тестере?
Графический объект на графике создать. Если есть объект с определенным именем, значит в начале функции OnStart() выходим. Для разблокировки - удалить объект вручную.
Спасибо!
А, как выходим? return(0); мне ошибку показывает.
Спасибо!
А, как выходим? return(0); мне ошибку показывает.
В звависимости от типа функции. Сейчас же не start(), а OnTick(), она void, значит посто return;
return;За комментируйте Print. если не нужен при работе. Как-то так.
Спасибо! Подскажите как можно вынести во внешние настройки ограничение работы советника по времени.
Добавила вот это
В звависимости от типа функции. Сейчас же не start(), а OnTick(), она void, значит посто return;
Спасибо!
Спасибо! Подскажите как можно вынести во внешние настройки ограничение работы советника по времени.
Добавила вот это
Может ли советник отобразить индикатор? Альтернатива ф-ции ChartIndicatorAdd в MQL5.
И где бы найти пример советника выполняющего расчеты на основе пользовательского индикатора?
Скажите пожалуйста можно ли в советник прописать угол наклона скользящей средней или пресечение цены со скользящей средней под определенным углом?
Но если возьмёшь не угол, а только тангенс этого угла, то вполне можешь выполнить задуманное.
Мой советник, в int init(), проводит сначала тестирование подгружаемой истории в 1000 баров, после чего start(). В тестере этот процесс занимает 3-4 секунды, а в реале около 8 минут.
С чем это может быть связано? Как сделать так, чтобы в реале тестирование занимало времени столько-же, как и в тестере?
Может ли советник отобразить индикатор? Альтернатива ф-ции ChartIndicatorAdd в MQL5.
И где бы найти пример советника выполняющего расчеты на основе пользовательского индикатора?