Bitcoin Martingal Moving Average
- Experts
- Luis Ruben Rivera Galvez
- Version: 2.0
- Activations: 5
Send me a message so I can send you the setfile
Robot robuste avec plusieurs configurations disponibles,
À utiliser avec BTC sur une période de 10 minutes avec les paramètres de la capture d'écran ci-dessous.
Lors de l'achat du robot expert, vous avez le droit de demander des modifications pour continuer à améliorer le robot.
Caractéristiques principales
Stratégie de croisement de moyennes mobiles :
L'EA utilise deux moyennes mobiles (MA1 et MA2) pour générer des signaux de trading.
Un croisement de la MA la plus rapide (MA1) au-dessus ou en dessous de la MA la plus lente (MA2) déclenche une transaction.
Stratégie Martingale :
Si une transaction entraîne une perte, la taille du lot pour la transaction suivante est augmentée d'un multiplicateur ( martingaleMultiplier ).
La séquence de martingale se réinitialise après une transaction gagnante ou lorsque le nombre maximal d'étapes de martingale (maxMartinale) est atteint.
Gestion des risques :
Les niveaux Stop Loss (SL) et Take Profit (TP) sont configurables.
Les fonctionnalités Trailing Stop et Break Even sont incluses pour verrouiller les bénéfices et minimiser les pertes.
Limites de profit/perte quotidiennes : l'EA arrête de négocier si le profit ou la perte quotidienne dépasse les limites spécifiées.
Filtres :
Filtre de volatilité : utilise l'ATR pour garantir que les transactions ne sont effectuées que dans une plage de volatilité spécifiée.
Filtre horaire : limite les échanges à des heures et des jours spécifiques de la semaine.
Filtre de tendance : utilise ADX pour garantir que les transactions sont effectuées dans le sens de la tendance.
Filtre de volume : garantit que les transactions ne sont effectuées que si le volume de transactions atteint un seuil spécifié.
Filtre RSI : utilise le RSI pour éviter les conditions de surachat/survente.
Filtre d'actualités : espace réservé pour l'intégration d'un filtre basé sur les actualités (non implémenté dans ce script).
Gestion de l'argent :
La taille du lot peut être calculée dynamiquement en fonction d'un pourcentage du solde du compte (riskPercentage).
Fonctionnalités supplémentaires :
Fermer toutes les positions à une heure précise : permet de fermer toutes les positions à une heure précise.
Fermer toutes les positions à la fin de la journée : ferme automatiquement toutes les positions à la fin de la journée de négociation.
Distance du filtre de croisement : garantit que les transactions ne sont effectuées que si le prix se situe à une distance spécifiée du point de croisement.
Attendez le Fast MA Touch : garantit que le prix touche le MA rapide avant d'ouvrir une transaction.
Variables globales
lastTradeLot : suit la taille du lot pour la prochaine transaction (utilisée dans la stratégie martingale).
martingaleCount : suit le nombre de pertes consécutives dans la séquence de martingale.
dailyProfit et dailyLoss : suivez les profits et les pertes quotidiens.
lastTradeDay : suit le dernier jour où une transaction a été exécutée.
lastCrossTime : suit l'heure du dernier croisement de moyenne mobile.
waitForClose : un indicateur pour attendre la clôture de la transaction en cours avant d'en ouvrir une nouvelle.
Fonctions
Initialisation ( OnInit ) :
Initialise les poignées d'indicateur (MA, RSI, ATR, ADX).
Vérifie les erreurs dans la création d'indicateurs.
Filtres :
CheckVolatilityFilter() : garantit que les transactions ne sont effectuées que dans une plage de volatilité spécifiée.
CheckTimeFilter() : limite les échanges à des heures et des jours spécifiques.
CheckTrendFilter() : garantit que les transactions sont effectuées dans le sens de la tendance.
CheckVolumeFilter() : garantit que les transactions ne sont effectuées que si le volume atteint un seuil.
CheckNewsFilter() : Espace réservé pour un filtre basé sur les actualités.
CheckRSIFilter() : garantit que les transactions ne sont effectuées que si les conditions RSI sont remplies.
Gestion des risques :
CheckDailyLimits() : Vérifie si les limites de profit ou de perte quotidiennes ont été atteintes.
CheckStopLoss_Takeprofit() : Valide les niveaux SL et TP.
CheckMoneyForTrade() : garantit qu'il y a suffisamment de marge pour ouvrir une transaction.
Exécution des transactions :
OpenTrade() : Ouvre une transaction en fonction de la direction (achat/vente).
CloseCurrentTrade() : ferme la transaction en cours et met à jour la séquence martingale.
CloseAllPositions() : Ferme toutes les positions ouvertes.
Stop suiveur et seuil de rentabilité :
TrailingStop() : Ajuste le stop loss pour verrouiller les bénéfices.
CheckBreakEven() : Déplace le stop loss au point d'équilibre une fois qu'un profit spécifié est atteint.
Gestion de l'argent :
CalculateLotSize() : calcule la taille du lot en fonction du solde du compte et du pourcentage de risque.
Filtres supplémentaires :
CheckDistanceFromCross() : garantit que les transactions ne sont effectuées que si le prix se situe à une distance spécifiée du point de croisement.
CheckPriceTouchFastMA() : garantit que le prix touche la MA rapide avant d'ouvrir une transaction.
Actions basées sur le temps :
CheckCloseAllAtSpecificTime() : ferme toutes les positions à une heure spécifiée.
CheckAndClosePositionsForDailyLimits() : ferme toutes les positions si les limites de profit ou de perte quotidiennes sont atteintes.