
La stratégie de double K est une stratégie combinant les avantages de la stratégie de revers 123 et de la stratégie de Martin Pringle K. La stratégie vise à tirer parti des avantages de la stratégie de revers et de la stratégie de cyclo-indicateur pour obtenir des signaux d’achat et de vente plus précis.
Le principe de la stratégie:
La stratégie de l’arc à double K se compose de deux parties:
Stratégie de retournement 123: Cette stratégie est basée sur les caractéristiques de l’inversion du cours de clôture des actions pendant 2 jours consécutifs, combinée à des indicateurs aléatoires pour déterminer le moment de l’achat et de la vente. Lorsqu’un cours de clôture est supérieur à celui de la veille et que l’indicateur aléatoire est inférieur à 50, il est considéré comme en phase de liquidation, générant un signal d’achat. Lorsqu’un cours de clôture est inférieur à celui de la veille et que l’indicateur aléatoire est supérieur à 50, il est considéré comme en phase d’attribution, générant un signal de vente.
Stratégie K de Martin Pringle: Cette stratégie utilise la superposition de différentes courbes de prix périodiques pour former un indicateur à cycle complet. Lorsqu’il traverse sa moyenne mobile, il génère un signal d’achat; Lorsqu’il traverse sa moyenne mobile, il génère un signal de vente.
Les stratégies de tir à la double K traitent les signaux de deux stratégies en combinaison, c’est-à-dire que les deux stratégies doivent émettre simultanément des signaux d’achat / vente pour que la transaction soit effective. Cela permet aux deux stratégies de tirer parti de leurs points de jugement respectifs et d’éviter qu’une seule stratégie ne génère de faux signaux.
Analyse des avantages:
La fusion des deux stratégies de jugement rend les signaux d’achat et de vente plus fiables et évite les erreurs de transaction.
Les stratégies inverse 123 permettent de saisir les opportunités de reprise à court terme, et la stratégie Martin Pringle K permet de déterminer les tendances à long terme, les deux étant combinées pour tenir compte à la fois du court terme et du long terme.
Utilisez une courbe de quantité et de prix à cycles multiples pour juger avec précision du rythme du marché à cycles longs.
Les paramètres de l’indicateur aléatoire peuvent être optimisés pour s’adapter aux caractéristiques des actions dans différentes situations.
Analyse des risques:
Les signaux de fusion peuvent manquer certains points d’achat et de vente et ne peuvent pas être entièrement alignés sur le marché à court terme.
Les deux signaux stratégiques peuvent ne pas être cohérents dans des circonstances extra-échantillonnées, ce qui nécessite une confirmation précise de l’orientation préférée.
Les paramètres qui nécessitent la surveillance et l’optimisation simultanées des deux stratégies sont plus difficiles à optimiser.
Une mauvaise optimisation des paramètres de l’indicateur de la période longue ou courte peut manquer le point de conversion de la période.
Les directions d’optimisation
Tester l’impact des différents paramètres sur l’efficacité de la stratégie et trouver la combinaison optimale de paramètres.
Ajout d’un module de stop-loss pour éviter l’expansion des pertes.
Ajout d’un module d’optimisation de l’ouverture des positions, afin d’ajuster les positions en fonction des conditions du marché.
Le modèle de signal d’achat et de vente est plus robuste grâce à une combinaison de méthodes d’apprentissage machine.
Ajout d’un module d’optimisation des paramètres d’adaptation pour permettre aux paramètres de stratégie de suivre dynamiquement le rythme du marché.
Résumé:
La stratégie du double K-bout a réussi à combiner les avantages de la stratégie du renversement et de la stratégie de l’indicateur cyclique, tout en garantissant la qualité du signal et en tenant compte des opportunités de profit à court et à long terme. L’idée de la stratégie est nouvelle, mérite d’être testée et optimisée davantage, et a le potentiel d’être une stratégie de stabilité.
/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 17/02/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// Pring's Special K is a cyclical indicator created by Martin Pring.
// His method combines short-term, intermediate and long-term velocity
// into one complete series. Useful tool for Long Term Investors
// Modified for any source.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
MPSK(a, sources) =>
pos = 0.0
roc1 = (sma(roc(sources,10),10)*1)
roc2 = (sma(roc(sources,15),10)*2)
roc3 = (sma(roc(sources,20),10)*3)
roc4 = (sma(roc(sources,30),15)*4)
roc5 = (sma(roc(sources,40),50)*1)
roc6 = (sma(roc(sources,65),65)*2)
roc7 = (sma(roc(sources,75),75)*3)
roc8 = (sma(roc(sources,100),100)*4)
roc9 = (sma(roc(sources,195),130)*1)
roc10 = (sma(roc(sources,265),130)*2)
roc11 = (sma(roc(sources,390),130)*3)
roc12 = (sma(roc(sources,530),195)*4)
osc = roc1+roc2+roc3+roc4+roc5+roc6+roc7+roc8+roc9+roc10+roc11+roc12
oscsmt = sma(osc,a)
pos := iff(osc > oscsmt, 1,
iff(osc < oscsmt, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Martin Pring's Special K", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Martin Pring`s ----")
a = input(10, title = "Smooth" )
sources = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMPSK = MPSK(a,sources)
pos = iff(posReversal123 == 1 and posMPSK == 1 , 1,
iff(posReversal123 == -1 and posMPSK == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1 )
strategy.entry("Long", strategy.long)
if (possig == -1 )
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )