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

 
beginner:

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é.
 
tara:

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 ?

 
beginner:


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.
 
Close[0] - Le prix de clôture de la bougie à l'heure actuelle, ainsi que tous les autres paramètres high, low...
 
tara:
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...

 
evillive:

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 :)
 
Toute référence à une citation qui n'a pas encore été faite perturberait un appel.
 

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

SL = NormalizeDouble(Ask-StopLoss*Point, Digits);

 SL = NormalizeDouble(Ask+TakeProfit*Point, Digits);
Dans le second cas, ce devrait être TP
 

Oh, mec...

Merci, Roger !