Stratégie d'entrée à long terme de KDJ Golden Cross

Auteur:ChaoZhang est là., Date: 2024-02-01 10:28:12 Je suis désolé.
Les étiquettes:

img

Résumé

La stratégie d'entrée longue de la Golden Cross KDJ est une stratégie de trading quantitative basée sur l'indicateur KDJ. Cette stratégie utilise principalement la croix dorée de la ligne J et de la ligne D de l'indicateur KDJ pour générer des signaux d'achat et va long lorsque la ligne J traverse au-dessus de la ligne D. La stratégie est relativement simple et facile à mettre en œuvre, adaptée aux débutants du trading quantitatif.

La logique de la stratégie

L'indicateur technique principal utilisé dans cette stratégie est l'indicateur KDJ, composé de la ligne K, de la ligne D et de la ligne J, où:

K = (close actuelle - plus bas niveau au cours des N derniers jours) ÷ (plus haut niveau au cours des N derniers jours - plus bas niveau au cours des N derniers jours) x 100;

D = moyenne mobile de K sur M jours;

J = 3K - 2D

Conformément aux règles de l'indicateur KDJ, lorsque la ligne J traverse la ligne D, elle indique que les prix s'inversent vers le haut et que des positions longues peuvent être prises; lorsque la ligne J tombe en dessous de la ligne D, elle indique que les prix s'inversent vers le bas et que des positions courtes peuvent être engagées.

Cette stratégie utilise les règles ci-dessus et génère des signaux d'achat lorsque la ligne J traverse au-dessus de la ligne D, c'est-à-dire qu'une croix dorée se forme, pour aller long.

Les avantages

  1. Utilisation de l'indicateur KDJ pour déterminer le calendrier d'entrée qui intègre des mouvements de prix à la hausse et à la baisse, ce qui rend plus fiable.

  2. La stratégie comporte des règles de signalisation claires et simples, faciles à comprendre et à mettre en œuvre, adaptées aux débutants.

  3. Il a adopté le stop profit et le stop loss pour contrôler efficacement les risques.

  4. Une large marge d'optimisation des paramètres et une mise en œuvre flexible.

Les risques

  1. L'indicateur KDJ a tendance à générer de faux signaux conduisant à des pertes.

  2. Les ajustements à court terme du marché après l'achat peuvent déclencher une sortie stop-loss et manquer les tendances majeures.

  3. Des paramètres mal réglés peuvent entraîner un suréchange ou des signaux peu clairs.

  4. Il faut tenir compte de l'impact des coûts de transaction sur la rentabilité globale.

Principales méthodes de gestion des risques: optimiser correctement les paramètres, suivre les indices pour les améliorer, élargir de manière appropriée la plage de stop loss, etc.

Directions d'optimisation

  1. Optimiser les paramètres de KDJ pour trouver les meilleures combinaisons de paramètres.

  2. Ajouter des conditions de filtrage pour éviter les faux signaux.

  3. Peut choisir différents paramètres en fonction des types de marché (marchés haussiers ou baissiers).

  4. Peut élargir de manière appropriée la plage de stop loss pour réduire la probabilité de sorties de stop loss.

  5. Peut combiner le volume des transactions et d'autres indicateurs pour l'analyse afin d'éviter d'être pris au piège.

Résumé

La stratégie KDJ Golden Cross Long Entry est relativement simple et pratique dans l'ensemble, facile à démarrer et à mettre en œuvre pour les débutants. La stratégie présente certains avantages commerciaux mais comporte également certains risques. Elle nécessite une optimisation ciblée afin de réaliser pleinement la valeur de la stratégie.


/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//  ## !<------------------ Script --------------------------> 
//@version=5
strategy('KDJ NVDA', shorttitle='KDJ')

ilong = input(9, title='period')
isig = input(3, title='signal')

bcwsma(s, l, m) =>
    _bcwsma = float(na)
    _s = s
    _l = l
    _m = m
    _bcwsma := (_m * _s + (_l - _m) * nz(_bcwsma[1])) / _l
    _bcwsma

// profit strategy add
profit_m = input.float(1.20,"Profit Margin",minval=1.0,maxval=1.99,step=0.05)
stop_m = input.float(0.98,"Stop Loss Margin",minval=0.0,maxval=1,step=0.05)

// Make input options that configure backtest date range
startDate = input.int(title="Start Date", defval=1, minval=1,maxval=31)
startMonth = input.int(title="Start Month", defval=1,minval=1,maxval=12)
startYear = input.int(title="Start Year", defval=2023,minval=2018,maxval=2024)
endDate = input.int(title="End Date", defval=1, minval=1,maxval=31)
endMonth = input.int(title="End Month", defval=1,minval=1,maxval=12)
endYear = input.int(title="End Year", defval=2024,minval=2018,maxval=2099)

// intialization of variables
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

c = close
h = ta.highest(high, ilong)
l = ta.lowest(low, ilong)
RSV = 100 * ((c - l) / (h - l))
pK = bcwsma(RSV, isig, 1)
pD = bcwsma(pK, isig, 1)
pJ = 3 * pK - 2 * pD
KDJ = math.avg(pD, pJ, pK)

go_long= ta.crossunder(pD,pJ)


if (inDateRange and go_long)
    strategy.entry("S",strategy.long,comment="C")
	// strategy.exit("S", limit=c*profit_m, stop=c*stop_m, comment="SL/SP")
	
if (inDateRange and pJ > 100)
	strategy.close("S", comment="TP")
	
// Plot options
// plot(pK, color= #1E88E5)
// plot(pD, color=#FF6F00)
// plot(ma, color=color.yellow)
// bgcolor(pJ>pD? color.green : color.red)

plot(pK, title='% K', color=color.new(color.orange, 0))
plot(pD, title='% D', color=color.new(color.lime, 0))
plot(pJ, title='% J', color=color.new(color.fuchsia, 0))
plot(KDJ, title='KDJ', color=color.new(color.white, 0))
// </PINE> </SCRIPT>
// ## This source code is subject to the terms of the ozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// ## !<------------------ End Script --------------------------> 


Plus de