Stratégie quantitative basée sur le pivot de Kamachira et les bandes de Bollinger


Date de création: 2024-02-05 14:23:59 Dernière modification: 2024-02-05 14:23:59
Copier: 0 Nombre de clics: 964
1
Suivre
1617
Abonnés

Stratégie quantitative basée sur le pivot de Kamachira et les bandes de Bollinger

Aperçu

La stratégie calcule d’abord l’axe de Camachilla sur la base du prix le plus élevé, le prix le plus bas et le prix de clôture du jour de négociation précédent. Ensuite, elle filtre les prix en combinaison avec l’indicateur de la bande de Brin, générant un signal de transaction lorsque les prix franchissent l’axe.

Principe de stratégie

  1. Calculer le prix le plus élevé, le prix le plus bas et le prix de clôture du jour précédent
  2. Calculer l’axe de Camachira selon la formule H4, H3, H2 et H1 et L1, L2, L3 et L4
  3. Calcul du 20e jour: Brin sur et en bas de la voie
  4. Faire plus quand le prix monte et fait moins quand il descend
  5. Le point d’arrêt est situé à proximité de la bande de Bryn sur ou en dessous de la voie

Analyse des avantages

  1. L’axe de Camachilla contient plusieurs points de résistance de soutien clés pour améliorer la fiabilité des signaux de transaction
  2. Combiné à l’indicateur de la ceinture de Brin, il permet de filtrer efficacement les fausses percées.
  3. Plus de portfolios, plus de flexibilité de négociation

Analyse des risques

  1. Une mauvaise configuration des paramètres de l’indicateur de la ceinture de Brin peut entraîner une erreur de signal de transaction
  2. Le calcul des points critiques de l’axe de Camachilla dépend du prix du jour précédent et peut être influencé par des sauts de nuit
  3. Les opérations à plusieurs têtes sont risquées.

Direction d’optimisation

  1. Optimiser les paramètres de la bande de Bryn pour trouver la meilleure combinaison de paramètres
  2. Combiné à d’autres indicateurs de filtrage de faux signaux de rupture
  3. Augmentation des stratégies de stop loss et réduction des pertes individuelles

Résumer

La stratégie utilise l’axe de la camomille et l’indicateur de la ceinture de Brin pour générer des signaux de négociation lorsque le prix franchit les points de résistance de soutien critique. La rentabilité et la stabilité de la stratégie peuvent être améliorées par l’optimisation des paramètres et le filtrage des signaux.

Code source de la stratégie
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/05/2020
// Camarilla pivot point formula is the refined form of existing classic pivot point formula. 
// The Camarilla method was developed by Nick Stott who was a very successful bond trader. 
// What makes it better is the use of Fibonacci numbers in calculation of levels.
//
// Camarilla equations are used to calculate intraday support and resistance levels using 
// the previous days volatility spread. Camarilla equations take previous day’s high, low and 
// close as input and generates 8 levels of intraday support and resistance based on pivot points. 
// There are 4 levels above pivot point and 4 levels below pivot points. The most important levels 
// are L3 L4 and H3 H4. H3 and L3 are the levels to go against the trend with stop loss around H4 or L4 . 
// While L4 and H4 are considered as breakout levels when these levels are breached its time to 
// trade with the trend.
//
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Camarilla Pivot Points V2 Backtest", shorttitle="CPP V2", overlay = true)
res = input(title="Resolution", type=input.resolution, defval="D")
width = input(1, minval=1)
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3", "R4"])
BuyFrom = input(title="Buu from ", defval="S1", options=["S1", "S2", "S3", "S4"])
reverse = input(false, title="Trade reverse")
xHigh  = security(syminfo.tickerid,res, high)
xLow   = security(syminfo.tickerid,res, low)
xClose = security(syminfo.tickerid,res, close)
H4 = (0.55*(xHigh-xLow)) + xClose
H3 = (0.275*(xHigh-xLow)) + xClose
H2 = (0.183*(xHigh-xLow)) + xClose
H1 = (0.0916*(xHigh-xLow)) + xClose
L1 = xClose - (0.0916*(xHigh-xLow))
L2 = xClose - (0.183*(xHigh-xLow))
L3 = xClose - (0.275*(xHigh-xLow))
L4 = xClose - (0.55*(xHigh-xLow))
pos = 0
S = iff(BuyFrom == "S1", H1, 
      iff(BuyFrom == "S2", H2,
       iff(BuyFrom == "S3", H3,
         iff(BuyFrom == "S4", H4,0))))
B = iff(SellFrom == "R1", L1, 
      iff(SellFrom == "R2", L2,
       iff(SellFrom == "R3", L3,
         iff(SellFrom == "R4", L4,0))))
pos := iff(close > B, 1,
       iff(close < S, -1, nz(pos[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 )