ハラミ逆転戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-11 16:26:57
タグ:

この戦略は,上昇傾向の逆転取引の値のパターンを識別する.特に,長信号は,次の場合生成される.

  1. 現在のキャンドルは,大きな前の下落体に覆われている小さな体を持っています.
  2. 現在のキャンドルボディの色は,以前のキャンドルの反対です
  3. 現在のキャンドルは,前のキャンドルのより高くなって開きます.
  4. 現在のキャンドルは,以前のキャンドルよりも小さい.

これらの条件が満たされた場合,それは上昇逆転の勢いを意味し,この時点でロングエントリーが取られます.ストップ損失と利益の出口はエントリー後に設定されます.

この戦略の利点は,反転点を視覚的に識別するために古典的なキャンドルスタイクパターンを使用することです.しかし,いくつかの制限があります.

  1. ハラミが上昇し 逆転する危険性もある
  2. ろうそくのパターンを正確に識別する難しさ,最適化が必要です
  3. 遅い信号,入力のタイミングが悪い
  4. バックテスト曲線のフィッティングリスクは高い

全体的に見ると,上昇型ハラミ逆転戦略はトレンド分析の基準として役立つが,ライブ取引では慎重に適用されるべきである.パラメータは緩和され,パターンの検証のための他の指標と組み合わせられるべきである.また,厳格なリスク管理は,この戦略を成功裏に実施する鍵である.


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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/01/2019
//    This is a bullish reversal pattern formed by two candlesticks in which a small 
//    real body is contained within the prior session's unusually large real body.
//    Usually the second real body is the opposite color of the first real body. 
//    The Harami pattern is the reverse of the Engulfing pattern. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Bullish Harami Backtest", overlay = true)
input_takeprofit = input(60, title="Take Profit pip")
input_stoploss = input(18, title="Stop Loss pip")
input_minsizebody = input(1, title="Min. Size Body pip", step = 0.01)
barcolor(abs(close - open) >= input_minsizebody ? open[1] > close[1] ? close > open ? close <= open[1] ? close[1] <= open ? close - open < open[1] - close[1] ? yellow :na :na : na : na : na : na)
pos = 0.0
barcolor(nz(pos[1], 0) == -1 ? red: nz(pos[1], 0) == 1 ? green : blue ) 
posprice = 0.0
posprice := abs(close - open) >= input_minsizebody? open[1] > close[1] ? close > open ? close <= open[1] ? close[1] <= open ? close - open < open[1] - close[1] ? close :nz(posprice[1], 0) :nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0): nz(posprice[1], 0)
pos := iff(posprice > 0, 1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == 1)
    strategy.entry("Long", strategy.long)
posprice := iff(low <= posprice - input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))

もっと