[¡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 420
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
declarar una variable
bool ret;
antes del bucle
snowman647, ¿eh?)
no hay nada malo en la compilación, algo está mal en el algoritmo.
snowman647, ¿eh?)
No hay nada malo en la compilación, algo está mal en el algoritmo.
Probablemente haya que observar cómo se abren las nuevas posiciones.
Наверно надо смотреть как открываются новые позиции
se abre, pero no quiere cerrarse)
Debe haber algo mal en el algoritmo de cierre.
El código es de lo más sencillo, ¿alguno de los programadores experimentados no puede entender qué es lo que falla?)
se abre, pero no quiere cerrarse)
Debe haber algo mal en el algoritmo de cierre.
El código es de lo más sencillo, ¿alguno de los programadores experimentados no puede entender qué es lo que falla?)
Si la apertura no utiliza Magik, entonces cómo puede cerrar por Magik. Por eso surge la pregunta.
Vinin, mi buen hombre) el mago vale la pena))
extern double Lots=0.1;
int start()
{
bool ret;
double Ind11=iMA(NULL,0,12,0,0,0,0);
double Ind12=iMA(NULL,0,12,0,0,0,1);
if(Ind11>Ind12)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",16384,0,Green);
}
if(Ind11<Ind12)
{
for(ic=OrdersTotal()-1;ic>=0;ic--)
{
if(OrderSelect(ic,SELECT_BY_POS,MODE_TRADES)==false) continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber()==16384)
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);
if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}}
}
return(0);
}
Народ, кто может подсказать. Вчера делал советника по уровням Мюррея. Там смысл такой, что от уровней 8/0 и 0/8 надо продавать/покупать, а TP на пивот. Я использовал ObjectGet() чтобы получить линии, т.к. другого способа не нашел. Проблема в том, что если снижается волатильность, то уровни перерисовываются, и что самое главное автоматически меняется и TP. А менятся по ТС не должен. А вот как сделать чтоб TP не менялся? Заранее благодарен за помощь.
arreglar el algoritmo de cálculo de las líneas y del pivote
Vinin, уважаемый) магик то стоит))
extern double Lots=0.1;
int start()
{
bool ret;
double Ind11=iMA(NULL,0,12,0,0,0,0);
double Ind12=iMA(NULL,0,12,0,0,0,1);
if(Ind11>Ind12)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",16384,0,Green);
}
if(Ind11<Ind12)
{
for(ic=OrdersTotal()-1;ic>=0;ic--)
{
if(OrderSelect(ic,SELECT_BY_POS,MODE_TRADES)==false) continue;
if (OrderSymbol()==Symbol() && OrderMagicNumber()==16384)
{
if (OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,5,CLR_NONE);
if (OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,5,CLR_NONE);
}}
}
return(0);
}
Dé NormalizeDouble(Ask, Digits) en lugar de Ask, NormalizeDouble(Bid, Digits) en lugar de Bid, y funcionará