Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 137
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Hola a todos! Cómo escribo mi condición! Necesito poner una orden de stop-loss después de que el precio haya superado la distancia de stop-loss
para Buy.....
si( )
{
------------
}
para Sell.....
para transferir el STB al Breakeven, el ticket de la orden y la distancia en pips se pasan a la función
{
double sl=0.0;
if(OrderSelect(ticket,SELECT_BY_TICKET))
{
if(OrderType()==OP_BUY)
{
if(Bid>=OrderOpenPrice() && Bid-OrderOpenPrice()>=distance*_Point) sl=OrderOpenPrice();
if(OrderStopLoss()!=0 && OrderStopLoss()>=OrderOpenPrice())return;
}
if(OrderType()==OP_SELL)
{
if(Ask<=OrderOpenPrice() && OrderOpenPrice()-Ask>=distance*_Point) sl=OrderOpenPrice();
if(OrderStopLoss()!=0 && OrderStopLoss()<=OrderOpenPrice())return;
}
ResetLastError();
if(sl<=0)return;
if(!OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0))
{
int error=GetLastError();
rezult=StringConcatenate(OrderSymbol(),": error modifying StopLoss order ",OrderTicket()," ",TypeToStr(OrderType())," №- ",error);
Print(rezult);
}
}
}
...
No habrá ninguna pintura)
La lógica de búsqueda en sí es pesada, y cómo hacerla más fácil, aún no lo sé.
Vitaly, al principio intenté explicarte que no son los cálculos los que ralentizan al probador, sino los objetos gráficos en las pruebas visuales. Hazlo como él aconseja
Se puede rodar en el indicador sin dibujar). Y es mejor hacer una elección. Hop - dibujo, hop - no dibujo:)
y ver la diferencia de velocidad.
Ni siquiera es el dibujo lo que se retrasa, sino la presencia de gráficos en el gráfico.
Ni siquiera es el dibujo lo que ralentiza las cosas, sino la presencia de gráficos en el gráfico.
Vitaly, al principio intenté explicarte que no son los cálculos los que ralentizan al probador, sino los objetos gráficos en las pruebas visuales. Haz lo que dice
y ver la diferencia de velocidad.
Ni siquiera es el dibujo lo que se retrasa, sino la presencia de gráficos en el gráfico.
Pruebo la función sin ningún tipo de gráfico, el gráfico se hizo sólo para ver la corrección de los cálculos mientras se escribía el código - era puramente técnico y hace tiempo que se eliminó del código. El gráfico está en blanco durante la prueba.
Por lo tanto, cuando no tengo la función, entonces las pruebas "vuelan", pero conectar la función - va lentamente.
P.D. En principio no necesito objetos gráficos. Olvídate de los gráficos: ¡no los tengo ni los tendré!
Pruebo la función sin ningún tipo de gráfico, el gráfico se hizo sólo para ver si los cálculos eran correctos mientras se escribía el código - era puramente técnico y se eliminó del código hace mucho tiempo. El gráfico está en blanco durante la prueba.
Así que, cuando no tengo función, las pruebas "vuelan", pero conectar la función - va lento.
P.D. En principio no necesito objetos gráficos. Olvídate de los gráficos: ¡no los tengo ni los tendré!
¿Has mirado aquí?
Genial, intentaré meter las funciones en el EA. Publicaré el resultado más tarde.
¡¡¡Gracias!!!
Por favor, ayúdeme a entender cómo escribir el código correctamente para obtener el índice de las barras abiertas a las 4:00 y a las 15:00
Esa es una.
int shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent());
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
Son dos.
int shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time);
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
Esa es una.
int shift=Bars("EURUSD",PERIOD_CURRENT,some_time,TimeCurrent());
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);
Son dos.
int shift=iBarShift("EURUSD",PERIOD_CURRENT,some_time);
Print("index of the bar for the time ",TimeToStr(some_time)," is ",shift);