Questions des débutants MQL5 MT5 MetaTrader 5 - page 462
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Ou bien une telle conception ne sera-t-elle pas utile s'il n'y a pas de tique sur l'instrument en question ?
#property strict
extern bool USE_Info=true;
static datetime TimeN=0;
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
int start()
{
datetime TimeC=iTime("GBPUSD",5,0);
if(TimeN==0)TimeN=TimeC;
if(TimeN==TimeC) return(0);
TimeN=TimeC;
return(INIT_SUCCEEDED);
}
Aidez-moi à résoudre ce problème.
Par exemple, je dois ouvrir une position sur l'EURUSD avec un stop de 30 pips et un TakeProfit de 30 pips. Avant d'ouvrir la position, je dois spécifier le volume du lot, de sorte que la perte sur une transaction perdante soit de 100 USD. Comment le calculer avec MQL5 ?
SL=30 ;
Lot=Formule de calcul
Je voudrais utiliser mon robot de trading comme référence.
Aidez-moi à résoudre ce problème.
Par exemple, j'ai besoin d'ouvrir une position sur EURUSD avec un stop de 30 pips et un TakeProfit de 30 pips. Avant d'ouvrir la position, je dois spécifier le volume du lot, de sorte que la perte sur une transaction perdante soit de 100 USD. Comment le calculer avec MQL5 ?
SL=30 ;
Lot=Formule de calcul
Je vous remercie d'avance.
Pour 4, vous pouvez le calculer de cette façon :
Lot=Money / (Hundred_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))
Pour un quadruplet, vous pouvez le calculer de cette façon :
Lot=Money / (Hundred_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))
Merci, mais ça ne m'a pas aidé.
Voir SymbolInfoDouble() au lieu de MarketInfo()
Et que voulez-vous dire par "ça n'a pas aidé" ? Je ne t'ai pas donné un poisson, je t'ai donné une canne à pêche.
Voir SymbolInfoDouble() pas MarketInfo()
Et comment ça, ça n'a pas marché ? Je ne t'ai pas donné le poisson, je t'ai donné la canne à pêche.
Je suis trop jeune pour utiliser une canne à pêche)
J'ai écrit un script utilisant la formule ci-dessus
void OnStart()
{
//---
double Test=100/(300*_Point*SymbolInfoDouble(_Symbole,SYMBOL_TRADE_TICK_VALUE)) ;
Alerte(Test) ;
Ça donne 33333.33, peut-être que le troll a tort ?
Je suis encore trop jeune pour utiliser une canne à pêche).
Voici un script écrit à l'aide de la formule ci-dessus
void OnStart()
{
//---
double Test=100/(300*_Point*SymbolInfoDouble(_Symbole,SYMBOL_TRADE_TICK_VALUE)) ;
Alerte(Test) ;
Ça donne 33333.33, peut-être que le troll a tort ?
Argent /(Stoplos_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))
Et vous le comptez dans le prix
Je suis encore trop jeune pour utiliser une canne à pêche).
Voici un script écrit à l'aide de la formule ci-dessus
void OnStart()
{
//---
double Test=100/(300*_Point*SymbolInfoDouble(_Symbole,SYMBOL_TRADE_TICK_VALUE)) ;
Alerte(Test) ;
Il donne 33333.33, peut-être que le troll se trompe ?
J'avais l'habitude d'écrire une telle formule
Lot = AccountFreeMargin()*Risk/100*_Point/(StopLoss*MarketInfo(Symbol(), MODE_TICKVALUE))
AccountFreeMargin()*Risk/100 --- c'est vos 100$.
StopLoss --- Différence entre le prix d'ouverture de l'ordre et le prix SL (pas en points)
De même, MarketInfo() doit être remplacé par SymbolInfoDouble().
Je suis encore trop jeune pour utiliser une canne à pêche).
Voici un script écrit à l'aide de la formule ci-dessus
void OnStart()
{
//---
double Test=100/(300*_Point*SymbolInfoDouble(_Symbole,SYMBOL_TRADE_TICK_VALUE)) ;
Alerte(Test) ;
Ça donne 33333.33, peut-être que le troll a tort ?
Voyez ce que vous avez, si en russe, et à _Point, égal à 0,00001 :
Pour gagner 100 $ avec une prise de 0,003 point (300*0,00001), le lot doit être de 33333.33. Le troll a donc définitivement tort ;)
Argent /(Staples_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))
Et vous le comptez dans le prix