//-----------------------------------------------------------------------------+// Функция контроля времени торговли |//-----------------------------------------------------------------------------+bool TradeTime(int StartTradeHour,int EndTradeHour){if(! TradeOfTime){if(DayOfWeek()==6||DayOfWeek()==0){
gTimeEngl="Start trade in 01:00 am";
gTimeRus="Начало торговли в понедельник в 01:00";return(false);}return(true);}if(DayOfWeek()==6||DayOfWeek()==0){
gTimeEngl="Start trade in 01:00 am";
gTimeRus="Начало торговли в понедельник в 01:00";return(false);}if( StartTradeHour< EndTradeHour){if(TimeHour(TimeCurrent())>= StartTradeHour&&TimeHour(TimeCurrent())< EndTradeHour
||( CountOpOrd("0")>0)){
gTimeEngl=StringConcatenate("By the end of trading session :",DoubleToStr(( EndTradeHour-TimeHour(TimeCurrent())),0)," hours");
gTimeRus=StringConcatenate("До конца торговой сессии :",DoubleToStr(( EndTradeHour-TimeHour(TimeCurrent())),0)," часов");return(true);}}if( StartTradeHour> EndTradeHour){if(TimeHour(TimeCurrent())>= StartTradeHour||TimeHour(TimeCurrent())< EndTradeHour
||( CountOpOrd("0")>0)){
gTimeEngl=StringConcatenate("By the end of trading session :",DoubleToStr(( EndTradeHour-TimeHour(TimeCurrent())),0)," hours");
gTimeRus=StringConcatenate("До конца торговой сессии :",DoubleToStr(( EndTradeHour-TimeHour(TimeCurrent())),0)," часов");return(true);}}
gTimeEngl=StringConcatenate("resting to : ", StartTradeHour,": 00");
gTimeRus=StringConcatenate("отдыхаем до : ", StartTradeHour,": 00");return(false);}
//-----------------------------------------------------------------------------+// Определяет дату конца торговли |//-----------------------------------------------------------------------------+bool EndTradeForDateTime(string EndTradeData){//"Enterting Date of End trading in eeee.mm.dd";if( EndTradeData==""){
gInf1rus="Дата конца торговли не определена ";
gInf1engl="Date of the end of trading is not defined ";
gColor1=LimeGreen;return(false);}int EndData=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE));int DataEnd=StrToTime( EndTradeData);if( EndData>= DataEnd){
gInf1rus="Торговля остановленна "+ EndTradeData;
gInf1engl="Trading stopped "+ EndTradeData;
gColor1=Red;return(true);}
gInf1rus="Торговля будет остановленна "+ EndTradeData;
gInf1engl="Trading will be stopped "+ EndTradeData;
gColor1=LimeGreen;return(false);}
Buenas tardes, KimIV. Necesito tu consejo, o mejor dicho, tu ayuda. Encontrado en la base de datos e-Smart_Tralling.mq4, autor desconocido ... pero como se aclara en la rama el autor tomó en base - arrastrando asesor-asistente I.Kim aka KimIV. He intentado cambiar en el código de este EA: 1.para que no se cierren todas las operaciones rentables, por ejemplo, al ejecutar una orden, si pongo un objetivo y mi take profit, el asesor no cierra esta operación; 2.para que funcione con todos los pares de divisas y con stoploss. Todavía no tengo mucha experiencia en programación, tal vez puedas sugerirme qué cambiar. Se lo agradezco de antemano.
Se me ocurrió una fórmula sencilla para la generación automática de un magik para los EAs que trabajan simultáneamente en diferentes instrumentos en la misma cuenta.
int Magic= GetMagic( ExpertName+Symbol(),Period());//-----------------------------------------+//+----------------------------------------------------------------------------+//| Автор : KimIV style, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 01.04.2009 |//| Описание : Возвращает сумму символьных кодов всех символов входной строки |//+----------------------------------------------------------------------------+//| Параметры: |//| simbolstring - строка для расчета |//| multiplier - дополнительный множитель |//+----------------------------------------------------------------------------+int GetMagic(string simbolstring,int multiplier){int res=0;int len=StringLen( simbolstring);for(int i=0; i< len; i++)
res+=StringGetChar( simbolstring, i);return( res* multiplier);}
Esta variante se ajustará a ....
Ponga OpenHour y CloseHour en los parámetros y los que quieran tener varios intervalos estarán satisfechos:
Hacer TimeTrade(OpenHour1, CloseHour1), TimeTrade(OpenHour2, CloseHour2), ......
y los combinarán como quieran.
publicado una vez antes
también
y lo dejamos por hoy....y eso es todo.
"No te apresures a enterrarnos, todavía tenemos cosas que hacer aquí..." :))
Если нужны ещё и минуты для более точного определения временного интервала, например для ночного скальпера.
Por supuesto, necesitas al menos decenas de minutos.
También se necesitan los días de la semana y la posibilidad de establecer horarios individuales para cada día de la semana y
Seleccionar/pujar un día determinado.
La práctica demuestra que los patrones funcionan de forma diferente en los distintos días de la semana.
Se me ocurrió una fórmula sencilla para la generación automática de un magik para los EAs que trabajan simultáneamente en diferentes instrumentos en la misma cuenta.