Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 471
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
peut, la question est de savoir pourquoi les taux[0] ne peuvent pas être fermés ?
Je ne peux que deviner : parce que l'objet n'est pas encore formé.
Je ne peux que supposer : parce que l'objet n'a pas encore été formé.
Non, il doit y avoir une erreur, ça devrait être comme dans 5, ou je suis confus ?
Non, il doit y avoir une erreur, ça devrait être comme le 5, ou je suis confus ?
N'oubliez pas que Close[0] n'existe pas, c'est juste que nous y sommes habitués différemment.
ne faites pas ça... n'existe pas...
"Il n'y a pas de cuillère" (c) )))
Close[0]=Bid, donc...
ne faites pas ça... n'existe pas...
"Il n'y a pas de cuillère" ))))
Close[0]=Enchère, ici...
Vous devriez demander aux Metakwots, pas à moi :)
Bonjour, j'ai le problème suivant. Le journal donne un OrderModify de 130 lors du test, aidez-moi à trouver une solution. Voici le code du conseiller :
//+------------------------------------------------------------------+
//| Test3.mq4
//| Popov Vladimir |
//| http://vk.com/id143715412 |
//+------------------------------------------------------------------+
#property copyright "Popov Vladimir"
#lien de propriété "http://vk.com/id143715412"
extern double Lots = 0.1 ;
extern int TakeProfit = 250 ;
extern int StopLoss = 100 ;
extern int Slippage = 10 ;
extern string comment = "Tma bot" ;
extern int Magic = 123 ;
extern string Indi = "Données de l'indicateur" ;
extern string TimeFrame = "cadre temporel actuel" ;
extern int HalfLength = 20 ;
extern int Price = PRICE_CLOSE ;
extern double ATRMultiplier = 2.0 ;
extern inttern ATRPeriod = 100 ;
extern bool Interpolate = true ;
double PriceHigh, PriceLow, SL, TP ;
int ticket ;
//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+
int init()
{
si (Chiffres == 3 || Chiffres == 5)
{
TakeProfit *= 10 ;
StopLoss *= 10 ;
Dérapage *= 10 ;
}
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
int start()
{
PriceHigh = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0) ;
PriceLow = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0) ;
si (Bid >= PriceHigh && CountSell() == 0)
{
SL = NormalizeDouble(Bid+StopLoss*Point, Digits) ;
SL = NormalizeDouble(Bid-TakeProfit*Point, Digits) ;
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, commentaire, Magic, 0, Red) ;
si (ticket > 0)
{
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0) ;
}
}
si(Ask <= PriceLow && CountBuy() == 0)
{
SL = NormalizeDouble(Ask-StopLoss*Point, Digits) ;
SL = NormalizeDouble(Ask+TakeProfit*Point, Digits) ;
ticket = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, commentaire, Magic, 0, Blue) ;
si (ticket > 0)
{
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0) ;
}
}
si (Ask <= PriceLow && CountSell() > 0)
{
for(int i=OrdersTotal()-1 ; i >=0 ; i--)
{
si(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == Magic && OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black) ;
}
}
}
si (Bid >= PriceLow && CountBuy() > 0)
{
for(i=OrdersTotal()-1 ; i >=0 ; i--)
{
si(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == Magic && OrderType() == OP_BUY)
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Green) ;
}
}
}
retour(0) ;
}
//+------------------------------------------------------------------+
int CountBuy()
{
int count = 0 ;
for (int tr = OrdersTotal()-1 ; tr >= 0 ; tr --)
{
OrderSelect(tr, SELECT_BY_POS) ;
si (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
si (OrderType() == OP_BUY)
compte++ ;
}
}
retour (count) ;
}
//+------------------------------------------------------------------+
int CountSell()
{
int count = 0 ;
for (int tr= OrdersTotal()-1 ; tr >= 0 ; tr --)
{
OrderSelect(tr, SELECT_BY_POS) ;
si (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
si (OrderType() == OP_SELL)
compte++ ;
}
}
retour (count) ;
}
Corrigez-le ici
Dans le second cas, ce devrait être TPOh, mec...
Merci, Roger !