Stratégies d'achat et de vente basées sur les cours de clôture de la ligne K


Date de création: 2024-01-08 11:11:18 Dernière modification: 2024-01-08 11:11:18
Copier: 2 Nombre de clics: 1039
1
Suivre
1617
Abonnés

Stratégies d’achat et de vente basées sur les cours de clôture de la ligne K

Aperçu

La stratégie consiste à comparer le prix de clôture de la ligne K actuelle et de la ligne K précédente pour déterminer si un signal d’achat ou de vente est déclenché.

En particulier, un signal d’achat est déclenché si le prix de clôture de la ligne K actuelle est supérieur au prix le plus élevé de la ligne K précédente; un signal de vente est déclenché si le prix de clôture de la ligne K actuelle est inférieur au prix le plus bas de la ligne K précédente.

Principe de stratégie

  1. Obtenir les prix historiques les plus élevés et les plus bas d’une période donnée (par exemple, le jour, l’heure, etc.)
  2. Calcul de la distance d’arrêt et de la distance d’arrêt
    • La distance de stop-loss = le prix le plus élevé de la ligne K la plus basse de la ligne K la plus haute
    • Distance d’arrêt = Distance d’arrêt * 3 (défini comme un rapport d’arrêt à 1:3)
  3. Déterminer le rapport entre le prix de clôture de la ligne K actuelle et le prix le plus élevé et le prix le plus bas de la ligne K précédente
    • Si le prix de clôture actuel est supérieur au prix le plus élevé de la ligne K, un signal de vente est déclenché.
    • Si le prix de clôture actuel est inférieur au prix le plus bas de la ligne K, un signal de vente est déclenché.
  4. Arrêt de perte et arrêt après l’entrée
    • Après l’achat, le stop loss est réglé sur le prix le plus bas de la ligne K précédente - distance de stop loss, le stop loss est le prix le plus élevé de la ligne K précédente + distance de stop loss
    • Après la vente, le stop loss est le prix le plus élevé de la ligne K précédente + la distance de stop loss, le stop loss est le prix le plus bas de la ligne K précédente - la distance de stop loss

C’est la logique de base de cette stratégie.

Analyse des avantages

  • La stratégie est claire, simple et facile à comprendre.
  • Utiliser les informations de la ligne K pour déterminer la direction de la tendance
  • Résistance à la corrosion

Analyse des risques

  • Un jugement sur la forme de la ligne K sur une seule période peut produire plus de faux signaux.
  • Il n’y a pas d’autres facteurs pris en compte, comme les variations du volume des transactions, la volatilité, etc.
  • Les freins anti-destruction peuvent être mal réglés, les distances trop grandes ou trop petites sont dangereuses

Direction d’optimisation

  • Les signaux d’entrée sont confirmés par d’autres facteurs, tels que le volume des transactions, la moyenne, etc.
  • Optimiser les algorithmes de stop-loss pour rendre le stop-loss plus raisonnable et plus complet
  • Les paramètres de différentes variétés peuvent nécessiter des ajustements
  • On peut tester des cycles plus longs.

Résumer

L’idée générale de la stratégie est simple et claire. L’utilisation de l’information sur le prix de clôture de la ligne K pour déterminer la direction de la tendance, tout en définissant le risque de contrôle de stop-loss, peut être utilisée comme stratégie de base pour le trading d’actions et de monnaies numériques. Cependant, la forme de la ligne K sur une seule période de temps est susceptible de générer de faux signaux.

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

//@version=5
strategy("Buy/Sell on Candle Close", overlay=true)

var float prevLowest = na
var float prevHighest = na
var float slDistance = na
var float tpDistance = na

// Specify the desired timeframe here (e.g., "D" for daily, "H" for hourly, etc.)
timeframe = "D"

// Fetching historical data for the specified timeframe
pastLow = request.security(syminfo.tickerid, timeframe, low, lookahead=barmerge.lookahead_on)
pastHigh = request.security(syminfo.tickerid, timeframe, high, lookahead=barmerge.lookahead_on)

if bar_index > 0
    prevLowest := pastLow[1]
    prevHighest := pastHigh[1]

currentClose = close

if not na(prevLowest) and not na(prevHighest)
    slDistance := prevHighest - prevLowest
    tpDistance := 3 * slDistance // Adjusted for 1:3 risk-reward ratio

// Buy trigger when current close is higher than previous highest
if not na(prevLowest) and not na(prevHighest) and currentClose > prevHighest
    strategy.entry("Buy", strategy.long)
    strategy.exit("Buy TP/SL", "Buy", stop=prevLowest - slDistance, limit=prevHighest + tpDistance)

// Sell trigger when current close is lower than previous lowest
if not na(prevLowest) and not na(prevHighest) and currentClose < prevLowest
    strategy.entry("Sell", strategy.short)
    strategy.exit("Sell TP/SL", "Sell", stop=prevHighest + slDistance, limit=prevLowest - tpDistance)

plot(prevLowest, color=color.blue, title="Previous Lowest")
plot(prevHighest, color=color.red, title="Previous Highest")