[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 1015

 

Au secours ! !! Je lutte depuis trois heures ! !! Je ne peux pas assigner la variable order=Close[1]. L'idée est qu'au moment de passer la commande pour se rappeler le prix, comme il était à ce moment-là.

Vous pouvez ensuite le comparer au prix actuel et déplacer le stop loss ou le take profit,

Je suis peut-être un idiot, mais je ne sais pas quoi en faire.

Merci d'avance.

//+------------------------------------------------------------------+
//| Tester.mq4 |
//| Dimon |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Dimon"
#lien de propriété "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+

extern int BandsPeriod=20,i=1 ;extern int BandsShift=0 ;
extern double BandsDeviations=2.0 ;
extern double Lots=0.1,TakeProfit=50,stoploss=10 ;double PointX;extern int parametrA=2 ;
int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10 ; // Point de correction pour trois-cinq chiffres
if(Digits==4 || Digits==2) PointX = Point ;
//----
Alert ("PointX",PointX) ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
int start()
{double ordre, newloss=12;Alert (" ordre ",ordre) ;
si (parametrA==0){
int total=OrdersTotal();// Comment(" total ",total) ; Alert (" total ",total) ;
if ( total !=0 ){return;}

double Average,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,sum,deviation ;
chaîne de caractères texte ; int ticket ; int err ;
text="macd sample";}else { Comment("bouée !",Verhnyayaghranytsa ) ;
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green) ;
Alert (" stoploss ",Ask-stoploss*PointX);Alert (" parametrA ",parametrA) ;
order=Close[1];Comment("buoy!order ",order );parametrA-- ;
}
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+

 
Je viens de commencer à écrire un EA pour mt4 en utilisant Gordago forex optimizer, je suis bon avec l'algorithme, donc j'ai mis l'EA directement dans le terminal, prépositionné des stoploss et takeprofits pour acheter et vendre dans Optimizer.Tout est testé normalement, mais l'EA ne fonctionne pas du tout sur un graphique réel ; si je mets des zéros à la place des stops et des takeovers, le trading se poursuit immédiatement, mais pas avec les résultats dont j'ai besoin.
 
Dimka-novitsek:

Au secours ! !! Je lutte depuis trois heures ! !! Je ne peux pas assigner la variable order=Close[1]. L'idée est qu'au moment de passer la commande pour se rappeler le prix, comme il était à ce moment-là.

Vous pouvez ensuite le comparer au prix actuel et déplacer le stop loss ou le take profit,

Je suis peut-être un idiot, mais je ne sais pas quoi en faire.

Merci d'avance.

....
Dossiers :
1_1.mq4  2 kb
 
Merci !!!!. Certainement !!!!.
 
sezon:

J'ai pensé que je devais vérifier ici aussi ...

Comment configurer l'envoi d'e-mails à narod.ru ?

Toutes les variantes ont été essayées :

Serveur SMTP - smtp.narod.ru

Connexion SMTP : - имя@narod.ru

Mot de passe SMTP - mot de passe

De : slt-soft@narod.ru

À : slt-soft@narod.ru

Erreur : Mail : la connexion à smtp.narod.ru a échoué

Je ne suis pas sûr exactement, mais les gens semblent n'avoir besoin que d'un nom d'utilisateur (c'est-à-dire que vous avez un nom - tout ce qui précède le chien), pas d'un e-mail complet

Mais sur certains serveurs smtp, il faut remplacer le chien par un signe plus et il commence à se connecter normalement, sur certains serveurs, il comprend à la fois le chien et le signe plus, et sur d'autres, seulement le login.

 
Bien sûr, ce n'est pas 1, c'est 0 !!!!. Je ne comprends pas, comment est-il possible de déclarer une variable avant le début de la fonction ? ! !!!!!!!!!!!!!!! C'est la seule façon dont cela fonctionne !
 
Je vais relire les variables globales. Mais le compilateur ne l'a pas fait !
 
Dimka-novitsek:
Je vais relire les variables globales. Mais le compilateur ne l'a pas fait !
n'a pas fait attention car il n'y avait pas d'erreurs de syntaxe. C'est une erreur logique, le compilateur ne la voit pas.
 
001:


Oui, c'est exactement ça. Il y a un fichier, que vous avez téléchargé, qui est très utile, OptimizationReport.mq4. Je l'ai un peu amélioré, afin de calculer le facteur de récupération. Maintenant je veux obtenir la valeur de cette variable dans le code principal pour accélérer l'optimisation en détectant le passage du testeur et en fixant la limite du niveau de PV. J'ai essayé de le faire par le biais de variables globales. Je ne peux pas voir la valeur de ma variable dans le code principal.

J'écris dans le conseiller expert :

double myValue = GlobalVariableGet("myValue") ;
Print("myValue="+myValue) ;
MessageBox("myValue="+myValue) ;
Alert("myValue="+myValue) ;

dans l'inclusion ("je l'ai mis en place") :

GlobalVariableSet("maValeur", 1) ;

Ne fonctionne pas, myValue=0.00000000


Le problème, c'est que d'habitude, ce bibilio fonctionne à la toute fin. Pour générer un rapport.

Il serait préférable de créer une fonction pour calculer le facteur de récupération et de l'appeler à chaque tick ou barre, ou seulement lorsque la position est fermée. Mais sur chaque tick, il est plus facile de calculer le drawdown maximum.

 
Vinin:

Le problème est que cette bibliographie fonctionne généralement à la toute fin. Pour générer un rapport.

Il est préférable de créer une fonction pour calculer le facteur de récupération et de l'appeler à chaque tick, ou barre, ou seulement lorsque la position est fermée. Mais sur chaque tick, il est plus facile de calculer le drawdown maximum.

Malheureusement, je n'ai pas assez de cervelle pour l'écrire moi-même.
Raison: