¡Buenas tardes, este robot hace exactamente lo que buscaba! Tengo una pregunta, como hago para que se inserten nuevas ordenes cada vez que se finaliza una, y no solo cuando nace una nueva barra, estoy operando con un activo que repite el mismo precio varias veces y podria hacer mas de una operacion por minuto. gracias de antemano.
Lo siento, este código sólo funciona cuando nace una nueva barra.
Hola, ¿que en la siguiente barra define si será de compra o de venta? agradecido
El EA trabaja con órdenes pendientes: BuyLimit y SellLimit.
Aquí mi lote es cada 1. Si quiero que el lote sume +1 (1,2,3,4,5....) con cada pedido, ¿es esta la sección que tengo que cambiar?
//--- obtener paso minimo de cambio de volumen
double paso_volumen=m_symbol.Paso_lote();
int ratio=(int)MathRound(volumen/volumen_paso);
if(MathAbs(ratio*volumen_paso-volumen)>0.0000001)
¿Qué aspecto tendría?
No Incorrecto Para aumentar el lote actual, necesita saber cuál fue la última transacción.
¿Cómo puedo limitar el número de órdenes abiertas?
Gracias
¿Cómo puedo limitar el número de órdenes abiertas?
Gracias
Para limitar - necesita contar todas las POSICIONES.
El autor del Asesor Experto no responderá de todos modos. Si es posible entender el código, que alguien al menos responda en qué principio se colocan las órdenes limitadas pendientes. Parece ser en el retraso del precio, pero en qué principio y en qué parte del código se puede regular, si es posible. Incluso sin ajuste, sólo para entender cómo y en qué condiciones se colocan.
¡Hola, Vladimir!
En este bloque puedes ajustar/cambiar el código resaltado en amarillo como necesites:
//--- MqlRates rates[]; ArraySetAsSeries(rates,true); int copied=CopyRates(m_symbol.Name(),Period(),1,1,rates); if(copied!=1) { PrevBars=0; return; } double H4=((((rates[0].high-rates[0].low)*1.1)/2)+rates[0].close); double H3= ((((rates[0].high-rates[0].low)*1.1)/4)+rates[0].close); double L3= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/4); double L4= (rates[0].close-((rates[0].high-rates[0].low)*1.1)/2); double price=0.0; double sl=0.0; double tp=0.0; price=L4; sl=(InpStopLoss==0.0)?0.0:ExtStopLoss; tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit; m_trade.BuyLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(), m_symbol.NormalizePrice(price-sl), m_symbol.NormalizePrice(price+tp)); price=H4; sl=(InpStopLoss==0.0)?0.0:ExtStopLoss; tp=(InpTakeProfit==0.0)?0.0:ExtTakeProfit; m_trade.SellLimit(InpLots,m_symbol.NormalizePrice(price),m_symbol.Name(), m_symbol.NormalizePrice(price+sl), m_symbol.NormalizePrice(price-tp));
Saludos, Vladimir.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Surefirething:
Trabajo con órdenes pendientes Buy Limit y Sell Limit. Se puede usar el trailing de posiciones.
Autor: Vladimir Karputov