海と空と一目均衡表の取引戦略


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

概要

この戦略は,海空と一目均衡表の指標を用いてトレンドの方向性を判断し,トレンドを追跡する.海空の平らなK線データにより騒音が軽減される.一目均衡表は,変換線,基準線など複数の信号を総合してトレンドの強さを判断する.二重指標を用いて戦略の安定性を高める.

戦略原則

海空の閉盘価格を計算し,変換線,基準線など一目平衡表の指標を図る.閉盘価格が前2日より高く,雲図の上沿線と遅延線より高くなったら多行する.閉盘価格が前2日より低く,雲図下沿線と遅延線より低くなったら空する.一目平衡表の変換線と基準線の交差も補助信号として働く.

優位分析

  • 海空フィルターによる偽突破により信号の質が向上
  • 一目平衡表 複数の指標信号が相互検証
  • 遅延線は,を防ぐため,を防止します.
  • 長期投資で利益を得られる可能性が高い

リスク分析

  • 海と空の平らさは完璧に最適化できない
  • 一見均衡表のパラメータ設定は結果に影響を及ぼした.
  • 長期にわたって保有すると,損失が拡大する可能性がある.
  • 取引頻度が低いため,ショートライン取引には適していません.

適当な調整で平滑パラメータを調整し,保有周期を短縮し,一目均衡表パラメータを最適化することでリスクを制御する.

最適化の方向

  • 異なる海空平滑パラメータをテストする
  • 一見均衡表の周期パラメータを最適化
  • 離脱後の再入場戦略を設定する
  • 異なる品種におけるテストパラメータの健壮性

要約する

この戦略は,トレンドの方向を判断する複数の指標を統合し,撤回制御能力が強い。調理などによって効果をさらに高めることができる。

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

//@version=3

strategy("Heiken Ashi + Ichimoku Kinko Hyo Strategy", shorttitle="HaI", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

hahigh = security(heikinashi(syminfo.tickerid), timeframe.period, high)
halow = security(heikinashi(syminfo.tickerid), timeframe.period, low)

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]

plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = hahigh > max(hahigh[1],hahigh[2]) and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>=KijunSen or close>KijunSen)
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = halow < min(halow[1],halow[2]) and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<=KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)

closelong = halow < min(halow[1],halow[2]) and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanH or close<ChikouSpan)
if (closelong)
    strategy.close("Long")

closeshort = hahigh > max(hahigh[1],hahigh[2]) and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanL or close>ChikouSpan)
if (closeshort)
    strategy.close("Short")