Questions des débutants MQL5 MT5 MetaTrader 5 - page 646
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
Il y a deux bornes MT5. Problème : puis-je écrire des scripts pour autoriser uniquement les transactions longues dans un terminal et uniquement les transactions courtes dans l'autre ?
#define ORDER_TYPE_SELL ORDER_TYPE_SELL_STOP // поставить в самом начале советника, если нужно отказаться от SELL-сделок
Il y a deux bornes MT5. Tâche : Est-il possible d'écrire des scripts pour autoriser uniquement les transactions longues dans un terminal et uniquement les transactions courtes dans l'autre ?
Il suffit d'entrer un paramètre d'entrée dans votre EA et, en fonction de la valeur qui lui est attribuée au démarrage, vous ne ferez qu'acheter ou que vendre :
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
...
void OnTick()
{
if(!Long)
trade.Sell(0.01);
if(Long)
trade.Buy(0.01);
}
Pour savoir s'il s'agit d'un nouveau haut ou d'un nouveau bas, vous devez vous rappeler l'heure du dernier haut/bas que vous avez trouvé, et la comparer avec ce que vous avez trouvé jusqu'à présent.
Merci, c'est clair avec le tampon.
Afin de se souvenir de l'heure du dernier sommet trouvé, vous devez la connaître d'une manière ou d'une autre.
Comment faire, comment connaître l'heure du dernier sommet trouvé?
Merci, le tampon est clair.
Afin de se souvenir de l'heure du dernier sommet trouvé, vous devez la connaître d'une manière ou d'une autre.
Comment faire, comment connaître l'heure du dernier sommet trouvé?
Vous déclarez une variable statique pour stocker l'heure de l'extremum précédent du zigzag et l'initialisez avec zéro.
2. Trouvez un sommet et si son temps n'est pas égal au temps dans la variable statique, considérez que vous avez trouvé l'extremum requis et mémorisez le nouveau temps dans cette variable.
GoTo(2) ;
Camarades programmeurs !
Recommandez un moyen de savoir si l'écart a augmenté.
Le problème est le suivant : pendant la transition vers une nouvelle journée, la société de courtage élargit le spread, et parfois c'est fou pour certaines paires - il dépasse de 3 à 5 fois la valeur normale. Les écarts liés à l'heure d'été sont différents dans les sociétés de courtage avec un changement d'heure de 23 à 59 et de 20 à 59 et ainsi de suite.
Pour certains, le spread ne change pas beaucoup. Nous ne pouvons donc pas interdire le robot "Working by time" car si le spread ne change pas, nous n'aurons pas à interdire le trading.
La question principale est de savoir comment détecter que le spread est trop important et donc interdire au robot d'ouvrir une position. Je vois une variante qui consiste à stocker les tailles de spread dans un fichier pour chaque nouvelle barre pour les 5-7 dernières barres, puis d'additionner le tout et de diviser par le nombre, ce qui permet d'obtenir le spread moyen et de le multiplier par 1,2 - 1,4 (marge), mais il n'est pas intéressant de sauvegarder et de multiplier les fichiers et je ne suis pas sûr que ce soit la bonne solution pour calculer le spread moyen. Si j'entre manuellement l'écart maximal autorisé dans les paramètres, c'est très trivial et sans intérêt en termes de fonctionnement du robot.
Veuillez me conseiller la solution optimale pour cette question, qui ne craint pas de redémarrer le terminal, et l'arrêt d'urgence en cas de panne de courant. De plus, il est préférable de trouver une solution qui minimise la charge du programme, afin qu'il ne recalcule pas à chaque tic.
Merci !
Camarades programmeurs !
Recommandez un moyen de savoir si l'écart a augmenté.
Le problème est le suivant : pendant la transition vers un nouveau jour, la société de courtage élargit le spread, et parfois c'est fou pour certaines paires - il dépasse de 3 à 5 fois la valeur normale. Les écarts liés à l'heure d'été sont différents dans les sociétés de courtage avec un changement d'heure de 23 à 59 et de 20 à 59 et ainsi de suite.
Pour certains, le spread ne change pas beaucoup. Nous ne pouvons donc pas interdire le robot "Working by time" car si le spread ne change pas, nous n'aurons pas à interdire le trading.
La principale question est de savoir comment détecter que l'écart est trop important et comment empêcher le robot d'ouvrir une position. Je vois une variante qui consiste à stocker les tailles de spread dans un fichier pour chaque nouvelle barre pour les 5-7 dernières barres, puis d'additionner le tout et de diviser par le nombre et ainsi obtenir le spread moyen et de multiplier par 1,2 - 1,4 (marge), mais il n'est pas intéressant de sauvegarder et de multiplier les fichiers. Si j'entre manuellement l'écart maximal autorisé dans les paramètres, c'est très trivial et sans intérêt en termes de fonctionnement du robot.
Veuillez m'indiquer quelle serait la meilleure solution pour répondre à cette question. Merci !
Quel est ce genre de logique TS qui dépend à ce point de la propagation !
OK, disons-le comme ça. Ici, par exemple, le spread ne s'élargit même pas trois fois, mais plus, et si vous entrez sur le marché avec un spread de 20pp, alors que le spread normal est de 4-6pp, alors ce n'est pas normal, et nous devons couper ces moments.
OK, disons-le comme ça. Par exemple, le spread ici n'est même pas trois fois plus large, mais plus, et si vous entrez sur le marché avec un spread de 20pp, alors que le spread normal est de 4-6pp, ce n'est pas normal, et nous devons couper ces points.
OK, disons-le comme ça. Par exemple, le spread ici n'est même pas trois fois plus large, mais plus, et si vous entrez sur le marché avec un spread de 20pp, alors que le spread normal est de 4-6pp, ce n'est pas normal, et nous devons couper ces points.