Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 582
![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
Bonjour.
D'une manière ou d'une autre, essayez-le.
Ça donne quelque chose comme ça, essayez.
Non, vous ne comprenez pas la tâche.
Vous devez transmettre soit le nom de la variable, soit la valeur de la variable, selon la situation.
Une variablepeut-elle être affecté à plusieurs valeurs?
quelque chose comme ceci
int N=(1;2;5;9;15;19)
Est-il possible de une seule variable peut-elle être affectée à à une seule variable ?
quelque chose comme ceci
int N=(1;2;5;9;15;19)
Ou vouliez-vous déclarer un tableau ? Alors int N[6] = {1, 2, 5, 9, 15, 19} ;
Je n'utilise pas de tels tableaux, si je me trompe, je serai corrigé par une personne compétente...
Et ensuite, comment puis-je savoir quelle valeur utiliser ?
Ou vouliez-vous déclarer un tableau ? Alors int N[6] = {1, 2, 5, 9, 15, 19} ;
Je n'utilise pas de tels tableaux, si je me trompe, quelqu'un me corrigera...
Merci ! Je pense l'utiliser dans lestests comme limite pour trader certains jours du mois. if(Day()==N[6]) !
Bonjour ! S'il vous plaît, aidez-moi...
Comment créer une boîte sur un graphique, dans laquelle on peut placer un segment du même graphique, en connaissant les heures de début et de fin du segment.
Merci...
Bonjour, pouvez-vous m'aider à ajouter un conseiller martingale, afin qu'en cas de trade perdant, le prochain s'ouvre avec le double du lot par rapport au précédent.
//+------------------------------------------------------------------+
//| 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 = 130 ;
extern int StopLoss = 80 ;
extern int Slippage = 5 ;
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 ;
extern inttern Indent = 5 ;
extern inttern KPeriod =5 ;
extern int DPeriod =3 ;
extern inttern Ralentissement =3 ;
double PriceHigh, PriceLow, SL, TP, PriceMiddle, PriceBuy, StochasticHigh, StochasticLow, PriceSell ;
double HighesBuffer[] ;
double LowesBuffer[] ;
int ticket1, ticket2 ;
//+------------------------------------------------------------------+
//| 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) ;
PriceMiddle = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 0, 0) ;
lots doubles, Lot ;
si (Bid >= PriceHigh && CountSell() == 0)
{
SL = NormalizeDouble(Bid+StopLoss*Point, Digits) ;
TP = NormalizeDouble(Bid-TakeProfit*Point, Digits) ;
ticket1 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, commentaire, Magic, 0, Red) ;
si (ticket1 > 0)
{
if(OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket1, OrderOpenPrice(), SL, TP, 0) ;
PriceBuy = NormalizeDouble(OrderOpenPrice() + Indent*Point, Digits) ;
}
ticket2 = OrderSend(Symbol(), OP_BUYSTOP, Lots, PriceBuy, Slippage, 0, 0, commentaire, Magic, 0, Green) ;
si (ticket2 > 0)
{
si (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==true)
{
SL = NormalizeDouble(PriceBuy - StopLoss * Point, Digits) ;
TP = NormalizeDouble(PriceBuy + TakeProfit * Point, Digits) ;
OrderModify(ticket2, OrderOpenPrice(), SL, TP, 0) ;
}
}
}
if(Ask <= PriceLow && Ask <= StochasticLow && CountBuy() == 0)
{
SL = NormalizeDouble(Ask-StopLoss*Point, Digits) ;
TP = NormalizeDouble(Ask+TakeProfit*Point, Digits) ;
ticket1 = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, commentaire, Magic, 0, Blue) ;
si (ticket1 > 0)
{
if(OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket1, OrderOpenPrice(), SL, TP, 0) ;
PriceSell = NormalizeDouble(OrderOpenPrice() - Indent*Point, Digits) ;
}
ticket2 = OrderSend(Symbol(), OP_SELLSTOP, Lots, PriceSell, Slippage, 0, 0, commentaire, Magic, 0, Orange) ;
si (ticket2 > 0)
{
si (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==true)
{
SL = NormalizeDouble(PriceSell + StopLoss * Point, Digits) ;
TP = NormalizeDouble(PriceSell - TakeProfit * Point, Digits) ;
OrderModify(ticket2, OrderOpenPrice(), SL, TP, 0) ;
}
}
}
si (Ask <= PriceMiddle && 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 >= PriceMiddle && 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) ;
}
Et ensuite, comment savoir quelle valeur utiliser ?
Ou vouliez-vous déclarer un tableau ? Alors int N[6] = {1, 2, 5, 9, 15, 19} ;
Je n'utilise pas de tels tableaux, si je me trompe sur quelque chose, mes amis me corrigeront...
int N[6] = {1, 2, 5, 9, 15, 19} ;
si(Day()==N[6])!
Cependant, cette suggestion n'a pas fonctionné - tableau out de gamme.. .Le passage du test a été arrêté en raison d'uneerreur critique dans l'EA.
int N[6] = {1, 2, 5, 9, 15, 19} ;
si(Day()==N[6])!
Cependant, cela n'a pas fonctionné - tableau out de gamme.. .Le passage du test a été arrêté en raison d'une erreur critique dans l'EA.