[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 287
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
2011.03.30 08:40:21 USDCAD,M1 : 3 4 4.00000000 ask=0.9729 bid=0.9725
cela fonctionne comme suit
ça marche comme ça !
Merci !
En général, il est temps pour les développeurs de MT de créer une section dans la documentation et d'expliquer en détail le problème et la nécessité d'utiliser la normalisation.
Il n'y a qu'un modeste exemple sans emphase dans la documentation pour cette situation :
Section "Approche par type" https://docs.mql4.com/ru/basis/types/casting
A FoxUA.
Lorsque l'ordre 3 (Vente) est fermé, l'ordre 1 (Achat) sémaphorise toujours qu'il a été fermé sur le Stop Loss et donc 2 ordres en ligne sont placés, parce que Total=1.
c'est à dire que je cherche une solution à ce problème, c'est à dire quoi remplacer total 1 pour se débarrasser d'un tel effet
Pouvez-vous me dire si le script peut ouvrir des ordres non seulement dans la fenêtre du graphique auquel il est attaché, mais aussi sur d'autres paires de devises, s'il est correctement prescrit sur quelles autres paires de devises vous devez ouvrir ?
peut-être
peut-être
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
mais cette option, va-t-elle fonctionner ou non ?
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits)," CleverEA",MagNum,0,Green);
mais cette option, va-t-elle fonctionner ou non ?
Non, ce que vous avez mis en évidence sera rendu par l'outil actuel. Les offres, demandes, chiffres, etc. doivent être demandés à MarketInfo en spécifiant explicitement l'outil.
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
Mais cette option fonctionnera-t-elle ou non ?
Il ne le fera pas. Vous devez utiliser la fonction MarketInfo https://docs.mql4.com/ru/common/MarketInfo.
il y a des exemples de votre problème sur la page