Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 299

 

Les amis ! S'il vous plaît aidez avec le code !!! C'est ma première EA ! !! Je me débats avec une erreur depuis 3 heures ! !!!!!!!!!! Erreur : fin de programme non équilibrée parenthèse gauche !!!!

//+------------------------------------------------------------------+
//| Nevalyashka_BOT.mq4 |
//| Droits d'auteur 2013, MetaQuotes Software Corp.
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp.
#lien de propriété "https://www.metaquotes.net/"
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2


extern int Bars_To_Count = 400 ;
extern int int Arrow_dis_from_can = 2;//points
extern bool play_sound = true ;
extern string sound_name = "Red Alert" ;
extern double lots =0.1 ;
extern int SlipPage =30 ;
extern int StopLoss =250 ;
extern int TrailingStop =220 ;
extern int TrailingStep =1 ;
extern string comment = "NaVaLyaShka gagne ;
extern int Magic =777 ;


double buf_up[] ;
double buf_down[] ;
doubler ;
double down ;
int bars_cheked ;
int ticket ;
int Sl ;
int i ;

//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+
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 (Chiffres ==3 || Chiffres ==5)
{
StopLoss*=10 ;
SlipPage*=10 ;
TrailingStop*=10 ;
TrailingStep *=10 ;
}
}

//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
void deinit()
{


}
//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
void start()
{
for(int h=1;h<Bars_To_Count-bars_cheked;h++)
{
/////////up
si(Open[h]<Close[h])
{
for(int u=h+1;u<Bars_To_Count+1;u++)
{
si(Open[u]!=Close[u])
pause ;
}

si(Open[u]>Close[u])
{
Sl=NormalizeDouble(Ask-StopLoss*Point,Digits) ;
ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,SlipPage,comment,Magic,0,indicator_color1) ;
si (ticket>0)
{
si (OrderSelect(ticket,SELECT_BY_TICKET, MODE_TRADES) ==true)
{
OrderModify(ticket,OrderOpenPrice(),Sl,0,0) ;
}
buf_up[h]=Low[h]-Arrow_dis_from_can*Point ;

}
}
}

//+------------------------------------------------------------------+
void Trailing ;

{

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

}
si (OrderType() == OP_SELL)
{
si (OrderOpenPrice()-Ask > TrailingStop*Point)
{
si (OrderStopLoss() > Ask + (TrailingStop + TrailingStep)*Point)
{
Sl=NormaliserDouble(Ask+TrailingStop*Point,Digits) ;
si (OrderStopLoss() !=Sl)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Sl,0,0) ;


}
}
}

}
}
}

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

////////down
si(Open[h]>Close[h])
{
for(int e=h+1 ; e < Bars_To_Count+1 ; e++)
{
if(Open[e]!=Close[e])
pause ;
{


if(Open[e]<Close[e])
{
Sl=NormalizeDouble(Bid+StopLoss*Point,Digits)
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]=High[h]+Arrow_dis_from_can*Point ;
}
}
}//end
}
}
}

 
Hammerochek:

Les amis ! S'il vous plaît aider avec le code !!! C'est ma première EA ! !! Je me débats avec une erreur depuis 3 heures ! !!!!!!!!!! Erreur : fin de programme non équilibrée parenthèse gauche !!!!


Il manque une parenthèse. Cherchez une paire à {
 
solnce600:

J'ai résolu le problème du nombre différent de barres dans les fenêtres d'un instrument.

Il me suffit d'ajouter le nombre requis de barres à la variable Bars et le graphique se déplace.

Mais si le testeur ne ment pas énormément, il semble qu'il existe.

Une condition complexe composée de 4 conditions simples et l'ouverture d'un ordre avec un stop et un profit fixes.

Et cette condition complexe avec de légères variations se répète de nombreuses fois.

Le plus grand risque est d'obtenir très rarement plus d'un arrêt d'affilée. (250 à 300 pips),

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

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

Le nombre de transactions peut être ramené à une moyenne de 2 ou 3 par semaine (et toutes sans stop).

Ou éventuellement 1 transaction par jour et la même chose sans les stops.

Tout s'explique ! Si vous ne mettez pas de stops, cela signifie que vous avez un gros drawdown. Si vous ne placez pas de stops, cela signifie que vous autorisez les drawdowns. Je ne veux pas " céder ", mais je connais par expérience ces "graals" !
 
borilunad:
Tout est clair ! Si vous n'utilisez pas de stops, cela signifie que le drawdown est important. Mais vous ne pouvez pas le voir dans le testeur entre les fermetures, mais vous pouvez le voir dans l'émission et être horrifié ! Je ne veux pas faire la fine bouche, mais je connais par expérience ces "graals" !

Boris, il a déjà partagé son rapport. Là, si ma mémoire est bonne, 98% de drawdown. Ce n'est pas grave qu'à 60% (d'une certaine manière, mais quand même...) les sociétés de courtage aient déjà tout coupé avec un Stop Out.

C'est stupide d'être assis.

 
borilunad:
Tout s'explique ! Si vous ne mettez pas de stops, cela signifie que vous avez un gros drawdown. Si vous ne placez pas de stops, cela signifie que vous autorisez les drawdowns. Je ne veux pas " carper ", mais je connais par expérience ces " graals " !
Mon stop est de 250 à 400. Mais le prix ne les atteint jamais. Cela peut arriver très rarement, donc cela ne peut pas dépasser 1 stop à la suite.
 
artmedia70:
Boris, il a déjà partagé son rapport. Là, si ma mémoire est bonne, 98% de drawdown. Ce n'est pas grave que les sociétés de courtage à 60% (un peu comment, mais quand même...) couvrent déjà tout avec un Stop Out.

J'ai juste indiqué le mauvais dépôt initial ici.
 
solnce600:
Je n'ai juste pas mis le dépôt initial correctement .

C'est vrai ! La bière est censée être la bonne bière... La vodka est la bonne bière...
 
artmedia70:

Boris, il a déjà partagé son rapport. Là, si ma mémoire est bonne, 98% de drawdown. Ce n'est pas grave que les sociétés de courtage à 60% (un peu comment, mais quand même...) arrêtent déjà tout.

C'est une surexposition stupide.


Si vous restez trop longtemps assis, sur 600-700 transactions, l'une d'entre elles sera clôturée sur un stop.
 
artmedia70:

Boris, il a déjà partagé son rapport. Là, si ma mémoire est bonne, 98% de drawdown. Ce n'est pas grave que les sociétés de courtage à 60% (un peu comment, mais quand même...) arrêtent déjà tout.

C'est une surexposition stupide.

Clairement ! Pour ne pas être trompé, je prescris bien avant StopAut, avant d'ouvrir une position ou de recharger Alert, qu'il n'y a pas assez de "manie". Au moins, je sais que le "raté" sort et je cherche d'autres solutions.
 
artmedia70:
Exactement ! La bière doit être la bonne... La vodka est la bonne bière...

Et si je montre sur le testeur de 2000 à 2014 1500 - 2000 transactions sans arrêt - alors vous le croirez.

Mais les ordres seront à un profit de 30p.et avec un stop de 250 - 400.