
Aperçu
La stratégie est un système de trading de suivi de tendance basé sur la théorie de la catégorisation des prix, qui permet d’automatiser les transactions en identifiant la catégorisation de haut en bas du marché, combinée à des conditions de déclenchement et à des paramètres d’arrêt fixes. Le cœur de la stratégie est de définir des points d’entrée multiples au-dessus de la catégorisation de bas et des points d’entrée vides au-dessous de la catégorisation de haut, tout en contrôlant le risque avec les points d’arrêt correspondants.
Principe de stratégie
La logique centrale de la stratégie comprend les étapes clés suivantes:
- Identification de la catégorie: la catégorie du sommet-dessous est identifiée en comparant les hauts et les bas de trois lignes K successives. La catégorie du bas est formée lorsque le bas de la ligne K intermédiaire est inférieur aux lignes K des deux côtés; la catégorie du sommet est formée lorsque le sommet de la ligne K intermédiaire est supérieur aux lignes K des deux côtés.
- Conditions d’entrée: après avoir identifié la catégorie inférieure, définir un prix de déclenchement multiple à 107 points au-dessus; après avoir identifié la catégorie supérieure, définir un prix de déclenchement unique à 107 points au-dessous.
- Réglage du stop: Réglage du stop avec le même nombre de points (de 107 points) sur la base du prix d’entrée après l’ouverture de la position.
- Gestion des positions: le système suit en permanence les positions les plus récentes et met à jour les prix de déclenchement d’entrée en fonction de celles-ci.
Avantages stratégiques
- Objectivité forte: la stratégie repose sur une définition mathématique claire pour identifier la structure du marché, évitant ainsi les biais de jugement subjectif.
- Risque maîtrisé: avec des paramètres de stop-loss à nombre fixe, les objectifs de profit pour chaque transaction sont clairs et le risque est maîtrisé.
- Adaptabilité: la stratégie peut fonctionner dans différents environnements de marché, particulièrement adaptée aux marchés plus volatils.
- Le niveau d’automatisation est élevé: l’ensemble du processus de transaction, de la reconnaissance des signaux à l’exécution, est automatisé, réduisant l’intervention humaine.
Risque stratégique
- Risque de fausse rupture: le marché peut se retourner immédiatement après une rupture de courte durée, ce qui entraîne un arrêt des pertes.
- Risque de marché oscillant: Dans les marchés oscillants horizontaux, la fréquence de la classification des sommets et des sommets peut entraîner un excès de signaux de négociation.
- Risque de points fixes: l’utilisation de points d’entrée et de points d’arrêt fixes peut ne pas convenir à tous les environnements de marché.
- Risque de glissement: Dans les marchés très volatils, il est possible de faire face à de graves problèmes de glissement.
Orientation de l’optimisation de la stratégie
- Optimisation du nombre de points dynamiques: le nombre de points de déclenchement d’entrée et le nombre de points d’arrêt peuvent être ajustés en fonction de la dynamique des fluctuations du marché.
- Filtrage des tendances: ajouter des indicateurs de jugement des tendances et placer des positions uniquement dans la direction de la tendance principale.
- Identification de l’environnement du marché: ajout d’un mécanisme de jugement de l’environnement du marché, avec différents paramètres de réglage dans différents états du marché.
- Optimisation de la gestion des positions: mise en place d’un système de gestion des positions dynamique, permettant d’ajuster le montant des positions ouvertes en fonction de la valeur nette du compte et du risque de marché.
Résumer
La stratégie a pour avantage d’être hautement objective et automatisée, mais il existe également un certain problème d’adaptabilité à l’environnement du marché. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées en ajoutant des mesures d’optimisation telles que l’ajustement des paramètres dynamiques et l’identification de l’environnement du marché.
Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Fractal Buy/Sell Strategy with 107 Pips Target", overlay=true)
// 输入参数
trigger_pips = input.int(107, title="Entry Distance (Pips)") // 入场点距离底分型或顶分型的距离
take_profit_pips = input.int(107, title="Take Profit (Pips)") // 止盈点数
pip_value = syminfo.mintick * 10 // 点值(每点等于多少价格单位)
// 计算分型
is_bottom_fractal = low[1] < low[2] and low[1] < low[0] // 判断是否为底分型
is_top_fractal = high[1] > high[2] and high[1] > high[0] // 判断是否为顶分型
// 存储分型位置
var float last_bottom_fractal = na
var float last_top_fractal = na
// 更新分型值
if is_bottom_fractal
last_bottom_fractal := low[1]
if is_top_fractal
last_top_fractal := high[1]
// 计算开盘价格
bottom_trigger_price = na(last_bottom_fractal) ? na : last_bottom_fractal + trigger_pips * pip_value
top_trigger_price = na(last_top_fractal) ? na : last_top_fractal - trigger_pips * pip_value
// 交易逻辑:底分型多单和顶分型空单
if not na(last_bottom_fractal)
if close <= bottom_trigger_price
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit", from_entry="Buy", limit=bottom_trigger_price + take_profit_pips * pip_value)
if not na(last_top_fractal)
if close >= top_trigger_price
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit", from_entry="Sell", limit=top_trigger_price - take_profit_pips * pip_value)
// 绘制分型和触发价格
plotshape(series=is_bottom_fractal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bottom Fractal")
plotshape(series=is_top_fractal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Top Fractal")
plot(bottom_trigger_price, title="Buy Trigger", color=color.green, linewidth=1)
plot(top_trigger_price, title="Sell Trigger", color=color.red, linewidth=1)