Questions des débutants MQL4 MT4 MetaTrader 4 - page 49

 
Alexander Antoshkin:

Pour un gâteau et une tasse de café, un avertissement devrait être modifié ( à partir des nouvelles constructions de mt4 )

)

Eh bien, la tarte peut être envoyée par la poste... Où trouvez-vous le café ?

Dossiers :
 
Alexey Viktorov:

Eh bien, vous pouvez poster une tarte... Où trouvez-vous le café ?

Merci.))))

code corrigé renvoyé au fil de l'article.................................................

 
J'essaie d'installer MetaTrader4 à partir du fichier d'installation original mt4setup.exe mais MT5 est installé pour moi effrontément. Système Windows7 x64. Est-ce ainsi que le développeur essaie de me faire aimer la nouvelle plateforme ? Comment puis-je installer ce que je veux (MT4) et non ce que l'on m'impose ?
 
Andrej Akimov:
J'essaie d'installer MetaTrader4 à partir du fichier d'installation original mt4setup.exe mais MT5 est installé pour moi effrontément. Système Windows7 x64. Est-ce ainsi que le développeur essaie de me faire aimer la nouvelle plateforme ? Comment puis-je installer ce que je veux (MT4) et non ce que l'on m'impose ?
Il y a déjà un tas de fils de discussion sur le forum avec des solutions à ce problème. Pourquoi ne pas utiliser le moteur de recherche ?
 
Montrez par un exemple comment écrire une chaîne de caractères dans un fichier et la lire. Le fichier doit être stocké à la racine du lecteur C. Il doit s'agir d'un expert.
 

J'essaie d'implémenter le stop loss et le take profit de cette manière :

spread = Ask-Bid ;

double StopLoss_B = NormalizeDouble(Low[1]- spread,Digits);//NormalizeDouble(Low[1]- spread,Digits)

double TakeProfit_B = NormalizeDouble(Ask+((Ask-StopLoss_B)* RiskRewart),Digits) ;

double StopLoss_S = NormalizeDouble(High[1]+ spread,Digits);//NormalizeDouble(High[1]+ spread,Digits)

double TakeProfit_S = NormalizeDouble(Bid-((StopLoss_S-Bid)* RiskRewart),Digits) ;

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss_B,TakeProfit_B, "PBar",Magik,0,Blue) ;

....

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss_S,TakeProfit_S, "PBar",Magik,0,Red) ;

Le testeur affiche l'erreur 130 - quelque chose ne va pas avec TP et SL. Je n'arrive pas à comprendre de quoi il s'agit exactement, d'autant plus que parfois il fonctionne bien, et parfois j'obtiens une erreur.

En général, aidez-nous.

 
RichLux:

J'essaie d'implémenter le stop loss et le take profit de cette manière :

spread = Ask-Bid ;

double StopLoss_B = NormalizeDouble(Low[1]- spread,Digits);//NormalizeDouble(Low[1]- spread,Digits)

double TakeProfit_B = NormalizeDouble(Ask+((Ask-StopLoss_B)* RiskRewart),Digits) ;

double StopLoss_S = NormalizeDouble(High[1]+ spread,Digits);//NormalizeDouble(High[1]+ spread,Digits)

double TakeProfit_S = NormalizeDouble(Bid-((StopLoss_S-Bid)* RiskRewart),Digits) ;

....

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss_B,TakeProfit_B, "PBar",Magik,0,Blue) ;

....

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss_S,TakeProfit_S, "PBar",Magik,0,Red) ;

Le testeur affiche l'erreur 130 - quelque chose ne va pas avec TP et SL. Je n'arrive pas à comprendre de quoi il s'agit exactement, d'autant plus que parfois il fonctionne bien, et parfois j'obtiens une erreur.

En général, aidez-nous.

Peut-être que parfois vous avez fixé un prix trop proche du prix actuel, voyez ce que la fonction renvoie.

double stop_level=(double)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

...

 

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Questions des débutants MQL4 MT4 MetaTrader 4

Sergey Gritsay, 2017.01.07 18:48

Peut-être que parfois vous pariez trop près du prix actuel, voyez ce que la fonction vous renvoie...

double stop_level=(double)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);

...


Merci de votre participation. Je n'ai pas trouvé comment utiliser la fonction suggérée. Mais vous m'avez encouragé à en savoir plus sur ces erreurs sur le graphique et j'ai compris que la raison est que lorsqu'un Stop Loss est déclenché, mais que la bougie n'est pas encore fermée, l'EA essaie de placer un nouvel ordre, et c'est là que l'erreur se produit. Je dois réfléchir à la manière d'expliquer à l'EA qu'un seul ordre par bougie est nécessaire.

 
RichLux:

Merci de votre participation. Je n'ai pas encore trouvé comment utiliser la fonction suggérée. Mais vous m'avez encouragé à en savoir plus sur ces erreurs sur le graphique et j'ai compris que la raison est que lorsqu'un Stop Loss est déclenché mais que la bougie n'est pas encore fermée, l'EA essaie de placer un nouvel ordre, c'est là que l'erreur se produit. Je dois réfléchir à la manière d'expliquer à l'EA qu'un seul ordre par bougie est nécessaire.

Si l'EA a déjà un ordre sur le symbole, regardez la différence(heure de fermeture de l'ordre)-(heure d'ouverture de la bougie), si la différence est inférieure à PeriodSeconds() - n'ouvrez pas de nouvel ordre.
 

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégie

Questions des débutants MQL4 MT4 MetaTrader 4

Vitalie Postolache, 2017.01.07 21:23

Surveillez parmi les ordres fermés, si le Conseiller Expert a un ordre sur le symbole donné, surveillez la différence(heure de fermeture de l'ordre) -(heure d'ouverture de la bougie), si la différence est inférieure à PeriodSeconds() - n'ouvrez pas de nouvel ordre.

J'ai fait les choses un peu différemment.

Nouvelle fonction de bar :

bool NewBar()

{

date statique lastbar = 0 ;

datetime curbar = Time[0] ;

if(lastbar != curbar)

{

dernière barre = curbar ;

retour (vrai) ;

}

sinon retour(false) ;

}

et j'ai écrit des conditions pour ouvrir seulement s'il y a une nouvelle barre.

Raison: