[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1015

 

Ayuda!!! Llevo tres horas luchando!!! No puedo asignar la variable order=Close[1]. La idea es que en el momento de realizar el pedido se recuerde el precio, tal y como estaba en ese momento.

Luego puede compararlo con el precio actual y mover el stop loss o el take profit,

Puede que sea un idiota, pero debería saberlo.

Gracias de antemano.

//+------------------------------------------------------------------+
//| Tester.mq4 |
//| Dimon...
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Dimon"
#enlace de propiedad "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+

extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
extern double BandasDesviaciones=2,0;
extern double Lots=0.1,TakeProfit=50,stoploss=10 ;double PointX;extern int parametrA=2;
int init()
{ if(Dígitos==5 || Dígitos==3) PuntoX = Punto * 10; // Punto de corrección para tres-cinco dígitos
if(Dígitos==4 || Dígitos==2) PuntoX = Punto;
//----
Alerta ("PuntoX",PuntoX);
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int inicio()
{double order, newloss=12;Alert (" order ",order);
si (parametrA==0){
int total=Total de Pedidos();// Comentario(" total ",total); Alerta (" total ",total);
if ( total !=0 ){return;}

doble Media,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,suma,desviación;
string text; int ticket; int err;
text="muestra macd";}else { Comentario("¡boya!",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Alerta (" stoploss ",Ask-stoploss*PointX);Alerta (" parametrA ",parametrA);
order=Clausura[1];Comment("boya!order ",order );parametrA--;
}
//----

//----
return(0);
}
//+------------------------------------------------------------------+

 
Acabo de empezar a escribir un EA para mt4 usando Gordago forex optimizer, soy bueno con el algoritmo, así que puse el EA directamente en el terminal, preposicionado stoplosses y takeprofits para comprar y vender en Optimizer.Todo está probando normalmente, pero el EA no funciona en un gráfico real en absoluto; si pongo ceros en lugar de paradas y tomas de posesión, el comercio va a la vez, pero no con los resultados que necesito.
 
Dimka-novitsek:

Ayuda!!! Llevo tres horas luchando!!! No puedo asignar la variable order=Close[1]. La idea es que en el momento de realizar el pedido se recuerde el precio, tal y como estaba en ese momento.

Luego puede compararlo con el precio actual y mover el stop loss o el take profit,

Puede que sea un idiota, pero no estoy seguro de qué hacer con él.

Gracias de antemano.

....
Archivos adjuntos:
1_1.mq4  2 kb
 
Gracias!!!!Ciertamente!!!!
 
sezon:

He pensado en registrarme aquí también...

¿Cómo puedo configurar el envío de correo electrónico a narod.ru?

Todas las variantes probadas:

Servidor SMTP - smtp.narod.ru

Inicio de sesión SMTP: - имя@narod.ru

Contraseña SMTP - contraseña

De: slt-soft@narod.ru

Para: slt-soft@narod.ru

Error: Correo: el inicio de sesión en smtp.narod.ru ha fallado

No estoy seguro exactamente, pero parece que la gente sólo necesita un nombre de usuario (es decir, usted tiene un nombre - todo antes del perro), no un correo electrónico completo

Pero en algunos servidores smtp hay que sustituir el perrito por un signo más y entonces empieza a iniciar la sesión normalmente, en algunos servidores entiende tanto el perrito como el signo más, y en otros sólo el login

 
¡¡¡¡Por supuesto, no es 1, es 0!!!! No entiendo, ¿cómo es posible declarar una variable antes de la función de inicio? !!!!!!!!!!!!!!!!¡Esta es la única forma en que funciona!
 
Voy a releer las variables globales. ¡Pero el compilador no lo hizo!
 
Dimka-novitsek:
Voy a releer las variables globales. ¡Pero el compilador no lo hizo!
no me importó porque no había errores de sintaxis. Esto es un error lógico, el compilador no lo ve
 
001:


Sí, eso es exactamente. Hay un archivo, que has subido, que es muy útil, OptimizationReport.mq4. Lo he mejorado un poco, para calcular el Factor de Recuperación. Ahora quiero obtener el valor de esta variable en el código principal para acelerar la optimización detectando el paso del probador y estableciendo el límite del nivel de PV. He intentado hacerlo a través de variables globales. No puedo ver el valor de mi variable en el código principal.

Escribo en el Asesor Experto:

double myValue = GlobalVariableGet("myValue");
Print("myValue="+myValue);
MessageBox("myValue="+myValue);
Alert("myValue="+myValue);

en el include("Lo puse"):

GlobalVariableSet("miValor", 1);

No funciona, myValue=0.00000000


El problema es que normalmente este bibilio funciona al final. Para generar un informe.

Sería mejor simplemente hacer una función para calcular el factor de recuperación y llamarla en cada tick o barra, o sólo cuando la posición se cierra. Pero en cada tick es más fácil calcular la reducción máxima.

 
Vinin:

El problema es que esta bibliografía suele funcionar al final. Para generar un informe.

Es mejor hacer una función para calcular el factor de recuperación y llamarla en cada tick, o barra, o sólo cuando la posición se cierra. Pero en cada tick es más fácil calcular la reducción máxima.

Por desgracia, no tengo suficiente cerebro para escribirlo yo mismo.