Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 769

 
Por favor, ayuda, es necesario añadir el tiempo del asesor. que puede ayudar, escribir en el personal. como muestra de gratitud, voy a compartir mi idea
 
Sergei Boriskov:
Ayuda por favor, necesitamos agregar tiempo al Asesor Experto. quien pueda ayudar, por favor contácteme en persona. como agradecimiento, compartiré mi idea
Este foro es para un debate abierto.
 
Por favor, ayúdenme, necesito añadir una hora al asesor.
Archivos adjuntos:
qwer.mq4  14 kb
 
Sergei Boriskov:
Por favor, ayúdenme, necesito añadir el tiempo de ejecución a mi EA.

Pruebe este script para sacar algunas características útiles para su EA.

//+----------------------------------------------------------------------------+
//|                                                test_isTradeTimeString.mq4  |
//|                                                                            |
//|                                                    Ким Игорь В. aka KimIV  |
//|                                                       http://www.kimiv.ru  |
//|                                                                            |
//|  29.04.2009  Скрипт для тестирования функции isTradeTimeString().          |
//+----------------------------------------------------------------------------+
#property copyright "Ким Игорь В. aka KimIV"
#property link  "http://www.kimiv.ru"


void OnStart() {
//1. Временной отрезок внутри суток.
//Текущее время торгового сервера внутри отрезка и пусть оно равно "07:50".
//  if (isTradeTimeString("06:00", "09:30")) Message("Торгуем...");
//  else Message("Отдыхаем...");

//2. Временной отрезок внутри суток.
//Текущее время торгового сервера вне отрезка и пусть оно равно "07:50".
  if (isTradeTimeString("12:00", "16:30")) Message("Торгуем...");
  else Message("Отдыхаем...");

//3. Временной отрезок включает границу суток.
//Текущее время торгового сервера внутри отрезка и пусть оно равно "07:50".
  //if (isTradeTimeString("20:15", "09:30")) Message("Торгуем...");
  //else Message("Отдыхаем...");

//4. Временной отрезок включает границу суток.
//Текущее время торгового сервера вне отрезка и пусть оно равно "07:50".
//  if (isTradeTimeString("8:00", "18:30")) Message("Торгуем...");
 // else Message("Отдыхаем...");
}

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 29.04.2009                                                     |
//|  Описание : Возвращает флаг разрешения торговли по времени.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    TimeBegin - время начала торговли         (ЧЧ:ММ)                       |
//|    TimeEnd   - время окончания торговли      (ЧЧ:ММ)                       |
//+----------------------------------------------------------------------------+
bool isTradeTimeString(string TimeBegin="00:00", string TimeEnd="00:00") {
  datetime dtBegin, dtEnd;        // Время начала и окончания работы
  int      hc, he;                // Часы текущего времени и окончания работы

  dtBegin=StringToTime( TimeToString(TimeCurrent(), TIME_DATE)+" "+TimeBegin);
  dtEnd  =StringToTime( TimeToString(TimeCurrent(), TIME_DATE)+" "+TimeEnd);
  hc     =TimeHour(TimeCurrent());
  he     =TimeHour(dtEnd);
  if (dtBegin>=dtEnd) {
    if (hc>=he) dtEnd+=24*60*60; else dtBegin-=24*60*60;
  }

  if (TimeCurrent()>=dtBegin && TimeCurrent()<=dtEnd) return(true);
  else return(false);
}

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Вывод сообщения в коммент и в журнал                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    m - текст сообщения                                                     |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Alert(m);
  if (StringLen(m)>0) Alert(m);
}
//+----------------------------------------------------------------------------+

 
Sergei Boriskov:
Por favor, ayúdenme, necesito añadir tiempo al Asesor Experto.
¿Ha intentado hacer algo usted mismo? ¿O quiere que lo hagamos por usted?
Este es un hilo de entrenamiento. Si no puedes, te ayudaremos, te enseñaremos, pero lo haremos todo por ti...
 
Alekseu Fedotov:

Pruebe este script para sacar algunas características útiles para su EA.

Gracias

 
Vitaly Muzichenko:

Pues bien, de cada código se puede sacar algo útil y a veces incluso extraordinario.

Codebase está diseñado para este propósito, no para lo que dos personas hagan con él.

P.D. Tengo una buena idea, voy a tener que reescribir la matriz de estructuras, de alguna manera ni siquiera pensar en ello antes.

https://www.mql5.com/ru/code/24787

El código base fue creado con este mismo propósito y está diseñado para hacer las cosas que dos personas hacen con él.

ArrayZigZag
ArrayZigZag
  • www.mql5.com
При создании объекта в его конструктор необходимо передать в качестве параметров: 3. Использовать экземпляр объекта  ZigZag как обычный массив структур. Доступны для чтения следующие поля: Свойство Тип Описание 4. Публичным доступны два метода:  ZigZag.Update(void) - обновление значений индикатора ZigZag , можно использовать как на каждом...
 
Igor Makanu:

https://www.mql5.com/ru/code/24787

Estúdialo, o edita la clase que contiene los datos para que se adapte a tus necesidades, en mi caso es CZigZagPeak, ¡las listas dinámicas son geniales!

Gracias, echaré un vistazo por la noche.

 

Buenas tardes.

Ayuda con el código, por favor, ya que no soy programador :(

Necesito una parte de código para calcular la distancia entre los pedidos.

La esencia del bloque:

Se ejecuta una vez a la semana, el lunes, al comienzo de la apertura de la sesión de negociación.

Se cargan los datos históricos del mes anterior. (D1) (Cómo determinar el último mes o sólo calcular 30 días)

Todos los tamaños de las velas se registran teniendo en cuenta las sombras de cada vela en D1 y se calcula el tamaño medio de una vela para el mes.

También calculamos el valor medio del tamaño de las velas de la última semana.

A continuación se calcula el valor medio entre el mes y la semana y se divide por N partes. Esta será la distancia entre las órdenes.

 
Alexander Layzerevich:

Buenas tardes.

Ayuda con el código, por favor, ya que no soy programador :(

Necesito una parte de código para calcular la distancia entre los pedidos.

La esencia del bloque:

Se ejecuta una vez a la semana, el lunes, al comienzo de la apertura de la sesión.

Se cargan los datos históricos del mes anterior. (D1)

Todos los tamaños se registran teniendo en cuenta las sombras de cada vela en D1 y se calcula el valor medio del tamaño de la vela para el mes.

También se calcula el valor medio del tamaño de las velas de la última semana.

A continuación se calcula el valor medio entre el mes y la semana y se divide por N partes. Esta será la distancia entre las órdenes.

Utilice el indicador ATR