Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 402

 
Karputov Vladimir:
A continuación, abre un tema aparte para las preguntas sobre tu código. Tal vez con pistas, podrás dominar tu código.
Entendido, me voy, te dejo...
 
-Aleks-:
Código complicado para mí, y los autónomos tienen un gran apetito - un mensaje como "escribiremos desde cero por mucho dinero"...

Está bien... el código es complicado y hacerlo aún más complicado es más fácil, ¿no?

También es posible que quiera leer un libro de texto, documentación... El camino está recorrido. Bueno... ...o ir por libre en la boca de los inteligentes, feos y codiciosos autónomos ;)

 
RSl = iRSI(Symbol(),0,InpRSIPeriod,PRICE_CLOSE,0);

if (OrdersTotal() == 0 && RSl <= 70 )

por qué no se cumple la condición ¿qué he escrito mal?

 
Leanid Aladzyeu:
RSl = iRSI(Symbol(),0,InpRSIPeriod,PRICE_CLOSE,0);

if (OrdersTotal() == 0 && RSl <= 70 )

por qué no se cumple la condición, ¿qué he escrito mal?

Utilice el estilizador de código - los errores serán visibles.

   RSl=iRSI(Symbol(),0,InpRSIPeriod,PRICE_CLOSE,0);
   if(OrdersTotal()==0 && RSl<=70)
     {
      // здесь долна быть обработка условия
     }
 
Karputov Vladimir:

Utiliza el Code Styler - los errores serán visibles.

El estilista no ayudó, la condición de procesamiento que había .

Había 25 advertencias y 5 errores y todavía los hay. sip))

 

He buscado en internet y no he encontrado una solución. Ayuda.

Volví a calcular el mismo número de paréntesis en todas las funciones

 
Leanid Aladzyeu:

He buscado en internet y no he podido encontrar una solución. Ayuda.

He contado el mismo número de paréntesis en todas las funciones.

¿No se te da bien el inglés?

Primero:

int start()

  {

  }

Compílalo, y entonces verás, ya que no quieres mostrar el código en su totalidad.

 
Artyom Trishkin:

¿No se te da bien el inglés?

En primer lugar:

Siguiente: En alguna parte de su código, Ask se establece como una variable, lo que no se puede hacer en absoluto. Nómbralo de otra manera, porque Ask es una variable predefinida. Y entonces verás, ya que no quieres mostrar el código en su totalidad.

Opps . Preguntar como variable no era. añadí paréntesis y tales errores desaparecieron. quedan 5 , y 6 advertencias))
 
Leanid Aladzyeu:
Oops . Asc como una variable no era. añadido paréntesis y tales errores se fue. 5 , y 6 advertencias a la izquierda . vamos a solucionarlo)))
Por eso he corregido mi post original. Porque la falta de paréntesis es exactamente lo que podría haber provocado tales errores - mañana, 5 y media, noche sin dormir ...
 
Artyom Trishkin:
Por eso he retocado mi post original. Porque la falta de paréntesis es exactamente lo que podría haber provocado tales errores - mañana, seis y media, noche de insomnio ...

Es normal que no duerma durante 24 horas.

Ayuda

Queda una gota. las piernas crecen desde esta función "Modifi order" creo

//----------------------------------

void ModificarPedidos()

{

doble avg= 0;

int cuenta = 0;


for(int i=Total de Pedidos()-1; i>=0; i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)

{

if(OrderType()==OP_BUY || OP_SELL)

{

avg+=Precio abierto del pedido();

cuenta++;

}

}

}

}


avg=NormalizeDouble(avg/count,Digits);

for(int i=Total de Pedidos()-1; i>=0; i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)

{

if(OrderType()==OP_BUY)

{

TP=NormalizeDouble(avg+TakeProfit*Point,Digits);

OrderModify(OrderTicket(),OrderOpenPrice(),0,TP,0);

}

si no

if(OrderType()==OP_SELL)

{

TP=NormalizarDoble(avg-TakeProfit*Punto,Dígitos);

OrderModify(OrderTicket(),OrderOpenPrice(),0,TP,0);

}

}

}

}


}

//+------------------------------------------------------------------+

Razón de la queja: