Outils "Fermer tout" / "Ouvrir". - page 2

 
glader:
Je trade en direct. Traitez-vous en direct ? Cela pourrait-il être un problème ? Merci d'avance pour votre aide...

C'était un compte de démonstration Alpari.

Vous voulez dire que vous avez essayé de l'utiliser avec un compte réel?

Cela devrait fonctionner aussi bien.

 
newdigital:
C'était un compte de démonstration Alpari.

Vous voulez dire que vous avez essayé de l'utiliser avec un compte réel ?

Cela devrait fonctionner aussi.

Oui, j'ai essayé de l'utiliser avec un compte réel sur le live mais il y avait un message d'erreur...

Je suis assez confus mais merci pour votre aide quand même...

 
glader:
Je l'ai essayé, mais ERROR : 4109

Outils->Options->ExpertAdvisors-> V Activer les ExpertAdvisors(...et les Scripts)

 
ma6:
Outils->Options->Conseillers-experts-> V Activer les conseillers-experts(...et les scripts)

Merci beaucoup... ça marche maintenant ! !!

 

CloseOnTime EA de Kimiv.

Dossiers :
 
ma6:
Outils->Options->Conseillers-experts-> V Activer les conseillers-experts(...et les scripts)

J'ai toujours la même erreur. Que voulez-vous dire par"V" ?

Merci

 

J'ai le même problème.

L'ordre ...... n'a pas pu être clôturé. Erreur:4109

 

Fermer tous les ordres ouverts

J'ai une question sur la façon de fermer tous les ordres ouverts. Cela inclut les transactions qui ont été ouvertes manuellement.

Voici le code :

if(BalanceEquityProtectionLevel > 0 && AccountEquity() <= AccountBalance ()* BalanceEquityProtectionLevel)

{

AllowTrading = false ;

Print("Min. Equity Level Reached - Trading Halted For ",Symbol()) ;

// Alert("Min. Equity Level Reached - Trading Halted For ",Symbol()) ;

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

mode=OrderType() ;

if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue) ; }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red) ; } }

// }

}

}

Le problème est que, si j'ai ouvert quelques paires, il n'est pas toujours vrai que toutes les transactions seront également fermées. De plus, il arrive que l'EA continue à ouvrir une autre transaction malgré le paramètre allowtrading == false.

En déboguant cette chose, j'ai remarqué que pour une raison quelconque, ce bloc de code n'était pas exécuté pour toutes les paires. Pourquoi, je ne le sais pas. Quelqu'un connaît-il la réponse à cette question ?

Ce bloc devrait fermer tous les ordres ouverts et empêcher toute négociation ultérieure. Peut-être pourrais-je résoudre ce problème en écrivant le paramètre false dans un fichier ou autre ? Le problème dans cette situation se pose également pour les paires qui n'ont pas d'ordres ouverts.

Merci...

Dejan

 

Voici mon code que j'ai écrit il y a longtemps, il fermera toutes les positions en cours.

#include

#include

int start()

{

double sA ;

int cnt, totalOrders ;

totalOrders = OrdersTotal() ;

si (totalOrders>0)

{

for (cnt=0;cnt<totalOrders;cnt++)

{

OrderSelect(0, SELECT_BY_POS) ;

if (OrderType() == OP_BUY) sA = MarketInfo(OrderSymbol(),MODE_BID) ;

sinon sA = MarketInfo(OrderSymbol(),MODE_ASK) ;

OrderClose(OrderTicket(),OrderLots(),sA,3,CLR_NONE) ;

}

}

return(0) ;

}

 

Votre code est très similaire au mien. Les résultats sont les mêmes. J'ai joint une image, pour rendre certaines choses plus claires.

L'EA ferme toutes les positions de la paire GBPUSD (image). Comme vous pouvez le voir, après cela, une autre transaction est ouverte. (1 signifie que allowtrade est vrai, 0 allowtrade est faux).

Dossiers :
image3.jpg  359 kb
Raison: