Stratégie de capture de tendance de cassure horizontale


Date de création: 2024-04-26 15:22:06 Dernière modification: 2024-04-26 15:22:06
Copier: 4 Nombre de clics: 627
1
Suivre
1617
Abonnés

Stratégie de capture de tendance de cassure horizontale

Aperçu

La stratégie utilise les lignes horizontales comme points de support et de résistance, qui génèrent un signal de transaction lorsque le prix franchit la ligne horizontale. L’idée principale est la suivante: d’abord, tracer une ligne horizontale en fonction de certaines conditions.

Principe de stratégie

  1. Si le prix minimum de la première ligne K est supérieur au prix de clôture actuel, tracez une ligne horizontale de 20 lignes à la position du prix minimum de la première ligne K et ne conservez que les 10 dernières lignes.
  2. Si le prix actuel a franchi la dernière ligne horizontale vers le haut, il doit annuler toutes les commandes précédentes et recommencer.
  3. Quand on dessine une nouvelle ligne horizontale, si on est en position, on doit d’abord la faire tomber, puis en faire plus.

Avantages stratégiques

  1. La logique de la stratégie est simple et claire, facile à comprendre et à mettre en œuvre.
  2. Les signaux sont générés par la rupture de la résistance soutenue par la ligne horizontale, ce qui permet de mieux saisir la tendance.
  3. Lorsqu’une nouvelle ligne horizontale est créée, les positions précédentes sont effacées avant d’être ouvertes, ce qui permet de réduire les risques que peuvent entraîner les positions précédentes.
  4. La stratégie peut être optimisée en ajustant la longueur et le nombre de lignes horizontales.

Risque stratégique

  1. Dans le cas d’une situation de choc, des ruptures fréquentes de la ligne horizontale peuvent entraîner des transactions excessives, entraînant ainsi des points de glissement et des frais de traitement plus importants.
  2. La stratégie est simple pour la définition d’une ligne horizontale et le manque de vérification d’autres indicateurs peut générer des signaux erronés.
  3. Il n’y a pas de place pour la baisse des prix si vous ne faites pas d’efforts supplémentaires.

Orientation de l’optimisation de la stratégie

  1. L’efficacité de la ligne horizontale peut être confirmée par d’autres indicateurs, tels que les variations de la circulation, afin de réduire les signaux erronés.
  2. Pour les tremblements de terre, la fréquence des transactions peut être réduite en augmentant la fréquence des ruptures de la ligne horizontale.
  3. Les investisseurs qui ont participé à la dépréciation peuvent également profiter de la baisse.
  4. La longueur et le nombre de lignes horizontales peuvent être ajustés dynamiquement pour s’adapter à différentes situations.

Résumer

La stratégie utilise la ligne horizontale comme un important point de résistance de soutien, générant un signal de négociation en franchissant la ligne horizontale. L’avantage est que la logique est simple, facile à mettre en œuvre et permet de mieux capturer la tendance.

Code source de la stratégie
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Traderxprox

//@version=5
strategy("Alarm Trader_ALL", overlay=true)

// Yatay çizgi oluşum
yatayc = low[1] > close[0]

if yatayc
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(low[1], "#.##") + "\n" + timeframe.period +"\n Yatay Direnç Oluştu")


//YATAY ÇİZGİ
int cizgilen = input.int(20, "Çizgi uzunluğu?", group = "Yatay Çizgi Ayarları")
var array<line> lines = array.new<line>()
int numberOfLines = input.int(10, "Son Kaç Çizgi?", 0, group = "Yatay Çizgi Ayarları")
kural22 = low[1] > close[0]
// if kural22
//     newLine = line.new(bar_index-2, low[1], bar_index+cizgilen, low[1] ,color=color.red, width=1, style=line.style_solid)
//     // Push the `newLine` into the `lines` array.
//     lines.push(newLine)
//     // Delete the oldest line when the size of the array exceeds the specified `numberOfLines`.
//     if array.size(lines) > numberOfLines
//         line.delete(lines.shift())
    
// Alarm kırılım için koşul

var float lastLinePrice = na
if not na(close) and array.size(lines) > 0 
    lastLinePrice := line.get_price(array.get(lines, array.size(lines) - 1), bar_index)
if open < lastLinePrice and close > lastLinePrice
    if strategy.opentrades > 0
        strategy.close("AL", comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")
    else
        strategy.entry("AL", strategy.long, comment = "Fiyat:" + str.tostring(lastLinePrice, "#.##") + "\n" + timeframe.period +" \n Yatay çizgi yukarı kırılımı")