Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 554
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
splxgf: - Merci beaucoup ! Tout fonctionne comme sur des roulettes !
Voici le code du seuil de rentabilité d'Igor Kim, converti "splxgf:" au lieu de points en pourcentages :
//+----------------------------------------------------------------------------+
//| Auteur : Kim Igor V. alias KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Version : 23.04.2009 |
//| Description : Déplacer le niveau d'arrêt sur sans perte |
//+----------------------------------------------------------------------------+
//| Paramètres : |
//| sy - nom de l'instrument ("" - tout symbole, |
//| NULL - symbole actuel) |
//| op - opération ( -1 - toute position) |
//| mn - MagicNumber ( -1 - tout magicien) |
//+----------------------------------------------------------------------------+
void MovingInWL(string sy=NULL, int op=-1, int mn=-1) {
double po, pp, PercentStep,MoveStoplossLevel,StoplossLevel ;
int i, k=OrdersTotal() ;
if (sy=="0") sy=Symbol() ;
for (i=0 ; i<k ; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy || sy==") && (op<0 || OrderType()==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
po=MarketInfo(OrderSymbol(), MODE_POINT) ;
si (OrderType()==OP_BUY) {
PercentStep=(OrderTakeProfit()-OrderOpenPrice())/po/(138-23) ;
MoveStoplossLevel = OrderOpenPrice() + PercentStep*(76-23) ;
StoplossLevel = OrderOpenPrice() + PercentStep*(51-23) ;
si (OrderStopLoss()-OrderOpenPrice()<StoplossLevel*po) {
pp=MarketInfo(OrderSymbol(), MODE_BID) ;
si (pp-OrderOpenPrice()>MoveStoplossLevel*po) {
ModifyOrder(-1, OrderOpenPrice()+StoplossLevel*po, -1) ;
}
}
}
if (OrderType()==OP_SELL) {
PercentStep=(OrderTakeProfit()-OrderOpenPrice())/po/(138-23) ;
MoveStoplossLevel = OrderOpenPrice() - PercentStep*(76-23) ;
StoplossLevel = OrderOpenPrice() - PercentStep*(51-23)
si (OrderStopLoss()==0 || OrderOpenPrice()-OrderStopLoss()<StoplossLevel*po) {
pp=MarketInfo(OrderSymbol(), MODE_ASK) ;
if (OrderOpenPrice()-pp>MoveStoplossLevel*po) {
ModifyOrder(-1, OrderOpenPrice()-StoplossLevel*po, -1) ;
}
}
}
}
}
}
}
}
//+----------------------------------------------------------------------------+
Les chiffres :
138 est le takeprofit en % Fibonacci.
23 est le prix d'ouverture de l'ordre en % Fibonacci
76 est le % de la grille de Fibonacci, si le prix atteint cette valeur, le stop loss sera déplacé à 51% de la grille de Fibonacci.
Fonction du conseiller expert e-MovingInWL2.
{
Trailing();
double Line11=iCustom(Symbol(), 0, "TDI Red Green", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type, 4, 1);
double Line12=iCustom(Symbol(), 0, "TDI Red Green", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type, 4, 2);
double Line21=iCustom(Symbol(), 0, "TDI Red Green", RSI_Period, RSI_Price, Volatility_Band, RSI_Price_Line, RSI_Price_Type, Trade_Signal_Line, Trade_Signal_Type, 5, 1);
if (timeprev == Time[0]) return(0);
timeprev = Time[0];
ma0=iMA(NULL,0,10,0,MODE_SMA,PRICE_CLOSE,1);
ma1=iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,1);
ma2=iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1);
ma3=iMA(NULL,0,800,0,MODE_SMA,PRICE_CLOSE,1);
if (CountBuy()>5 && Volume[0]==1 && Ask > ma0 && Ask > ma1 && Ask > ma3)
{
if (Line11>Level1&&Line12<Level1&&Line11>Line12)
OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Ask-sl*Point, Ask+tp*Point, comment, Magic, 0, Blue);
}
if (CountSell()>5 && Volume[0]==1 && Bid < ma0 && Bid < ma1 && Ask < ma3)
{
if (Line11>Level2&&Line12>Level1&&Line11>Line12)
OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, Ask+sl*Point,Ask-tp*Point, comment, Magic, 0, Red);
}
return(0);
}
Veuillez m'aider à trouver une erreur dans le code avec le signal d'ouverture des ordres par l'indicateur TDI Red Green.
Le testeur n'ouvre pas d'affaires, ou n'en ouvre qu'une seule. Il ne signale aucune erreur.
J'ai indiqué correctement les tampons de l'indicateur.
Je suis en train d'apprendre mql4 depuis quelques jours, je suis un débutant))))
Je vous remercie d'avance pour votre aide !Le paramètre N y est variable, ce qui signifie que lorsqu'il change, nous devons retravailler le code à chaque fois, en ajoutant (ou en supprimant) des conditions "si" (sous le tableau correspondant).
Question - est-il possible d'utiliser un seul "if", mais d'utiliser la variable "to" dans les noms de tableaux (ou autre chose) ? C'est-à-dire quelque chose comme ARRAY_{k}. Je sais que nous pouvons remplacer les tableaux par des variables terminales, mais c'est un cas extrême. Une telle solution existe-t-elle pour les tableaux ?
J'ai été confronté à ce dilemme : disons qu'il existe une boucle-for :
Le paramètre N y est variable, ce qui signifie que chaque fois que vous le changez, vous devez modifier le code en ajoutant (ou supprimant) des conditions "if" (sous le tableau correspondant).
Question - est-il possible d'utiliser un seul "if", mais d'utiliser la variable "to" dans les noms de tableaux (ou autre chose) ? C'est-à-dire quelque chose comme ARRAY_{k}. Je sais que nous pouvons remplacer les tableaux par des variables terminales, mais c'est un cas extrême. Une telle solution existe-t-elle pour les tableaux ?
Vous pouvez si c'est un peu similaire :
Vous pouvez si c'est un peu similaire :
Pouvez-vous décrire en mots ce que vous vouliez dire ?
Pouvez-vous décrire en mots ce que vous vouliez dire ?
Désolé, j'ai été distrait.
L'index du tableau fait partie de l'identifiant.
Voici un code simple.
Je veux que le programme dessine une ligne verticale sur CHAQUE cinquantième bougie.
le programme dessinera une ligne verticale.
LE PROBLÈME EST .
Le programme présente une ligne verticale UNIQUEMENT SUR LA PREMIÈRE COURONNE (multiple de 50).
Merci.
L'index du tableau fait partie de l'identifiant.
D'après ce que je comprends, votre solution ne fonctionnera pas dans mon cas, mais elle m'a donné une idée qui mérite d'être vérifiée. Merci !
Voici un code simple.
Je le veux sur CHAQUE cinquantième bougie.
le programme exposait une ligne verticale.
PROBLÈME
Le programme définit une ligne verticale UNIQUEMENT sur la PREMIÈRE LIGNE (multiple de 50).
Je veux que ce soit le même nom pour chaque cinquantième bougie.
Vous essayez de créer plusieurs objets avec le même nom, ce qui n'est pas possible. Le nom doit être unique, comme le temps :
C'est la première chose. Deuxièmement, où est la boucle ? Comment le script comptera-t-il les bougies ?