Comment coder ? - page 33

 
 

Vérifier l' ordre fermé par le TP ou le SL

Bonjour

Comment vérifier si l'ordre a été fermé par le TP ou le SL ?

master001

 

Aide pour le codage !

int k, vOrders;

vOrders = OrdersTotal();

//{

double Profit = 0;

double PipsProfit = 0;

for (k=vOrders-1;k>=0;k--)

{

if (OrderSelect(k, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol()==Symbol() && ((OrderMagicNumber () == Reference) || MagicNumber==0))

{

if (OrderType() == OP_BUY) PipsProfit+ == ((Bid - OrderOpenPrice())/Point);

Profit+= OrderProfit();

else if (OrderType() == OP_SELL) PipsProfit+ = ((OrderOpenPrice() - Ask)/Point);

{

//Profit += OrderProfit();

}

}

}

}

Quelqu'un m'a donné ce codage dans le passé et j'ai essayé de travailler avec. Il me donne des erreurs en traitant avec le ' + ' après PipsProfit. Quelqu'un peut-il déboguer ce code pour moi, s'il vous plaît ? Je vous remercie sincèrement à l'avance pour votre aide.

Dave

 

if (OrderType() == OP_BUY) PipsProfit+ == ((Bid - OrderOpenPrice())/Point);

[/php]

The + after PipsProfit shouldn't be there at all. It is being used in a comparison NOT an incremental function. You're ASKING does PipsProfit equal Bid - etc etc ?

Try this...

[php]

if ((OrderType() == OP_BUY) && (PipsProfit == (Bid - OrderOpenPrice())/Point)){

// do something IF the above two conditions are TRUE...

}

Bonne chance

Lux

 

Le problème est qu'il n'y a pas d'espace entre PipsProfit et '+' et qu'il y a un espace entre '=' et '+'. ...... - en d'autres termes, cela devrait être comme ceci ->

else if (OrderType() == OP_SELL) PipsProfit += ((OrderOpenPrice() - Ask)/Point); {

Vous devez également inclure le second "Profit += OrderProfit() ;" dans le code(supprimez les '//').

 

Question sur le codage

Je sais qu'un EA peut être codé pour ne négocier que sur des comptes de démonstration. Puis-je également coder un EA pour qu'il ne traite PAS sur des comptes PAMM ? Cela permettrait à l'EA de négocier sur des comptes réels, mais ne pourrait pas être utilisé par des gestionnaires de fonds pour négocier des comptes PAMM - à moins qu'il n'y ait un accord de licence distinct.

 

Variable(s) externe(s) séparée(s) par des virgules

Bonjour,

Pour un indicateur que j'utilise, je dois définir les chiffres pour chaque symbole. Je fais cela dans le code avec par exemple.

if(Symbol()=="GBPJPY" || Symbol()=="EURJPY" || Symbol()=="USDJPY" ....and so on) nDigits = 2;[/PHP]

Now I like to spin these symbols off to an extern variable so that the user can set his symbols for himself. I thought to add sth. like

[PHP]extern string Symbols_nDigits2 = "GBPJPY,EURJPY,USDJPY";

Comment puis-je utiliser cette liste de symboles séparés par des virgules et la séparer pour pouvoir la réutiliser dans le code de l'indicateur comme indiqué ci-dessus (if(Symbol()=="GBPJPY"....) ?

(Ou existe-t-il une meilleure solution pour ce "problème de chiffres" ?)

Merci

 
MarketInfo( Symbol(), MODE_DIGITS )
 

parfait, thx !

 

J'ai réussi à le faire fonctionner grâce à vous deux. J'apprécie vraiment !

Dave

<<<

Raison: