Il s'agit d'une stratégie de trading multi-niveaux de robots de prise de profit BTC. Il entre dans des positions longues en trouvant le point le plus bas et fixe plusieurs points de prise de profit pour les sorties de lot. Il définit également un point de stop-loss pour le contrôle des risques. Cette stratégie est adaptée lorsque vous êtes haussier sur BTC.
Trouver des signaux d'entrée: Générer des signaux d'achat lorsque l'indicateur CC passe sous 0, acheter des positions longues à ce stade.
Définir le stop loss: définir le pourcentage de stop loss à travers l'entrée, convertir au niveau de prix pour le stop loss.
Définir plusieurs points de prise de profit: 4 points de sortie, définir le pourcentage de prise de profit pour chaque point à travers l'entrée, convertir en niveaux de prix.
Contrôle des risques: définition de la taille maximale de la position, définition du pourcentage de sortie pour chaque point de sortie à l'aide de l'entrée pour la dispersion des risques.
Les avantages de cette stratégie sont les suivants:
Signalement d'entrée fiable en achetant au point le plus bas, en évitant d'acheter au plus haut.
Les prises de bénéfices à plusieurs niveaux bloquent les bénéfices partiels tout en maintenant certains bénéfices en cours.
Le stop loss contrôle le risque et limite les pertes à une certaine plage.
Les sorties par lots dispersent les risques, évitant les pertes complètes en une seule fois.
Le retrait peut être contrôlé dans une certaine mesure.
Les risques de cette stratégie sont les suivants:
L'indicateur CC ne peut pas garantir pleinement le point le plus bas, peut manquer des opportunités d'achat.
Un mauvais réglage du stop loss peut entraîner un stop loss inutile.
Les sorties de lots incorrectes peuvent également entraîner une perte de bénéfices.
Il est plus difficile de réaliser des bénéfices sur des marchés diversifiés.
Il peut être difficile d'arrêter les pertes en cas de revers brusques.
Optimisations potentielles:
Optimisez les signaux d'entrée avec plus d'indicateurs ou d'apprentissage automatique pour un meilleur timing.
Optimiser la stratégie de stop loss pour la rendre plus élastique face aux mouvements du marché.
Optimiser les sorties pour une meilleure adaptation aux marchés en évolution et en tendance.
Ajoutez des arrêts pour des bénéfices plus flexibles.
Testez différents actifs pour les meilleurs ensembles de paramètres.
En résumé, il s'agit d'une stratégie de trading de BTC basée sur l'achat aux points les plus bas avec des profits multi-niveaux et un stop loss. Elle présente certains avantages et des domaines qui peuvent être améliorés.
/*backtest start: 2023-09-17 00:00:00 end: 2023-10-17 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] args: [["v_input_1",2]] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © RafaelZioni // © theCrypster 2020 //@version=4 // strategy(title = "BTC bot", overlay = true, pyramiding=1,initial_capital = 10000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075) strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"]) strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all strategy.risk.allow_entry_in(strat_dir_value) //INPUTS higherTF = input("W", type=input.resolution) pc = security(syminfo.tickerid, higherTF, close[1], lookahead=true) ph = security(syminfo.tickerid, higherTF, high[1], lookahead=true) pl = security(syminfo.tickerid, higherTF, low[1], lookahead=true) PP = 0.0,R1 = 0.0, R2 = 0.0, R3 = 0.0,S1 = 0.0, S2 = 0.0, S3 = 0.0 PP := (ph + pl + pc) / 3 R1 := PP + (PP - pl) S1 := PP - (ph - PP) R2 := PP + (ph - pl) S2 := PP - (ph - pl) factor=input(2) R3 := ph + factor * (PP - pl) S3 := pl - 2 * (ph - PP) // length=input(21) // p = close vrsi = rsi(p, length) pp=ema(vrsi,length) d=(vrsi-pp)*5 cc=(vrsi+d+pp)/2 // low1=crossover(cc,0) sell=crossover(close[1],R3) // l = low1 s=sell if l strategy.entry("buy", strategy.long) if s strategy.entry("sell", strategy.short) per(pcnt) => strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na) stoploss=input(title=" stop loss", defval=15, minval=0.01) los = per(stoploss) q1=input(title=" qty_percent1", defval=25, minval=1) q2=input(title=" qty_percent2", defval=25, minval=1) q3=input(title=" qty_percent3", defval=25, minval=1) tp1=input(title=" Take profit1", defval=3, minval=0.01) tp2=input(title=" Take profit2", defval=5, minval=0.01) tp3=input(title=" Take profit3", defval=7, minval=0.01) tp4=input(title=" Take profit4", defval=10, minval=0.01) strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los) strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los) strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los) strategy.exit("x4", profit = per(tp4), loss = los)