Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 49

 
Alexander Antoshkin:

Por una torta y una taza de café, una advertencia debe ser ajustado ( de las nuevas construcciones de mt4)

)

Bueno, el pastel puede ser enviado por correo... ¿De dónde sacas el café?

Archivos adjuntos:
 
Alexey Viktorov:

Bueno, puedes enviar una tarta por correo... ¿De dónde sacas el café?

Gracias)))

código corregido devuelto al hilo del artículo.................................................

 
Estoy intentando instalar MetaTrader4 desde el archivo de instalación original mt4setup.exe pero MT5 se me instala descaradamente. Sistema Windows7 x64. ¿Es así como el desarrollador intenta que me guste la nueva plataforma? ¿Cómo puedo instalar lo que quiero (MT4) y no lo que me imponen?
 
Andrej Akimov:
Estoy intentando instalar MetaTrader4 desde el archivo de instalación original mt4setup.exe pero MT5 se me instala descaradamente. Sistema Windows7 x64. ¿Es así como el desarrollador intenta que me guste la nueva plataforma? ¿Cómo puedo instalar lo que quiero (MT4) y no lo que me imponen?
Ya hay un montón de hilos en el foro con soluciones a este problema. ¿Por qué no utilizar el motor de búsqueda?
 
Muestre con un ejemplo cómo escribir una cadena en un archivo y leerla.El archivo debe estar almacenado en la raíz de la unidad C.Esta debe ser anexa.
 

Estoy tratando de implementar el stop loss y el take profit de esta manera:

spread = Oferta-Pregunta;

double StopLoss_B = NormalizeDouble(Low[1]- spread,Digits);//NormalizeDouble(Low[1]- spread,Digits)

double TakeProfit_B = NormalizeDouble(Ask+((Ask-StopLoss_B)* RiskRewart),Digits) ;

double StopLoss_S = NormalizeDouble(High[1]+ spread,Digits);//NormalizeDouble(High[1]+ spread,Digits)

double TakeProfit_S = NormalizeDouble(Bid-((StopLoss_S-Bid)* RiskRewart),Digits) ;

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss_B,TakeProfit_B, "PBar",Magik,0,Blue);

....

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss_S,TakeProfit_S, "PBar",Magik,0,Red);

El probador muestra el error 130 - algo mal con TP y SL. No puedo entender qué es exactamente, sobre todo porque a veces se ejecuta bien, y a veces me da un error.

En general, por favor, ayuda.

 
RichLux:

Estoy tratando de implementar el stop loss y el take profit de esta manera:

spread = Oferta-Pregunta;

double StopLoss_B = NormalizeDouble(Low[1]- spread,Digits);//NormalizeDouble(Low[1]- spread,Digits)

double TakeProfit_B = NormalizeDouble(Ask+((Ask-StopLoss_B)* RiskRewart),Digits) ;

double StopLoss_S = NormalizeDouble(High[1]+ spread,Digits);//NormalizeDouble(High[1]+ spread,Digits)

double TakeProfit_S = NormalizeDouble(Bid-((StopLoss_S-Bid)* RiskRewart),Digits) ;

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss_B,TakeProfit_B, "PBar",Magik,0,Blue);

....

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss_S,TakeProfit_S, "PBar",Magik,0,Red);

El probador muestra el error 130 - algo mal con TP y SL. No puedo entender qué es exactamente, sobre todo porque a veces se ejecuta bien, y a veces me da un error.

En general, por favor, ayuda.

Tal vez a veces se establece demasiado cerca del precio actual, ver lo que la función devuelve

double stop_level=(double)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

...

 

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategia

Preguntas de los principiantes MQL4 MT4 MetaTrader 4

Sergey Gritsay, 2017.01.07 18:48

Quizá a veces apuestes demasiado cerca del precio actual, a ver qué te devuelve la función

double stop_level=(double)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

...


Gracias por su participación. No he descubierto cómo utilizar la función sugerida. Pero me has animado a aprender más sobre esos errores en el gráfico y he entendido que la razón es que cuando se dispara un Stop Loss, pero la vela aún no se ha cerrado, el EA intenta colocar una nueva orden, y ahí es donde se produce el error. Tengo que pensar cómo explicar el EA que sólo se necesita una orden por vela

 
RichLux:

Gracias por su participación. No he descubierto cómo utilizar la función sugerida. Pero me has animado a aprender más sobre esos errores en el gráfico y he entendido que la razón es que cuando se dispara un Stop Loss pero la vela aún no se ha cerrado el EA intenta colocar una nueva orden, ahí es donde se produce el error. Tengo que pensar cómo explicar el EA que sólo se necesita una orden por vela

Si el EA ya tiene una orden en el símbolo, mira la diferencia(tiempo de cierre de la orden)-(tiempo de apertura de la vela), si la diferencia es menor que PeriodSeconds() - no abre una nueva orden.
 

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategia

Preguntas de los principiantes MQL4 MT4 MetaTrader 4

Vitalie Postolache, 2017.01.07 21:23

Observe entre las órdenes cerradas, si el Asesor Experto en el símbolo dado ya tiene una orden, observe la diferencia(tiempo de cierre de la orden)-(tiempo de apertura de la vela), si la diferencia es menor que PeriodSeconds() - no abra una nueva orden.

Hizo las cosas de manera un poco diferente.

Nueva función de bar:

bool NuevaBarra()

{

static datetime lastbar = 0;

datetime curbar = Time[0];

if(lastbar != curbar)

{

lastbar = curbar;

devolver (true);

}

si no, return(false);

}

y escribí las condiciones para abrir sólo si hay una nueva barra