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

 
Buenas tardes Amigos, actualmente estoy operando con la ayuda de un EA,
¿Pueden aconsejarme si puedo utilizar estos parámetros para escribir mi propio EA?
------------------------------------------------------------------------------
GridA=true
GridB=true
GridC=true
OrdersSideOptimize=true
StopTradeAfterTP_GridA=false
StopTradeAfterTP_GridB=false
StopTradeAfterTP_GridC=false
MaxTrades_GridA=15
MaxTrades_GridB=15
MaxTrades_GridC=15
MagicNumber_GridA=7771
MagicNumber_GridB=7772
MagicNumber_GridC=7773
MaxLots=100.0
AutoMM=3.0
T6="Configuración de los lotes"
BaseOrderLevel=1
LotExponent=1,33
T7="Ajustes de TakeProfit".
TakeProfit=125,0
Deslizamiento=3,0
T10="Ajustes del paso"
Grilla_de_pasoA=170.0
Step_GridB=170.0
Paso_GridC=200.0
DistanciaExponente=1,18
BaseDistanceOrder=10

Saludos a usted Noble Savage
 

Buenas tardes. ¿Puede decirme algo?


Al compilar, se produce un error.

if(flag_Cl_Buy = "on" && Ask>=BB)

'&&' - uso de operaciones ilegales

Este personaje es un AND lógico. La traducción de '&&' es una operación ilegal. )))

¿Qué pasa? ))

Ramificación estándar. Hacer lo que está en la condición 1(flag_Cl_Buy = "on") y el valor del precio es mayor que lo especificado. ¿Qué tiene de malo este Y?


 
Gilmor:

Buenas tardes. ¿Puede decirme algo?


Al compilar, se produce un error.

'&&' - uso de operaciones ilegales

Este personaje es un AND lógico. La traducción de '&&' es una operación ilegal. )))

¿Qué pasa? ))

Ramificación estándar. Hacer lo que está en la condición 1(flag_Cl_Buy = "on") y el valor del precio es mayor que lo especificado. ¿Qué tiene de malo este Y?


==

Entonces la comparación es "==", te faltó un signo.

 
Gilmor:

Buenas tardes. ¿Puede decirme algo?


Al compilar, se produce un error.

'&&' - uso de operaciones ilegales

Este personaje es un AND lógico. La traducción de '&&' es una operación ilegal. )))

¿Qué pasa? ))

Ramificación estándar. Hacer lo que está en la condición 1(flag_Cl_Buy = "on") y el valor del precio es mayor que lo especificado. ¿Qué tiene de malo este Y?


No estás comparando, estás asignando.

if(flag_Cl_Buy = "on" && Ask>=BB)

La comparación es así:

if(flag_Cl_Buy == "on" && Ask>=BB)
 
dodon_:
Buenas tardes Estimados amigos, Actualmente estoy operando con la ayuda de mi Asesor Experto,
¿Puedes decirme si puedo escribir mi propio EA basado en estos parámetros?

Basándome en lo poco que he visto de respuestas, puedes escribir cualquier cosa, e incluso la gente buena te dirá dónde están las dudas y los errores. Pero, nadie se limitará a escribirte y con preguntas tan vagas la mayoría de las veces te mandan a la bolsa.

https://www.mql5.com/ru/job

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • www.mql5.com
Добрый день. Нужно написать советника на основе мартингейла работающего в обе стороны с усреднениями на ТФ м1/м5/м15/Н1/Н4/D1 , с тейк профитом но без стоп лоса, для центового счета, с функцией привязки советника на определенные счета. Требуются данные входные параметры для управления советником: Стратегия GridA: включить/выключить стратегию...
 
Vladimir Karputov:

No estás comparando, estás asignando.

La comparación es así:

Muchas gracias. =)

 

Me disculpo por adelantado. Sólo un par de preguntas más.

Por favor, aclare lo que no entiendo. MQL4


void OnTick()
  {
//---
............
тело самого советника
.........
return;
  }

¿Cuáles son los errores? Genera.

OnTick' - las declaraciones de funciones sólo se permiten en el ámbito global, del espacio de nombres o de la clase

'OnTick' - función ya definida y con cuerpo

ver declaración anterior de la función 'OnTick'

'}' - El siguiente es un error al final del programa

Como resalta el paréntesis, lo he comprobado dos veces. Es el paréntesis de cierre de la función 'OnTick'.

Antes de esta función sólo hay una declaración de variables y el int OnInit(), void OnDeinit(const int reason)

-----------------------------

He robado una solución sencilla de este foro para cerrar todos los pedidos.

for(z=OrdersTotal()-1; z>=0; z--)    // закрытие всех ордеров.
        {
         if(OrderSelect(z,SELECT_BY_POS)==true && OrderSymbol() == Symbol())
           {
            OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Red);
           }
        }

Me da un icono amarillo y me pide que vuelva a comprobar el valor devuelto. No necesito comprobar el valor de retorno. ¿Qué está insinuando?

------------------------------

Operador de conmutación

Bonita cosa del interruptor. Expresión hecha

switch(flag_1)

Como dice el nombre de la bandera. Cambia a 1 de los valores de la bandera durante el cálculo en función de la solución. Marcadores. Los valores de esta bandera son 3. Son "cero", "COMPRA", "VENTA".

string flag_1 = "zero";

void OnTick()
  {
switch(flag_1)
     {

      case "zero":
  .............
...............
break;
     case "BUY":
 .............
...............
 break;
    case "SELL":
 .............
...............
 break;
return;
}
}

Y no le gusta todo. Ni el propioflag_1 ni sus valores. ¿Cómo podemos solucionarlo? No quiero que me obliguen a hacer números. Visualmente, es más difícil comprender si sólo habrá dígitos x = 1, 2 o 3. :( ¿No están permitidas las etiquetas de texto?

-------------------------------

// Удалить старую отложку
            OrderDelete(OrderBufer_B[i].ticket,clrRed);
            if(OrderSelect(OrderBufer_B[i].ticket,SELECT_BY_TICKET,MODE_TRADES) = true)
              {
               OrderDelete(OrderBufer_B[i].ticket,clrRed);
              }  // повторить

Errores

El valor de retorno de 'OrderDelete' debe ser comprobado

'OrderSelect' - l-value required

'=' - valor l requerido

¿Tiene algún sentido este proceso? ¿Es necesario poner todas mis acciones relacionadas con los pedidos en un bucle hasta que se realicen? O el servidor, aunque esté ocupado en este momento, ¿procesará tu solicitud?

Entiendo que si estamos hablando de órdenes en el mercado para comprar/vender ahora, entonces en el momento de la noticia cuando el servidor estará libre, el precio ya puede ir lejos y entonces la orden no se ejecutará.




 
Gilmor:

Me disculpo por adelantado. Sólo un par de preguntas más.

Por favor, aclare lo que no entiendo. MQL4


¿Cuáles son los errores? Genera.

OnTick' - las declaraciones de funciones sólo se permiten en el ámbito global, del espacio de nombres o de la clase

'OnTick' - función ya definida y con cuerpo

ver declaración anterior de la función 'OnTick'

'}' - El siguiente es un error al final del programa

Como resalta el paréntesis, lo he comprobado dos veces. Es el paréntesis de cierre de la función 'OnTick'.

Antes de esta función sólo hay una declaración de variables y el int OnInit(), void OnDeinit(const int reason)

-----------------------------

He robado una solución sencilla de este foro para cerrar todos los pedidos.

Me da un icono amarillo y me pide que vuelva a comprobar el valor devuelto. No necesito comprobar el valor de retorno. ¿Qué está insinuando?

------------------------------

Operador de conmutación

Bonita cosa del interruptor. Expresión hecha

Como dice el nombre de la bandera. Cambia a 1 de los valores de la bandera durante el cálculo en función de la solución. Marcadores. Los valores de esta bandera son 3. Son "cero", "COMPRA", "VENTA".

Y no le gusta todo. Ni el propioflag_1 ni sus valores. ¿Cómo podemos solucionarlo? No quiero que me obliguen a hacer números. Visualmente, es más difícil comprender si sólo habrá dígitos x = 1, 2 o 3. :( ¿No están permitidas las etiquetas de texto?

-------------------------------

Errores

El valor de retorno de 'OrderDelete' debe ser comprobado

'OrderSelect' - l-value required

'=' - valor l requerido

¿Tiene algún sentido este proceso? ¿Es necesario poner todas mis acciones relacionadas con los pedidos en un bucle hasta que se realicen? O el servidor, aunque esté ocupado en este momento, ¿procesará tu solicitud?

Entiendo que si estamos hablando de órdenes de compra/venta del mercado ahora, entonces en el momento de la noticia cuando el servidor estará libre, el precio ya puede ir lejos y entonces la solicitud no se ejecutará.




Hay que comprobar los resultados de OrderSend, OrderDelete, OrderClose, OrderModify. Son sólo normas de decencia elevadas al rango de advertencias.

Y los errores de "lvalue" son sus confusiones favoritas de comparación y asignación.

PD/ pues no se aprende a programar en MT. La MT es una aplicación dura.

 
Gilmor:

Me disculpo por adelantado. Sólo un par de preguntas más.

Por favor, aclare lo que no entiendo. MQL4


¿Cuáles son los errores? Genera.

OnTick' - las declaraciones de funciones sólo se permiten en el ámbito global, del espacio de nombres o de la clase

'OnTick' - función ya definida y con cuerpo

ver declaración anterior de la función 'OnTick'

'}' - El siguiente es un error al final del programa

Como resalta el paréntesis, lo he comprobado dos veces. Es el paréntesis de cierre de la función 'OnTick'.

Antes de esta función sólo hay una declaración de variables y el int OnInit(), void OnDeinit(const int reason)

-----------------------------

He robado una solución sencilla de este foro para cerrar todos los pedidos.

Me da un icono amarillo y me pide que vuelva a comprobar el valor devuelto. No necesito comprobar el valor de retorno. ¿Qué está insinuando?

------------------------------

Operador de conmutación

Bonita cosa del interruptor. Expresión hecha

Como dice el nombre de la bandera. Cambia a 1 de los valores de la bandera durante el cálculo en función de la solución. Marcadores. Los valores de esta bandera son 3. Son "cero", "COMPRA", "VENTA".

Y no le gusta todo. Ni el propioflag_1 ni sus valores. ¿Cómo podemos solucionarlo? No quiero que me obliguen a hacer números. Visualmente, es más difícil comprender si sólo habrá dígitos x = 1, 2 o 3. :( ¿No están permitidas las etiquetas de texto?

-------------------------------

Errores

El valor de retorno de 'OrderDelete' debe ser comprobado

'OrderSelect' - l-value required

'=' - valor l requerido

¿Tiene algún sentido este proceso? ¿Es necesario poner todas mis acciones relacionadas con los pedidos en un bucle hasta que se realicen? O el servidor, aunque esté ocupado en este momento, ¿procesará tu solicitud?

Si estamos hablando de órdenes de compra/venta ahora, entonces en el momento de la noticia cuando el servidor estará libre, el precio puede ir muy lejos y la orden no se ejecutará.




Tiene 2 funciones OnTick


La expresión del operador switch debe ser de tipo entero.

 
Artyom Trishkin:

Sí, crea un tema aparte. Sólo trata de elegir la sección correcta del foro en la que crear el tema.

Sí, de acuerdo. ¿Está bien"MQL4 y MetaTrader 4"? ¿O es mejor en "Indicadores"?
Razón de la queja: