
La stratégie de pourcentage de retournement à haute fréquence pour suivre la dynamique est une stratégie de négociation à haute fréquence basée sur les moyennes mobiles adaptables Kaufman (KAMA). La stratégie utilise l’indicateur KAMA comme référence principale sur un délai d’une heure et se négocie sur un délai plus court (par exemple 15 minutes). L’idée centrale de la stratégie est de renverser rapidement les positions en surplus lorsque le prix traverse la ligne KAMA, tout en fixant un objectif de profit de 1% pour verrouiller des bénéfices mineurs mais fréquents.
Le cœur de la stratégie est d’utiliser la ligne KAMA pour capturer les tendances à court terme et s’adapter aux fluctuations du marché en inversant fréquemment les positions. Un objectif de profit de 1% assure un profit de verrouillage rapide et réduit le temps de tenue de position et le risque potentiel.
Caractéristiques du trading à haute fréquence: la stratégie permet de capturer les fluctuations du marché à court terme, augmentant la fréquence des transactions et les opportunités de profit potentielles.
Contrôle des risques: en fixant un objectif de rendement de 1%, la stratégie permet de verrouiller rapidement de petits bénéfices et de réduire l’exposition au risque d’une seule transaction.
Adaptabilité: L’indicateur KAMA est auto-adaptatif, ce qui lui permet d’ajuster sa sensibilité aux différentes conditions du marché et d’améliorer l’adaptabilité de la stratégie.
Efficacité des fonds: la stratégie utilise 90% du solde du compte comme taille de position, ce qui permet de tirer le meilleur parti des fonds disponibles.
Contrôle du drawdown: les petits gains fréquents aident à contrôler les retraits maximaux, ce qui rend la stratégie plus stable.
Potentiel de levier: Avec un drawdown plus faible, la stratégie a le potentiel d’utiliser un levier plus élevé pour maximiser les gains.
L’automatisation complète: la logique de la stratégie est claire, il est facile de réaliser des transactions entièrement automatisées, réduisant l’intervention humaine.
Surtrades: Les retournements à haute fréquence peuvent entraîner des surtrades, augmenter les coûts de transaction et la perte de points de glissement.
Les marchés oscillants sont défavorables: dans les marchés oscillants horizontaux, les retournements fréquents peuvent entraîner une accumulation de petites pertes consécutives.
Manque de tendance: un objectif de profit de 1% peut conduire à une liquidation prématurée dans un marché en forte tendance et à la perte d’opportunités de profit plus importantes.
Risque de fausse rupture: des passages fréquents de prix à proximité de la ligne KAMA peuvent déclencher plusieurs fausses ruptures.
Risques de gestion des fonds: l’utilisation de 90% du solde du compte comme position risque d’éroder rapidement les fonds en cas de pertes consécutives.
Limitation d’applicabilité: la stratégie peut être utilisée uniquement dans les marchés à forte volatilité et ne fonctionne pas bien dans les marchés à faible volatilité.
La dépendance technique: la stratégie est fortement tributaire de l’indicateur KAMA, dont la défaillance peut entraîner de graves pertes.
Stop dynamique: envisagez de modifier l’objectif de profit fixe de 1% en stop dynamique basé sur l’ATR ou la volatilité pour s’adapter à différentes conditions de marché.
Filtrage des entrées: conditions de filtrage supplémentaires sont introduites (par exemple, RSI, volume des transactions) pour réduire les faux-sauts.
Évaluation de la force de la tendance: évaluer la force de la tendance avant d’ouvrir une position, ne négocier que lorsque la tendance est claire et éviter de négocier fréquemment dans les marchés en crise.
Optimisation de la gestion des positions: mise en œuvre de stratégies de gestion des positions plus flexibles, telles que l’ajustement de la taille des positions en fonction des gains et des pertes des comptes ou des fluctuations du marché.
L’analyse de plusieurs périodes: en combinaison avec l’analyse de périodes plus longues, elle améliore la précision de la direction des transactions.
La mise en place d’un mécanisme de prévention des pertes approprié pour prévenir les pertes excessives de transactions individuelles.
Optimisation des paramètres: Optimisation des paramètres de KAMA pour trouver la combinaison optimale de cycles de ligne rapide et lente.
Adaptabilité du marché: développer des mécanismes de reconnaissance de l’état du marché pour ajuster automatiquement les paramètres de la stratégie ou suspendre les transactions dans des conditions de marché différentes.
La stratégie de pourcentage de retournement à haute fréquence pour suivre la dynamique est une méthode de trading à haute fréquence innovante basée sur l’indicateur KAMA. La stratégie vise à réaliser de petits profits fréquents en capturant rapidement les changements de tendance à court terme et en définissant des objectifs de profit fixes.
La stratégie a le potentiel d’améliorer encore sa performance et sa stabilité par l’optimisation des conditions d’entrée, l’introduction de stop-loss dynamiques et l’amélioration de la gestion des positions. Cependant, les traders doivent être pleinement conscients des risques associés à l’utilisation de cette stratégie et s’y adapter en fonction de leurs préférences personnelles en matière de risque et des conditions du marché.
/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// indicator('TeeLek Flip 1 Percent', shorttitle='TeeLek Flip 1 Percent', overlay=true)
strategy("TeeLek Flip 1 Percent", shorttitle="TeeLek Flip 1 Percent", overlay=true)
// ----------------------------------------
// Input
// ----------------------------------------
BALANCE_USDT = input.float(1000, title="Start Balance (USDT)", minval=100)
PERCENT_POSITION_SIZE = input.float(90, title="Position Size (%USDT)", minval=1, maxval=100)
PERCENT_TAKE_PROFIT = input.float(10, title="Take Profit (%)", minval=0.1, maxval=100)
// KAMA Setup
KAMA_PERIOD = int(10)
KMA_FAST_LEN = input.int(5, "KMA Fast Legnth", minval=1,group="KAMA Setup")
KMA_SLOW_LEN = input.int(50, "KMA Slow Legnth", minval=1,group="KAMA Setup")
// ----------------------------------------
// Function
// ----------------------------------------
pine_kama(source) =>
price_change = math.abs(source - source[KAMA_PERIOD])
sum_price_change = math.sum(math.abs(source - source[1]), KAMA_PERIOD)
fastest = 2/(KMA_FAST_LEN + 1)
slowest = 2/(KMA_SLOW_LEN + 1)
ER = price_change / sum_price_change
SC = math.pow((ER * (fastest-slowest) + slowest), 2)
alpha = SC
sum = 0.0
sum := na(sum[1]) ? source : sum[1] + SC * (source - nz(sum[1]))
// ----------------------------------------
// Variable
// ----------------------------------------
var CurrentBalance_USDT = float(0)
var Accom_USDT = float(0)
var PositionSize_USDT = float(0)
var PositionSize_BTC = float(0)
var PositionTarget_USDT = float(0)
var TargetPrice = float(0)
var Long_BTC = float(0)
var Long_AvgPrice = float(0)
var Short_BTC = float(0)
var Short_AvgPrice = float(0)
var Long_Profit = float(0)
var Short_Profit = float(0)
// เริ่มต้นจากจำนวน Balanace ที่กำหนดมาให้
if CurrentBalance_USDT==0
CurrentBalance_USDT:=BALANCE_USDT
// ----------------------------------------
// Signal
// ----------------------------------------
// kama line
kama_1h = request.security(syminfo.tickerid, "60",pine_kama(close))
// ----------------------------------------
// Strategy Preparing
// ----------------------------------------
// คำนวณ Position Size เตรียมเอาไว้
PositionSize_USDT:=CurrentBalance_USDT*PERCENT_POSITION_SIZE/100
PositionSize_BTC:=PositionSize_USDT/close
// คำนวณหามูลค่าเป้าหมาย ถ้าถึงก็จะขายเลย
PositionTarget_USDT:=CurrentBalance_USDT+(CurrentBalance_USDT*PERCENT_TAKE_PROFIT/100)
// ถ้ายังไม่ได้เปิด Order // ให้รอ ราคาตัดเส้น KAMA 1H ก่อน
if Long_BTC==0 and Short_BTC==0
// ตัดขึ้น ให้ซื้อขึ้น Long
if close>kama_1h and close[1]<=kama_1h[1]
strategy.entry("L", strategy.long)
Long_BTC:=PositionSize_BTC
Long_AvgPrice:=close
// ตัดลง ให้ซื้อลง Short
else if close<kama_1h and close[1]>=kama_1h[1]
strategy.entry("S", strategy.short)
Short_BTC:=PositionSize_BTC
Short_AvgPrice:=close
// ----------------------------------------
// Strategy Switch Side
// ----------------------------------------
// ถ้าเปิด Long อยู่
if Long_BTC>0
// ถ้าตัดลง ให้ปิด Long แล้วซื้อลง Short
if close<kama_1h and close[1]>=kama_1h[1]
strategy.close_all("X")
strategy.entry("S", strategy.short)
Accom_USDT:=Accom_USDT+(close*Long_BTC)-(Long_AvgPrice*Long_BTC)
Long_AvgPrice:=0
Long_BTC:=0
Short_AvgPrice:=close
Short_BTC:=PositionSize_BTC
// ถ้าเปิด Short อยู่
if Short_BTC>0
// ตัดขึ้น ให้ปิด Short แล้วซื้อขึ้น Long
if close>kama_1h and close[1]<=kama_1h[1]
strategy.close_all("X")
strategy.entry("L", strategy.long)
Accom_USDT:=Accom_USDT+(Short_AvgPrice*Short_BTC)-(close*Short_BTC)
Short_AvgPrice:=0
Short_BTC:=0
Long_AvgPrice:=close
Long_BTC:=PositionSize_BTC
// ----------------------------------------
// Strategy Take Profit
// ----------------------------------------
// ถ้าเปิด Long อยู่
if Long_BTC>0
// คำนวณหาราคา Target price
TargetPrice:=(PositionTarget_USDT+(Long_AvgPrice*Long_BTC)-(CurrentBalance_USDT+Accom_USDT))/Long_BTC
// ถ้าราคามากกว่าราคาเป้าหมายก็ปิดทำกำไรได้เลย
if close>=TargetPrice
strategy.close_all("Take Profit")
// เก็บกำไรเป็นทุน ไปเริ่มรอบใหม่
CurrentBalance_USDT:=CurrentBalance_USDT+(close*Long_BTC)-(Long_AvgPrice*Long_BTC)
Long_BTC:=0
Long_AvgPrice:=0
Accom_USDT:=0
// ถ้าเปิด Short อยู่
if Short_BTC>0
// คำนวณหาราคา Target price
TargetPrice:=((CurrentBalance_USDT+Accom_USDT)+(Short_AvgPrice*Short_BTC)-PositionTarget_USDT)/Short_BTC
// ถ้าราคามากกว่าราคาเป้าหมายก็ปิดทำกำไรได้เลย
if close<=TargetPrice
strategy.close_all("Take Profit")
// เก็บกำไรเป็นทุน ไปเริ่มรอบใหม่
CurrentBalance_USDT:=CurrentBalance_USDT+(Short_AvgPrice*Short_BTC)-(close*Short_BTC)
Short_BTC:=0
Short_AvgPrice:=0
Accom_USDT:=0
// ----------------------------------------
// Draw
// ----------------------------------------
// KAMA
plot(kama_1h,"KAMA 1H", #f18a23 , linewidth = 2)
// ----------------------------------------
// Alert
// ----------------------------------------
// ----------------------------------------
// Info Table
// ----------------------------------------