強気ハンマー取引戦略


作成日: 2023-09-18 15:30:15 最終変更日: 2023-09-18 15:48:15
コピー: 0 クリック数: 680
1
フォロー
1617
フォロワー

概要

この戦略は,K線多頭形線信号を識別し,MACD指数と組み合わせてトレンドの方向を判断し,株価の追跡取引を実現する.牛市では,多頭形線形が現れ,MACD背景に多頭があるとき,多入をする.MACDが空頭になった後に,平仓退場する.

戦略原則

実体線段のサイズ比率を計算し,多頭形線を決定する。MACD指数を計算し,トレンドの方向を判断する。MACDが多頭形線信号が発生した場合は,多入場する。ストップ損失とポジションのサイズを設定する。MACDが空頭になったとき,出場場平仓する。

優位分析

  • 多頭形線の識別はより簡単で明確である
  • MACDは多空のトレンド変換を有効に判断します.
  • トレンドで操作して,罠にはならないこと
  • 戦略の論理はシンプルで直接的で,実行しやすい.

リスク分析

  • 形状認識は不完全で,欠陥信号がある.
  • MACDはトレンド転換が遅れていると判断した.
  • 低周波取引は高周波取引には適さない
  • 投資の転換点が不明で,損失の危険性がある

形状認識条件を適当に緩和し,MACDパラメータを縮小し,他の指標を補助してリスクを制御する.

最適化の方向

  • 形線識別を最適化するパラメータルール
  • MACD の異なるパラメータ設定の効果をテストする
  • 他の指標と組み合わせて 傾向の逆転を考える
  • 異なる品種におけるテストパラメータの健壮性

要約する

この戦略は,形状と指標を統合してトレンド判断を行い,安定した利益を実現できる.パラメータ調整などによりさらに完善され,実用的な量化取引戦略となる.

ストラテジーソースコード
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FenixCapital

//@version=4
strategy("Starbux", overlay=true)


//VARIABLES

//Candlestick Variables
body=close-open
range=high-low
middle=(open+close)/2
abody=abs(body)
arange=abs(range)
ratio=abody/range
longcandle= (ratio>0.6)
bodytop=max(open, close)
bodybottom=min(open, close)
shadowtop=high-bodytop
shadowbottom=bodybottom-low

//Closing Variables

macd=macd(close,12,26,9)
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
//plot(macdLine, color=color.blue)
//plot(signalLine, color=color.orange)
//plot(histLine, color=color.red, style=plot.style_histogram)

rsi=rsi(close,14)

sma50= sma(close,50)
sma200= sma(close,200)

exitrsi=rsi > 76
exitmacd=macdLine >0 and signalLine>0
//exitmacd=crossunder(macdLine,signalLine)
stopprice= crossunder(sma50,sma200)

//Candlestick Plotting
blh = (arange*0.33>=abody and close>open and shadowbottom>=abody*2 and shadowtop<=arange*0.1)
plotshape(blh, title= "Bullish Hammer", location=location.belowbar, color=color.lime, style=shape.arrowup, text="Bull\nHammer")

//beh = (arange*0.25>=abody and close<open and shadowtop>=abody*2 and shadowbottom<=arange*0.05)
//plotshape(beh, title= "Bearish Hammer", color=color.orange, style=shape.arrowdown, text="Bear\nHammer")

//bpu = (open>close and close>low and shadowbottom>2*abody)
//plotshape(bpu, title= "Black Paper Umbrella", color=color.red, style=shape.arrowdown, text="Black\nPaper\nUmbrella")

//Trend Signal
bull5= sma50 > sma200
bullmacd=macdLine>=0 and signalLine>=0
bearmacd=macdLine<= 0 and signalLine<=0

//Trading Algorithm
longCondition = blh and bearmacd and volume>volume[1]

if (longCondition)
    strategy.order("Buy", true, 1, when=longCondition)
strategy.risk.max_position_size(10)
//strategy.risk.max_drawdown(25,strategy.percent_of_equity)

exitlong = exitmacd
if (exitlong)
    strategy.close_all()