[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 33

 
Andrew1001:

Buenas noches. Por favor, aconséjeme dónde y qué he hecho mal.

En primer lugar, inserte el código a través del botón correspondiente en su mensaje.

En segundo lugar, no hay ninguna función If en MQL4.

int start()


{
int cnt, ticket, total, profit;
total = OrdersTotal();
if(total < 1)
{
ticket=OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,511,0,Green);
}
profit = OrderProfit();
If (OrderProfit < 0) /*если сработал стоплосс*/
{
ticket=OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,511,0,Red);
} /*открываем позицию в противоположном направлении*/
return;
}

Мне выдает такие ошибки:
'If' - function is not defined
'<' - left parenthesis expected
'{' - semicolon expected
ПОДСКАЖИТЕ ПОЖАЛУЙСТА что я сделал не так! 
 
Arles:

¡Buenas tardes a todos!

Hace una semana empecé a aprender a programar y obtuve un resultado interesante. No sé si puedo confiar en ello. Llevo mucho tiempo pensando en un indicador y ahora he conseguido implementarlo en código.


Se ve bien en general. Hay una pregunta sobre la diferencia entre la operación máxima rentable y la operación media rentable.

Intenta ejecutarlo en diferentes marcos temporales: 2003, 2004, año.

He tenido casos en los que la tendencia es positiva un año y negativa al siguiente. No se puede hacer esto de un año para otro.

 
Andrew1001:

Buenas noches. Por favor, dígame dónde y qué he hecho mal.

int inicio()


{
int cnt, ticket, total, profit;
total = OrdersTotal();
if(total < 1)
{
ticket=OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,511,0,Green);
}
profit = OrderProfit();
If (OrderProfit < 0) /*si el stop loss se activa*/
{
ticket=OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,511,0,Red);
} /*abrir posición en sentido contrario*/
return;
}

Me salen estos errores:
' If' - la función no está definida
'<' - paréntesis izquierdo esperado
'{' - punto y coma esperado
¡Por favor, dígame qué he hecho mal!


1. (trivia) "Si" se escribe con un pequeño "si".

2. (lo principal) para utilizar la función OrderProfit(), la propia orden que se lee el beneficio debe ser seleccionada utilizando la función OrderSelect()

Para saber cuál fue el resultado del cierre de la última orden, tenemos que encontrar la última orden cerrada.

 
abolk:


1. (trivia) "Si" se escribe con un pequeño "si"

2. (lo más importante) para utilizar la funciónOrderProfit(), la propia orden, cuyo beneficio debe leerse, debe seleccionarse mediante la función OrderSelect()

Para saber cuál fue el resultado del cierre de la última orden, tenemos que encontrar la última orden cerrada.

Gracias. Me puedes decir cómo hacerlo))
 
Arles:

¡Buenas tardes a todos!

Hace una semana empecé a aprender a programar y obtuve un resultado interesante. No sé si puedo confiar en ello. El indicador lo inventé hace mucho tiempo y sólo ahora he podido implementarlo en el código.


Aquí el probador incluso contadas contundentemente mal, o más bien con un error, o lo que, si usted, en referencia a los resultados, la transacción en -22 negativo será el mínimo, entonces usted, si entiendo todo correctamente, no puede ser una reducción absoluta 4.00, usted tiene un comercio ya 20.00 da, sí, más para ir, por cierto, usted tiene un drawdown 29049(63%) pero, de nuevo, ¿cómo se puede obtener así, si usted tiene sólo dos transacciones en alrededor de -20)) más corto sólo algo que no se cuenta como el probador de sí mismo.
 

He escrito una función para mover todos los stops al mismo nivel, pero al final cada una de las órdenes abiertas se cierra en su propio stop loss, que fue fijado en la apertura, es decir, supongo que los stops no se mueven a ninguna parte, ¿cuál puede ser el problema?

void OrModSL(string period)//función para mover el stop al fractal inferior del gráfico de 15 minutos

{
if(period=="M15")//si period H1
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
RefreshRates();
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_BUY)//si el último tipo de orden de compra
{
OrderModify(OrderTicket(),OrderOpenPrice(),dnfrM15,OrderTakeProfit(),0,Blue);
}

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_SELL)
{
OrderModify(OrderTicket(),OrderOpenPrice(),upfrM15,OrderTakeProfit(),0,Blue);//si la última orden vende
}
}

return(0);


 

¡Hola!

Una vez más, me gustaría solicitar un ejemplo o enlace que muestre cómo añadir información a un archivo sin borrar el anterior, el puntero de archivo es de especial interés (nunca lo he utilizado).

Gracias.

 

No sé dónde se puede aprender a escribir códigos, ¿hay alguna web que diga de forma clara y precisa qué y cómo escribir en código para que el asesor pueda colocar órdenes, poner stops y beneficios, etc. No tengo dinero para encargar un asesor, pero las ideas me parecen muy buenas.

 
sting-igor:

No sé dónde se puede aprender a escribir códigos, ¿hay alguna web que diga de forma clara y precisa qué y cómo escribir en código para que el asesor pueda colocar órdenes, poner stops y beneficios, etc. No tengo dinero para encargar un asesor, pero las ideas me parecen muy buenas.



No tengo el dinero para pedir un EA, pero creo que las ideas son muy buenas.
Razón de la queja: