Demandez ! - page 74

 
WNW:
Je veux exécuter mes EAs à partir d'un VPS.

Pour des raisons de sécurité, je veux coder mon numéro de compte de courtage et télécharger la version compilée.

Quelqu'un peut-il me décrire le code à ajouter ?

Merci.

Le code est ici (sur la première page de ce fil https://www.mql5.com/en/forum/174194 ).

De plus, il y a un EA dans la section elite avec une protection de compte codée.

1. MA_ExpertProfit.mq4 : c'est le même EA mais il ferme les ordres en s/l ou t/p seulement.

2. MA_ExpertProfit_all.mq4 : il fermera l'ordre sur s/l ou t/p, ou sur l'autre signal de croisement. Cet EA ne doit fonctionner que sur un compte particulier. Il suffit de changer la ligne "int Account = 111111 ;" par votre numéro de compte dans le code. Par exemple, votre compte est 1235463. Donc cette ligne devrait être comme ceci :

int Account = 1235463 ;

3. MA_ExpertProfit_noacc.mq4 : c'est la même chose que le point 2. Mais sans aucun compte et il peut fonctionner dans n'importe quel compte (je veux dire compte dans Metatrader).

Si vous n'êtes pas membre de l'élite, je peux afficher les codes ici, mais il s'agit d'un sujet très connu décrit ici en public : https://www.mql5.com/en/forum/174194.

Plus difficile est de créer le numéro de licence, de définir le courtier,

UserVerification(Confirmed)

et ainsi de suite.

Comme je le sais, certains codeurs sont très professionnels dans ce domaine et vous pouvez les voir sur ce fil de discussion https://www.mql5.com/en/forum/174194.

 

Numéro magique

int j,totalbuy;

totalbuy=OrdersTotal();

for(j=0;j<totalbuy;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

return(0);

}

Comment référencer le nombre magique dans la fermeture ci-dessus. De même, dans un ordre d'achat ? Merci d'avance de votre réponse !

Dave

<<<

 
int j,totalbuy;

totalbuy=OrdersTotal();

for(j=0;j<totalbuy;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);

return(0);

}
 

Merci de répondre !

Dave

 

Question sur le flux logique

Comment puis-je rebondir entre les instructions logiques s'il s'avère que je dois revenir à une certaine instruction logique antérieure jusqu'à ce qu'une condition soit remplie, et si elle l'est, je devrai alors passer à une autre instruction logique encore antérieure ?

Je sais qu'en simple basic, j'utiliserais une instruction goto.

Dave <<<
 

Changement de couleur dans ObjectCreate Statement

J'essaie de changer la couleur de l'affichage des bénéfices de Lime à Red en fonction des bénéfices des billets. J'ai rencontré les mots réservés Lime et Red et je n'arrive pas à trouver comment modifier ces couleurs dans l'instruction ObjectSetText.

string Lime;

string Red;

string PlusMinusColor = "";[/PHP]

if (BuyProfit+SellProfit>=0) PlusMinusColor=Lime;

if (BuyProfit+SellProfit<0) PlusMinusColor=Red;[/PHP]

[PHP]

Profit1=BuyProfit+SellProfit;
[PHP] ObjectSetText("Profit1", DoubleToStr(Profit1,2), 16, "Arial",PlusMinusColor );

Quelqu'un peut-il m'aider sur ce point ?

Dave <<<

Merci pour toute l'aide - je le pense vraiment !

 

Afficher le bénéfice ou la perte en grosses lettres sur le graphique

J'ai trouvé la solution !

 
double BP(j)=0,BP=0,SP=0;[/PHP]

[PHP]int j,TotalOrders;

TotalOrders=OrdersTotal();

for(j=0;j<TotalOrders;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

BP(j) = OrderProfit() + OrderSwap() + OrderCommission();//BuyProfit - GETTING ERRORS ABOUT BP(j)

}

else

if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

SP(j)= OrderProfit() + OrderSwap() + OrderCommission();//SellProfit - GETTING ERRORS ABOUT SP(j).

}

BuyProfit=BuyProfit+BP(j); // GETTING ERRORS!

SellProfit=SellProfit+SP(j); // GETTING ERRORS!

return(0);

J'ai essayé de coder ceci, mais comme on peut le voir, je n'ai pas tout à fait raison.

Est-ce que l'un de vous, fins codeurs, peut me donner un coup de main pour corriger ceci ????.

Dave <<<
 
1Dave7:
double BP(j)=0,BP=0,SP=0;[/php][php]int j,TotalOrders;

TotalOrders=OrdersTotal();

for(j=0;j<TotalOrders;j++)

OrderSelect(j, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

BP(j) = OrderProfit() + OrderSwap() + OrderCommission();//BuyProfit - GETTING ERRORS ABOUT BP(j)

}

else

if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == OrderID && OrderCloseTime() == 0)

{

SP(j)= OrderProfit() + OrderSwap() + OrderCommission();//SellProfit - GETTING ERRORS ABOUT SP(j).

}

BuyProfit=BuyProfit+BP(j); // GETTING ERRORS!

SellProfit=SellProfit+SP(j); // GETTING ERRORS!

return(0);

J'ai essayé de coder ceci, mais comme on peut le voir, je n'ai pas tout à fait raison.

Est-ce que l'un de vous, fins codeurs, peut me donner un coup de main pour corriger ceci ????.

Dave <<<

Si vous vouliez que "BP" soit un tableau, alors vous devez utiliser des parenthèses "[ ]" et non des paranthèses "( )" comme dans :

BP[j]

... et non ...

BP(j)

... ce qui ressemble à un appel de fonction.

 

Problème de profit.

J'ai besoin d'aide pour un problème simple.

double EntryPoint = 1.000 ;

int MiniLots = 1 ;

La devise a clôturé à .880

J'ai essayé la méthode suivante pour obtenir une valeur de profit sans succès :

Profit=EntryPoint*MiniLots - ( J'ai essayé de déduire Ask, Bid, Close[0]) *100 ;

Tout ce que j'obtiens est Profit=0.00 alors que je devrais obtenir Profit=12.00. Je suis confus ?

Je ne serais pas étonné que la réponse soit parce que le marché est fermé ? ??

Que dites-vous quant à ce qui me pose problème dans ce cas ???

Dave <<<