Je rédigerai un conseiller gratuitement - page 166

 
Bonjour, j'aimerais vous demander conseil. Pouvez-vous me conseiller sur la façon de modifier mon conseiller expert afin qu'il ne négocie pas à contre-courant de la tendance, mais au contraire qu'il la suive ? J'ai ouvert de nouvelles positions avec un lot croissant par tendance.

Ilan 2.0

 
kammann659 #:
Bonjour, j'aimerais vous demander conseil. Pouvez-vous me conseiller sur la façon de modifier mon conseiller expert afin qu'il ne négocie pas à contre-courant de la tendance, mais au contraire qu'il la suive ? J'ai ouvert de nouvelles positions avec un lot croissant par tendance.

Ilan 2.0

Bonjour, c'est possible.

 

Bon après-midi. Je négocie avec des ordres en attente (sellstops, bystops). Je veux demander d'écrire une partie du code où la condition est remplie - tous les ordres en attente qui sont à une distance (x) du prix actuel sont supprimés. C'est-à-dire qu'un "petit ensemble" d'ordres en attente "suivra" constamment le prix actuel.

Bien entendu, cette idée peut être mise en œuvre d'une autre manière, par exemple, pour contrôler le nombre de stops de vente et d'achat et, en même temps, les parcourir de manière à rapprocher les plus longs du prix actuel.


Il me semble que c'est la même chose, mais j'aime bien la première variante. Pour le premier cas, la distance x doit être variable dans la condition.

Je comprends que ce n'est pas beaucoup de code. J'ai essayé de comprendre ce qu'il faut faire et comment le décrire, j'ai regardé et étudié des EA similaires, mais je n'ai pas assez de cervelle pour cela.

Merci.

 

Bonjour,@Andrey Kuharev.

Cherchez-vous un MT5 ou un MT4 ?

 
Yuriy Bykov #:

Bonjour,@Andrey Kuharev.

Cherchez-vous un MT5 ou un MT4 ?

MT4
 

J'ai relu votre description et je me suis rendu compte que je ne comprends probablement pas exactement ce qu'il faut faire. Il semble que vous ayez besoin des éléments suivants :

  • Un script que vous exécuterez manuellement sur le graphique lorsque cela sera nécessaire, ou une fonction que vous pourrez insérer dans votre code (ou est-ce un EA qui s'exécute en permanence et supprime les ordres inutiles ?)
  • Il a un paramètre X - le nombre de pips (un nombre entier).
  • Il supprimera les ordres en attente (uniquement BuyStop et SellStop ?) sur le symbole du graphique auquel il est appliqué (ou sur tous les symboles ?). Dans ce cas, le X doit être défini pour chaque symbole).
  • Un ordre en attente pour le symbole nécessaire du type requis sera supprimé si la distance entre son prix ouvert et le prix actuel est supérieure à X
  • Il n'a pas pour mission de passer des commandes

Corrigez-moi si je me trompe.

 
Yuriy Bykov #:

J'ai relu votre description et je me suis rendu compte que je ne comprends probablement pas exactement ce qu'il faut faire. Il semble que vous ayez besoin des éléments suivants :

  • Un script que vous exécuterez manuellement sur le graphique lorsque cela sera nécessaire, ou une fonction que vous pourrez insérer dans votre code (ou est-ce un EA qui s'exécute tout le temps et supprime les ordres inutiles ?)
  • Il a un paramètre X - le nombre de pips (un nombre entier).
  • Il supprimera les ordres en attente (seulement BuyStop et SellStop ?) sur le symbole du graphique auquel il est appliqué (ou sur tous les symboles ?). Dans ce cas, le X doit être défini pour chaque symbole).
  • Un ordre en attente pour le symbole nécessaire du type requis sera supprimé si la distance entre son prix ouvert et le prix actuel est supérieure à X
  • Il n'a pas pour mission de passer des commandes

Corrigez-moi si je me trompe.

C'est un EA, j'ai écrit le code (enfin, si on peut vraiment appeler ça un code - quelques lignes))) qui ouvre les ordres de vente et d'achat en attente, j'ai juste besoin que les ordres en attente qui étaient éloignés du prix (respectivement, les stops de vente du Bid, les stops d'achat du Ask) soient supprimés de X points. Je le ferai moi-même, pas pour distraire les gens intelligents avec mes bêtises. Pour une meilleure compréhension, voici le code de "Expert Advisor" dans lequel je veux insérer la fonction de suppression. Dans mon EA, j'ai marqué le paramètre X comme externe double v_util = 50 ; // distance entre le prix actuel et un ordre en attente à supprimer.

//+------------------------------------------------------------------+
//|Commandes en cours.mq4 |
//| Copyright 2022, MetaQuotes Software Corp. |
//| https ://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Software Corp."
#property link"https://www.mql5.com"
#property version "1.00"
#property strict
//------- paramètres externes -----------------------------------------+
extern double delitel_Equity_lots = 1400000 ; // Diviseur pour déterminer le lot de travail.
extern double schag = 2 ; // pas d'ouverture de l'ordre en attente à partir du prix actuel
extern double v_util = 50 ;// distance entre le prix actuel et les ordres en attente supprimés
extern int StopLoss = 10000 ;
extern int TakeProfit = 5 ;
extern int MagicBuy = 1111111 ; // Numéro magique pour les ordres d'ACHAT
extern int MagicSell = 2222222 ; // Nombre magique pour les ordres de VENTE
// //+------------------------------------------------------------------+
void OnTick()

{double Lots = NormalizeDouble(AccountBalance()/delitel_Equity_lots, 2) ; // Volume de la position.

OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Ask+schag*_Point,_Digits) ,0,NormalizeDouble(Ask-(StopLoss-schag)*_Point,_Digits),
NormalizeDouble(Ask+(TakeProfit+schag)*_Point,_Digits),MagicBuy) ; // Ouvrir BuyStop
Print (GetLastError()) ; // Message d'erreur
OrderSend(Symbol(),OP_SELLSTOP,Lots,NormalizeDouble(Bid-schag*_Point,_Digits),0,NormalizeDouble(Bid+(StopLoss-schag)*_Point,_Digits),
NormalizeDouble(Bid-(TakeProfit+schag)*_Point,_Digits),MagicSell ;)// Ouvrir SellStop
Print (GetLastError()) ; // Message d'erreur
}
//+------------------------------------------------------------------+

Tout est simple, aucune complexité. Je comprends qu'il faille payer pour toutes sortes d'artifices, personne n'inventera de super stratégies et de super codes gratuitement. Je veux tester le travail dans cette direction pour le moment et demander de faire un simple retrait, rien de plus...la seule chose est, si ce n'est pas trop long et pas trop difficile, vous pourriez ajouter un paramètre - la distance entre le bouchon, alors ce serait parfait. Mais je comprends que tout ce travail et le temps...donc au moins le retrait. Merci !

Discover new MetaTrader 5 opportunities with MQL5 community and services
Discover new MetaTrader 5 opportunities with MQL5 community and services
  • 2022.04.13
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 
C'est ce qui est sorti. J'espère que cela vous aidera à tester l'opération.
Dossiers :
Pending.mq4  10 kb
 
Yuriy Bykov #:
C'est ce que nous avons obtenu. J'espère que cela vous aidera à tester l'opération.

S'il vous plaît conseiller, et plus 10 ici :

double minOpenPriceBuy = 1e+10 ;
double maxOpenPriceBuy = 0 ;
double minOpenPriceSell = 1e+10 ;
double maxOpenPriceSell = 0 ;

, c'est la dizaine que extern int delta = 10 ;

 

Non, c'est une forme différente d'écrire le nombre 10000000000, donc vous n'avez pas à l'écrire de cette façon.

double minOpenPriceBuy = 10000000000;

...