Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 299

 

¡Amigos! ¡¡¡Por favor, ayuda con el código!!! ¡¡¡Este es mi primer EA!!! ¡¡¡¡¡¡¡¡¡¡¡He estado luchando con un error durante 3 horas !!!!!!!!!!! ¡¡¡¡Error: fin de programa desequilibrado paréntesis izquierdo!!!!

//+------------------------------------------------------------------+
//| Nevalyashka_BOT.mq4 ||
//| Copyright 2013, MetaQuotes Software Corp.
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp.
#enlace de la propiedad "https://www.metaquotes.net/"
#property indicator_buffers 2
#property indicator_color1 Verde
#property indicator_color2 Rojo
#property indicator_width1 2
#property indicator_width2 2


extern int Bars_To_Count = 400;
extern int Flecha_desde_el_can = 2;//puntos
extern bool play_sound = true;
cadena externa sound_name = "Red Alert";
extern double lotes =0.1;
extern int SlipPage =30;
extern int StopLoss =250;
extern int TrailingStop =220;
extern int TrailingStep =1;
extern string comment = "NaVaLyaShka gana;
extern int Magia =777;


doble buf_up[];
double buf_down[];
doble;
doblemente;
int barras_chequeadas;
int ticket;
int Sl;
int i;

//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
void init()
{
SetIndexBuffer(0,buf_up);
SetIndexArrow(0,233);
SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(1,234);
SetIndexBuffer(1,buf_down);
SetIndexStyle(1,DRAW_ARROW);


si (Dígitos ==3 || Dígitos ==5)
{
StopLoss*=10;
SlipPage*=10;
TrailingStop*=10;
TrailingStep *=10;
}
}

//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
void deinit()
{


}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
void start()
{
for(int h=1;h<Bars_To_Count-bars_cheked;h++)
{
/////////up
if(Apertura[h]<Cierre[h])
{
for(int u=h+1;u<Bars_To_Count+1;u++)
{
if(Abrir[u]!=Cerrar[u])
romper;
}

if(Apertura[u]>Cierre[u])
{
Sl=NormalizarDoble(Ask-StopLoss*Punto,Dígitos);
ticket=OrderSend(Symbol(),OP_BUY,lotes,Ask,SlipPage,comentario,Magic,0,indicator_color1);
si (ticket>0)
{
if (OrderSelect(ticket,SELECT_BY_TICKET, MODE_TRADES) ==true)
{
OrderModify(ticket,OrderOpenPrice(),Sl,0,0);
}
buf_up[h]=Low[h]-Arrow_dis_from_can*Point;

}
}
}

//+------------------------------------------------------------------+
nulo de arrastre;

{

for(int i=0; i < OrdersTotal(); i++)
{
(if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() = OP_BUY)
{
si (Bid-OrderOpenPrice() > TrailingStop*Point)
{
if (OrderStopLoss() < Bid - (TrailingStop + TrailingStep)*Point)
{
Sl=NormalizarDoble(Oferta-Stop*Punto,Dígitos);
si (OrderStopLoss() !=Sl)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Sl,0,0);
}
}
}
}

}
if (OrderType() = OP_SELL)
{
si (OrderOpenPrice()-Ask > TrailingStop*Point)
{
si (OrderStopLoss() > Ask + (TrailingStop + TrailingStep)*Point)
{
Sl=NormalizarDoble(Pregunta+PuntoTerminante*Punto,Dígitos);
si (OrderStopLoss() !=Sl)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Sl,0,0);


}
}
}

}
}
}

}
}
//+------------------------------------------------------------------+

////////down
if(Apertura[h]>Cierre[h])
{
for(int e=h+1; e < Bars_To_Count+1; e++)
{
if(Abrir[e]!=Cerrar[e])
romper;
{


if(Apertura[e]<Cierre[e])
{
Sl=NormalizarDoble(Oferta+StopLoss*Punto,Dígitos)
ticket=OrderSend(Symbol(),OP_SELL,Bid,Bid,SlipPage,comment,Magic,0,indicator_color2);
si (ticket>0)
{
OrderModify(ticket,OrderOpenPrice(),Sl,0,0);
buf_down[h]=Altura[h]+Flecha_desde_la_can*Punto;
}
}
}//fin
}
}
}

 
Hammerochek:

¡Amigos! ¡¡¡Por favor, ayuda con el código!!! ¡¡¡Este es mi primer EA!!! ¡¡¡¡¡¡¡¡¡¡¡He estado luchando con un error durante 3 horas !!!!!!!!!!! ¡¡¡¡Error: fin de programa desequilibrado paréntesis izquierdo!!!!


Falta un paréntesis. Busca un par para {
 
solnce600:

He resuelto el problema del diferente número de barras en las ventanas de un instrumento.

Simplemente añado el número necesario de barras a la variable Bars y el gráfico se desplaza.

Pero si el probador no miente mucho, parece que sí existe.

Una condición compleja que consta de 4 condiciones simples y la apertura de una orden con un stop y un beneficio fijos.

Y esta compleja condición con ligeras variaciones se repite muchas veces.

El mayor riesgo es que rara vez se consigue más de una parada seguida. (250 a 300 pips),

.http://clip2net.com/s/6if1Gm (de 2000 a 2014)

http://clip2net.com/s/6if2PS

El número de operaciones se puede llevar a una media de 2-3 cada semana (y todo ello sin stops)

O posiblemente 1 operación al día y lo mismo sin stops.

Todo tiene sentido. Si no pones ningún stop, significa que tienes un gran drawdown. Si no se colocan stops, significa que se permiten las detracciones. No quiero "ceder", pero conozco por experiencia propia estos "griales".
 
borilunad:
Todo está claro. Si no se utilizan stops, significa que el drawdown es grande. Pero no se puede ver en el probador entre los cierres, ¡pero sí se puede ver en el programa y horrorizarse! No quiero hacer de carpa, pero conozco por experiencia propia estos "griales".

Boris, ya ha compartido su informe. Allí, si la memoria no me falla, el 98% de reducción. No es un gran problema que al 60% (de alguna manera, pero sin embargo...) las empresas de corretaje ya cortan todo con un Stop Out.

Es una estupidez estar sentado.

 
borilunad:
Todo tiene sentido. Si no pones ningún stop, significa que tienes un gran drawdown. Si no se colocan stops, significa que se permiten las detracciones. No quiero "carpetear", pero conozco por experiencia propia estos "griales".
Mi stop es de 250 a 400. Pero el precio nunca llega a ellos. Puede que ocurra muy pocas veces, por lo que puede que no pase de 1 stop seguido.
 
artmedia70:
Boris, ya ha compartido su informe. Allí, si la memoria no me falla, el 98% de reducción. No es un gran problema que las empresas de corretaje al 60% (algunos cómo, pero igual...) ya están cubriendo todo con un Stop Out.

Acabo de indicar un depósito inicial equivocado.
 
solnce600:
Sólo que no puse el depósito inicial correctamente .

¡Así es! Se supone que la cerveza es la adecuada... El vodka es la cerveza adecuada...
 
artmedia70:

Boris, ya ha compartido su informe. Allí, si la memoria no me falla, el 98% de reducción. No es gran cosa que las empresas de corretaje al 60% (de alguna manera, pero igual...) ya paren todo.

Es una estúpida sobreexposición.


Si te quedas demasiado tiempo, de 600-700 operaciones, una de ellas se cerrará en un stop.
 
artmedia70:

Boris, ya ha compartido su informe. Allí, si la memoria no me falla, el 98% de reducción. No es gran cosa que las empresas de corretaje al 60% (de alguna manera, pero igual...) ya paren todo.

Es una estúpida sobreexposición.

¡Claro! Para no dejarse engañar, prescribo mucho antes del StopAut, antes de abrir una posición o rellenar la Alerta, que no hay suficiente "manía". Al menos sé que la "cagada" sale a la luz y busco otras soluciones.
 
artmedia70:
¡Exactamente! La cerveza debe ser la adecuada... El vodka es la cerveza adecuada...

Y si muestro en el probador de 2000 a 2014 1500 - 2000 operaciones sin parar - entonces lo creerás.

Pero las órdenes serán con un beneficio de 30p.y con un stop de 250 - 400.