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

 
Todo el mundo lo sabe. EN MT4. Hay un probador de estrategias. Es posible empujar la enumeración de los parámetros, a través de la optimización.

La pregunta es la siguiente.

¿Podemos meter esta optimización, búsqueda de parámetros, en el Asesor Experto? Si el Asesor Experto optimiza los parámetros de vez en cuando, selecciona los que son rentables y trabaja con ellos? Digamos que cada 7 días el Asesor Experto optimiza durante 7 días. Y los parámetros seleccionados en la rentabilidad. Y los búhos, ¿ya trabajan otros 7 días?

Quiero escuchar la respuesta, alguien que entienda esto. Digamos que la cantidad de trabajo. La gravedad del trabajo. etc. De qué se trata.

 
Aleksey Radzisheuski:
Todo el mundo lo sabe. EN MT4. Hay un probador de estrategias. Es posible empujar la enumeración de los parámetros, a través de la optimización.
La pregunta es la siguiente.
¿Podemos meter esta optimización, búsqueda de parámetros, en el Asesor Experto? Si el Asesor Experto optimiza los parámetros de vez en cuando, selecciona los que son rentables y trabaja con ellos? Digamos que cada 7 días el Asesor Experto optimiza durante 7 días. Y los parámetros seleccionados en la rentabilidad. Y los búhos, ¿ya trabajan otros 7 días?

Quiero escuchar la respuesta, alguien que entienda esto. Digamos que la cantidad de trabajo. La gravedad del trabajo. etc. De qué se trata.

Aquí está el artículo https://www.mql5.com/ru/articles/1467 ...

Автоматическая оптимизация торгового робота в процессе реальной торговли
Автоматическая оптимизация торгового робота в процессе реальной торговли
  • 2007.04.16
  • Igor Malcev
  • www.mql5.com
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
 
Alekseu Fedotov:


¿Tieneuna línea de tendencia?

Y visualmente pasa por encima de la barra 0, no, marca la casilla en propiedades, haz.


La línea es una línea de tendencia. Cambió las propiedades a un rayo. No sirvió de nada. Idealmente, quiero que el precio se muestre independientemente de la posición de la barra cero (arriba, abajo).

Este código tampoco funciona.

int inicio() {

double pr=ObjectGetValueByShift("línea",0);

Si (Oferta==pr){

Alerta (pr);}

return(0);}

 
Valerius:

¡Buenas tardes a todos!

Pregunta, en insta al intentar enviar una orden, dice que los topes están mal.

Aquí está la línea en sí:

OrderSend(Symbol(),OP_BUYSTOP,Lots,HiP,3,0,0,NULL,111,0,clrBlue);

Los Stop Loss y Take Points tienen 0. Si pongo un número en Stop Loss, todo es normal.

No necesito Stop Loss. ¿Qué debo hacer?

Esto no es un problema de StopLoss, sino del precio de apertura de una orden pendiente. Si el precio de la orden pendiente es erróneo, aparece el error 130.
 
Kot:


La línea tiene tendencia. Cambió las propiedades a un rayo. No sirvió de nada. Lo ideal es que el precio se muestre independientemente de la posición de la barra cero (arriba, abajo).

Este código tampoco funciona.

int inicio() {

double pr=ObjectGetValueByShift("línea",0);

Si (Oferta==pr){

Alerta (pr);}

return(0);}


¿Ha escrito correctamente el nombre de la línea?

Prueba este script, y muestra lo que dice en los registros.

void OnStart()
  {
     double pr;
     int obj_total=ObjectsTotal(); 
     string name;
     int i; 
     
   for(i=0;i<obj_total;i++) 
     { 
      name=ObjectName(i); 
      if(ObjectType(name)!=OBJ_TREND) continue; 
      PrintFormat("Объект %d:     Имя объекта - %s",i,name); 
      pr=ObjectGetValueByShift(name,0);
      PrintFormat("Объект %d:     Цена - %.5f",i,pr);
      
     } 
  }
 

Tenemos una tarea. Los datos de los indicadores en los plazos más altos se llaman al Asesor Experto iCustom. Llamemos a sus líneas de soporte y resistencia.

Supongamos las tres cifras x1 x2 x3. Por favor, ayúdenme a escribir un código que dibuje líneas con estas tres cifras directamente en EA.

Probé con ObjCreate (quiero que se dibujen en un gráfico como puntos en cada tick, pero nada funcionó)

Para aclarar, 3 líneas separadas. Yo no enlazaría con mql4 primer. Comparta el código de trabajo

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
Artyom Trishkin:

En este hilo quiero empezar a ayudar a aquellos que realmente quieren entender y aprender a programar en el nuevo MQL4 y quieren cambiar fácilmente a MQL5 - los lenguajes son muy similares.

Este será un buen lugar para discutir las tareas, los algoritmos de su solución y cualquier otra cuestión relacionada con la programación de la MT.

Espero que otros usuarios experimentados del foro se unan a la discusión y la rama sea interesante para todos.


Esta es la tarea. Para el Asesor Experto iCustom, llamaremos a los datos de los indicadores que están en los marcos de tiempo más altos. Llamemos a sus líneas de soporte y resistencia.

Supongamos las tres cifras x1 x2 x3. Por favor, ayúdenme a escribir un código que dibuje líneas con estas tres cifras directamente en EA.

Probé con ObjCreate (quiero que se dibujen en un gráfico como puntos encada tick, pero nada funcionó)

Para aclarar, 3 líneas separadas. Por favor, no consulte el tutorial de mql4. Comparta el código de trabajo

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
BoBoforex:

Tenemos una tarea. Los datos de los indicadores en los plazos más altos se llaman al Asesor Experto iCustom. Llamemos a sus líneas de soporte y resistencia.

Supongamos las tres cifras x1 x2 x3. Por favor, ayúdenme a escribir un código que dibuje líneas con estas tres cifras directamente en EA.

Probé con ObjCreate (quiero que se dibujen en un gráfico como puntos encada tick, pero nada funcionó)

Para aclarar, 3 líneas separadas. Yo no enlazaría con mql4 primer. Sólo comparte el código que funciona.


La función

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.03.2008                                                     |
//|  Описание : Установка объекта OBJ_HLINE горизонтальная линия               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    st - стиль линии                (0  - простая линия)                    |
//|    wd - ширина линии               (1  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetHLine(color cl, string nm="", double p1=0, int st=0, int wd=1) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_HLINE, 0, 0,0);
  ObjectSet(nm, OBJPROP_PRICE1, p1);
  ObjectSet(nm, OBJPROP_COLOR , cl);
  ObjectSet(nm, OBJPROP_STYLE , st);
  ObjectSet(nm, OBJPROP_WIDTH , wd);
}

Colócalo fuera de la función void OnTick()

Y esto está dentro del void OnTick()

  SetHLine(clrRed,"x1",x1); 
  SetHLine(clrRed,"x2",x2);
  SetHLine(clrRed,"x3",x3);  
 

Por favor, ayuda - No puedo entender por qué obtengo cero al calcular la matriz VesMass en valores i>0 ?

   int NumberTotal=3;
   int VesTotal=NumberTotal;//всего веслов в массиве
   double VesMass[];//массив с весами
   ArrayResize(VesMass,VesTotal);



   for(int i=0;i<VesTotal;i++)
     {
      if(i==0)
        {
         VesMass[i]=1;
         Print("VesMass ",i,"=",VesMass[i]);
        }
      if(i>0)
        {
         VesMass[i]=VesMass[i-1]*(4/5);
         Print("VesMass ",i-1,"=",VesMass[i-1]);
         Print("VesMass ",i,"=",VesMass[i]);
        }
     }
 
Alexey Viktorov:
Este no es el problema del Stop Loss sino del precio abierto de la orden pendiente. Si el precio de la orden pendiente es incorrecto, el error es 130.


He tratado de colocar la orden pendiente dentro del doble del precio. Sólo entonces el error desaparece. ¿No entiendo si esto es correcto?

Por ejemplo, la orden BUYSTOP se establece en 60 puntos de Bida. El TakeProfit tampoco permite que se establezca menos por el valor del spread.

No entiendo por qué es así. No funciona en la cuenta real pero sí en el modo demo.

Razón de la queja: