Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1101
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
Un billet peut-il être égal à zéro ?
Extrait de la documentation sur OrderSend() :
.......
Valeur de retour
Renvoie le numéro de ticket attribué à l'ordre par le serveur commercial ou -1 en cas d'échec. Pour obtenir les informations sur les erreurs, appelez GetLastError().
Extrait de la documentation sur OrderSend() :
.......
Valeur retournée
Renvoie le numéro de ticket attribué à l'ordre par le serveur commercial ou -1 en cas d'échec. Pour obtenir les informations sur les erreurs, appelez GetLastError().
Pouvez-vous me dire s'il existe un indicateur pour mt4 qui compte la volatilité sur le délai sélectionné ?
Par exemple pour les jours( H-L)n, où n-nombre de jours.
Pouvez-vous me dire s'il existe un indicateur pour MT4 qui calcule la volatilité sur une période sélectionnée ?
Par exemple pour les jours( H-L)n, où n-nombre de jours.
Est-ce la volatilité ?
"La volatilité est une mesure statistique de la tendance de la volatilité des prix". - C'est à peu près ce à quoi ressemble la définition.
La volatilité historique est une valeur égale à l'écart type de la valeur d'un instrument financier sur une période donnée, calculée sur la base de données historiques concernant sa valeur.
Et comme indicateur de la volatilité dans le terminal, il existe un indicateur de l'écart-type - l'écart-type.
C'est ce que je dis... Le numéro de ticket ne peut pas être 0 même dans le testeur, et sur la fonction d'erreur renvoie -1, qui est inférieur à 0. J'ai donc demandé, dans quel cas le ticket peut être égal à zéro ... Parce que la condition dit >= c'est-à-dire supérieur ou égal à...
Avec le ticket tout est clair.j'ai une fonction pour déterminer le dernier ordre ouvert (selon le ticket) même par OrderTupy divisé.les gars la question est la suivante.complimator ne donne pas d'erreurs et dans le testeur pas d'erreurs mais l'ordre n'est pas modifié....why ????? si je ne peux pas comprendre mon erreur je ne peux pas le réaliser
si(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0, "first buy order set",Magik,0)== true)
Où puis-je trouver un assistant pour écrire un petit script à essayer gratuitement ?
J'ai la fonction de déterminer le dernier ordre ouvert (par ticket) même par OrderTupy.guys la question est la suivante : le complimateur ne donne pas d'erreurs et dans le testeur aucune erreur mais l'ordre n'est pas modifié....why ????? si je ne peux pas comprendre mon erreur je ne peux pas la réaliser
Utilisez le bouton SRC dans le panneau situé au-dessus de la fenêtre de saisie de texte.
En fait, ce n'est pas parce que le compilateur n'envoie pas d'erreurs que cela signifie quelque chose. Vous devez vérifier que le journal ne contient pas d'erreurs, et imprimer les conditions et les paramètres. Il s'agit de recommandations générales.
Exactement sur votre code : la fonction OrderSend() renvoie le numéro de ticket ou -1 en cas d'erreur. Si vous lisez attentivement la documentation relative aux types de données, en particulier le type bool, vous pouvez comprendre que la valeur fausse est 0. Tout le reste est vrai. Par conséquent, quelle que soit la façon dont la fonction OrderSend() se termine, la valeur booléenne sera toujours vraie.
Dans l'exemple ci-dessus, il n'est pas nécessaire de rechercher une commande de billets à l'aide d'une fonction supplémentaire, puisqu'elle sera renvoyée par OrderSend().
Les ordres à cours limité ne sont pas placés au prix courant. De quel type de modification parlons-nous si l'ordre ne doit pas être ouvert par une telle commande ?
Où puis-je trouver un assistant qui puisse écrire un petit script pour l'essayer gratuitement ?
L'assistant se trouve dans MetaEditor : File --> Create. Que doit faire le script ? Allez, écrivons-le ensemble ! !! Je vais l'expliquer étape par étape...
Utilisez le bouton SRC dans le panneau situé au-dessus de la fenêtre de saisie de texte.
En substance : le fait que le compilateur ne génère pas d'erreurs ne signifie rien. Vous devez vérifier que le journal ne contient pas d'erreurs, et imprimer les conditions et les paramètres. Il s'agit de recommandations générales.
Exactement sur votre code : la fonction OrderSend() renvoie le numéro de ticket ou -1 en cas d'erreur. Si vous lisez attentivement la documentation relative aux types de données, en particulier le type bool, vous pouvez comprendre que la valeur fausse est 0. Tout le reste est vrai. Par conséquent, quelle que soit la façon dont la fonction OrderSend() se termine, la valeur booléenne sera toujours vraie.
Dans l'exemple ci-dessus, il n'est pas nécessaire de rechercher une commande de billets à l'aide d'une fonction supplémentaire, puisqu'elle sera renvoyée par OrderSend().
Les ordres à cours limité ne sont pas placés au prix courant. De quel type de modification parlons-nous si l'ordre ne doit pas être ouvert par une telle commande ?
Et le testeur a ouvert une position... De plus, cet ordre était comme un drapeau qui ouvrirait plus tard une grille...
void OnTick()
{
si(tendance == 1)
Comment("Dans les sept mois, la tendance est à l'achat") ;
else Comment("la tendance est à la baisse depuis sept mois") ;
double priseBuy = FindLastOrderPrise (OP_BUY) ;
double priseSel = FindLastOrderPrise (OP_SELL) ;
double frezeelevl = MarketInfo(OrderSymbol(),MODE_FREEZELEVEL) ;
rsi = iRSI(Symbole(),PERIOD_D1,7,PRICE_CLOSE,0) ;
trend = WhatTrend() ;
si (CountTrades() == 0)
{
si(trend == 1 && rsi <=30)
{ double vtoroilimt = NormalizeDouble (priseBuy - Vtoroilimit * Point,Digits) ;
double tretiilimit = NormalizeDouble (priseBuy - Tretiilimit * Point,Digits) ;
double hetvertiilimit = NormalizeDouble (priseBuy - Hetvertiilimit * Point,Digits) ;
double pervstop = NormalizeDouble (priseBuy + Pervstop * Point,Digits) ;
double vtoroistop = NormalizeDouble (priseBuy + Vtoroistop * Point,Digits) ;
si(OrderSend(Symbol(),OP_BUYLIMIT,0.04,Ask,Slippage,0,0, "first buy order set",Magik,0)== true)
{
OrderSend(Symbol(),OP_BUYLIMIT,0.06, Ask - vtoroilimt,Slippage,0,0,",Magik,0) ;
OrderSend(Symbol(),OP_BUYLIMIT,0.08, Ask - tretiilimit,Slippage,0,0,",Magik,0) ;
OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask - hetvertiilimit,Slippage,0,0,",Magik,0) ;
OrderSend(Symbol(),OP_BUYLIMIT,0.02,Ask - pervstop,Slippage,0,0,",Magik,0) ;
OrderSend(Symbol(),OP_BUYLIMIT,0.01,Ask - vtoroistop,Slippage,0,0,",Magik,0) ;
}
}// if(trend == 1 && rsi <=30)
sinon si(trend == 2 && rsi >= 70)
{ double vtoroilimt = NormalizeDouble (priseSel + Vtoroilimit * Point,Digits) ;
double tretiilimit = NormalizeDouble (priseSel + Tretiilimit * Point,Digits) ;
double hetvertiilimit = NormalizeDouble (priseSel + Hetvertiilimit * Point,Digits) ;
double pervstop = NormalizeDouble (priseSel - Pervstop * Point,Digits) ;
double vtoroistop = NormalizeDouble (priseSel - Vtoroistop * Point,Digits) ;
if(OrderSend (Symbol(),OP_SELLLIMIT,0.04,Bid,Slippage,0,0, "first order is set",Magik,0)== true)
{
OrderSend(Symbol(),OP_SELLLIMIT,0.06, Bid + vtoroilimt,Slippage,0,0,",Magik,0) ;
OrderSend(Symbol(),OP_SELLLIMIT,0.08, Bid + tretiilimit,Slippage,0,0,",Magik,0) ;
OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid + hetvertiilimit,Slippage,0,0,",Magik,0) ;
OrderSend(Symbol(),OP_SELLSTOP,0.02,Bid + pervstop,Slippage,0,0,",Magik,0) ;
OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid + vtoroistop,Slippage,0,0,",Magik,0) ;
}// if(OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid,Slippage,0,0, "first order is set",Magik,0)== true)
}// else if(trend == 2 && rsi >= 70)
}// if(CountTrades() == 0)
}
//+------------------------------------------------------------------+
le code se développe avec beaucoup d'agonie.mais sans modification d'ordre il n'y a rien du tout.je vais modifier le premier ordre.mais qu'est ce que le bouton cp ???