Demandez ! - page 30

 

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES) ;

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan) ; //Modifier le stop loss et le take profit

return(0) ;

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan) ; //Modifier le stop loss et le take profit

return(0) ;

}

return(0) ;

}

}

On se rapproche, mais on n'y est pas encore ! Ma patience est mise à rude épreuve !

Dave

<<<

 

alors ajoutez ceci, peut-être mieux

iscuba11:
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES) ;

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{si( OrderOpenPrice() - Ask >= TrailingStop * Point)

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan) ; //Modifier le stop loss et le take profit

}

return(0) ;

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if( Bid - OrderOpenPrice() >= TrailingStop * Point)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan) ; //Modifier le stop loss et le take profit

}

return(0) ;

}

return(0) ;

}

}

On se rapproche, mais on n'y est pas encore ! Ma patience est mise à rude épreuve !

Dave

<<<
 
Maji:
Veuillez poster votre code dans les codes [PHP][/PHP]. Il est beaucoup plus facile de lire et de déboguer un code formaté.

Je suis en train de mettre au point ce programme. Je suis sur le point de le terminer. Malheureusement, il n'y a pas d'écoles sur ce langage et la documentation laisse beaucoup à désirer. Ceci étant dit, je n'ai pas la moindre idée de ce dont vous parlez. Sans vouloir vous offenser !

Dave <<<
 

puis ajoutez ceci peut-être mieux [/QUOTE

Voici la dernière exécution du backtester. Si proche et pourtant si loin. Cela me rappelle mes jours au Vietnam. Regardez le .gif des résultats ci-joint. Je vous suis redevable d'avoir eu la bonté de votre cœur pour m'aider à traverser ce moment de tribulation ! Il semble toujours qu'il y ait une boucle qui ne sort pas comme le montre le trade de vente.

Dave <<
 
iscuba11:
Je vous dois d'avoir eu la bonté de votre cœur pour m'aider à traverser ce moment de tribulation !
Dave <<

vous êtes le bienvenu

 

J'ai encore une boucle - zut. Je vais m'écraser. Demain est un autre jour. Ce langage de bas niveau est le pits à apprendre.

Dave <<<

///////////////////MODIFIER LE STOP LOSS & TAKE PROFIT AU DÉBUT DU CYCLE DE SOMMEIL /////////////////

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES) ;

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

si(OrderOpenPrice()-Ask>=TrailingStop*Point)

{

if(OrderStopLoss()>Ask+Point*15||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan) ; //Modifier le stop loss et le take profit

}

return(0) ;

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

if(Bid-OrderOpenPrice()>=TrailingStop*Point)

{

if(OrderStopLoss()<Bid-Point*15 ||OrderStopLoss()==0)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan) ; //Modifier le stop loss et le take profit

}

return(0) ;

}

return(0) ;

}

}

//////////////////////////////////////////////////////////////////////////////////////

Mon codage tel qu'il se présente ci-dessus. Il y a un bug qui provoque une boucle de modification. De nombreux bugs ou ajouts l'ont amené à ce stade. S'il vous plaît aidez à trouver le bug de la boucle quelqu'un !

 

ou peut-être que j'ai mal compris votre but

Que voulez-vous que la fonction OrderModify() fasse ?

pour faire un trailling stop ou autre chose ?

S'il vous plaît clarifier à nouveau

 

L'idée de départ est de resserrer les ordres stop et les prises de bénéfices sur tous les ordres d'achat ou de vente ouverts lorsque le programme est sur le point de passer en mode veille.

Au lieu d'un gros stop loss de 40 à 50 pips et d'un gros take profit de 100 pips pour chaque transaction ouverte, je voulais que chaque transaction ouverte soit réduite à un stop loss de 15 pips et que le take profit de 100 soit réduit à un take profit de 25 pips.

Ensuite, le programme se mettrait en veille (stop) et les positions ouvertes suivraient leur cours sans autre intervention du programme (mode veille) - Chaque position ouverte réaliserait alors soit un profit de 25 pip, soit une perte de 15 pip et se fermerait.

J'espère que cela permet de clarifier l'objectif de la modification du stop loss et du take profit. Je suis désolé pour le malentendu. S'il vous plaît, aidez-nous si vous le souhaitez à réaliser ces modifications ! Merci beaucoup pour votre aide jusqu'à présent !

Bon sang, j'ai moi-même eu besoin de dormir la nuit dernière !

Dave

<<<
 
iscuba11:
Je suis en train d'assembler ce programme. Je suis sur le point de le terminer. Malheureusement, il n'y a pas d'écoles sur ce langage et la documentation laisse beaucoup à désirer. Ceci étant dit, je n'ai pas la moindre idée de ce dont vous parlez. Sans vouloir vous offenser !
Dave <<<

Lorsque vous allez copier et coller un extrait de code, sélectionnez ce petit bouton "php" en haut de l'écran d'édition. Sinon, vous pouvez d'abord taper "[ PHP ]"

puis terminer votre code en tapant "[ /PHP ]" sans les guillemets et en supprimant les espaces entre les crochets. Regardez ce que vous obtenez

 
Maji:
Lorsque vous allez copier et coller un extrait de code, sélectionnez ce petit bouton "php" en haut de l'écran d'édition. Sinon, vous pouvez d'abord taper "[ PHP ]" puis terminer votre code en tapant "[ /PHP ]" sans les guillemets et en supprimant les espaces entre les crochets. Voyez ce que vous obtenez

Le bouton PHP ? Est-il situé du côté du forum ou du MetaEditor à partir duquel je copie le code ? Je ne trouve pas de bouton PHP sur le MetaEditor.

Dave <<<