Stratégie de prix de clôture de Harami

Auteur:ChaoZhang est là., Date: 2023-11-28 16h50:34 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de prix de clôture Harami est une stratégie de trading quantitative basée sur des modèles de bougies.

La logique de la stratégie

La logique de base est la suivante: lorsque le chandelier actuel est une bougie rouge et que le précédent est une bougie verte, et que le prix le plus bas de la bougie actuelle est supérieur au prix le plus bas de la bougie précédente, le prix le plus élevé de la bougie actuelle est inférieur au prix le plus élevé de la bougie précédente, le modèle Harami est formé. Cela signifie que l'élan de la tendance haussière perd de la force et qu'il est un signal de vente.

La moyenne du corps de la bougie est utilisée comme ligne de stop loss.

Analyse des avantages

Les principaux avantages de la stratégie de prix de clôture Harami sont les suivants:

  1. Un jugement simple et raisonnable basé sur des modèles de chandeliers, facile à comprendre et à mettre en œuvre.
  2. Lorsque la fourchette ascendante se rétrécit pour former un motif Harami, l'élan haussier perd de sa force et c'est un bon point de vente.
  3. Il existe un mécanisme d'arrêt des pertes clair pour contrôler les risques.

Analyse des risques

Cette stratégie comporte également certains risques:

  1. Faible fréquence de surveillance, peut manquer les meilleurs points d'entrée et de sortie.
  2. Les fausses bougies haussières/baissières peuvent générer de mauvais signaux.
  3. Les jugements sont basés uniquement sur des modèles de chandeliers sans tenir compte d'autres indicateurs techniques et fondamentaux, ce qui conduit à une certaine cécité.

Pour atténuer ces risques, il est recommandé de combiner avec le volume des transactions, les moyennes mobiles et d'autres indicateurs techniques, afin de faire des jugements plus complets sur les tendances du marché.

Directions d'optimisation

La stratégie de prix de clôture de Harami peut également être améliorée par les aspects suivants:

  1. L'augmentation du volume des transactions entraîne souvent un renversement de tendance.
  2. Adaptation dynamique des critères de stop loss en fonction de la volatilité du marché et de la préférence pour le risque.
  3. Identifier les points de vente près des niveaux de support clés sur des délais plus longs lorsque des modèles Harami se forment.
  4. Combinaison d'autres indicateurs techniques tels que les moyennes mobiles pour déterminer les tendances globales du marché ou les indicateurs principaux pour prévoir les points d'entrée et de sortie.

Résumé

La stratégie de prix de clôture Harami est facile à comprendre et à mettre en œuvre pour générer certains signaux d'achat et de vente basés sur des modèles de bougies. Mais elle présente également certaines limitations telles que la génération de faux signaux et la cécité. Ces problèmes indiquent également des directions pour d'autres optimisations, en appliquant des jugements plus complets avec des volumes de trading, plusieurs délais et autres indicateurs techniques. Cela peut grandement améliorer l'efficacité de la stratégie.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Harami Strategy v1.0", shorttitle = "Harami str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Body
body = abs(close - open)
abody = sma(body, 10)

//MinMax Bars
min = min(close, open)
max = max(close, open)
bar = close > open ? 1 : close < open ? -1 : 0

//Signals
up = bar == 1 and bar[1] == -1 and min > min[1] and max < max[1]
dn = bar == -1 and bar[1] == 1 and min > min[1] and max < max[1]
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body > abody / 2

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

Plus de