対数空間一目均衡表に基づくクロスプロダクト戦略


作成日: 2024-02-22 13:53:30 最終変更日: 2024-02-22 13:53:30
コピー: 0 クリック数: 564
1
フォロー
1617
フォロワー

対数空間一目均衡表に基づくクロスプロダクト戦略

概要

この戦略は,対数空間の一次均衡指標を使用して取引信号を生成する暗号通貨を対象とした簡単な取引戦略である.この戦略は,暗号通貨品種間の取引に適用される.

戦略原則

この戦略は,カスタマイズされた対数空間の一次均衡指標を主要な取引指標として使用する. 一次均衡指標は,通常,前回転線,基準線,および遅延線を含む. この戦略では,これらの線は,対数価格の空間で計算される.

具体的には,前回線は,最近9周期対数低点と対数高点の平均値である。 基准線は,最近26周期の同等平均値である。 延期線1は前回線と基准線の平均値であり,延期線2は,最近52周期の同等平均値である。

遅延線1で遅延線2を通るときは,多行;遅延線1の下で遅延線2を通るときは空行.

優位分析

この戦略の主要な利点は,対数値空間内の目次均衡指標を使用することで,暗号通貨のトレンドの変化をよりよく識別できるという点にある.対数座標下では,比率の変化がより一致し,より信頼性の高い取引信号を生成するのに役立ちます.

もう一つの優点は,この戦略が暗号通貨品種間の取引に適用できることです.対数空間の一目均衡指標の使用は,異なる品種間の価格変化の比較性を強化することができます.

リスク分析

この戦略の主なリスクは,一目均衡指標自体が誤った信号を生成する可能性があることにある.特に,仮想通貨市場の高波動期に,一目均衡指標のパフォーマンスは信頼できないようになる.

さらに,対数変換は,極端な状況で失効する可能性がある.価格が異常な波動を起こしたとき,対数座標の比較性も低下する.

最適化の方向

この戦略は以下の方法で最適化できます.

  1. 他の指標と組み合わせて,最初の均衡指標の信号を検証し,誤った信号の確率を下げる

  2. 暗号通貨の品種に適した一目均衡指標のパラメータの最適値を更新

  3. ポジション開設前に必要なフィルタリング条件,例えば取引量フィルタリングを設定し,偽の突破を誤導しないようにする.

  4. ポジション開設戦略の最適化,ストップ・ロスト・条件の設定,リスクの管理

要約する

この戦略は対数空間の一目均衡指標の優位性を活用し,暗号通貨を対象とした,種間取引に適用される量化戦略を設計した.この戦略は,傾向の変化を識別するのに有利であるが,一定のリスクも存在している.さらなる最適化により,戦略パラメータを暗号通貨市場により適合させ,必要な開場条件とリスク制御機構を設定することで,より良い戦略パフォーマンスを得ることができる.

ストラテジーソースコード
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Log Ichimoku Strategy", shorttitle="Ichi Strategy", overlay=true)

drop1st(src) =>
    x = na
    x := na(src[1]) ? na : src

conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
showClouds = input(false, "show clouds")

loglows = log(drop1st(low))
loghighs = log(drop1st(high))

donchian(len) =>
    avg(lowest(loglows, len), highest(loghighs, len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

plot(showClouds ? exp(conversionLine) : na, color=#0496ff, title="Conversion Line")
plot(showClouds ? exp(baseLine) : na, color=#991515, title="Base Line")

p1 = plot(showClouds ? exp(leadLine1) : na, offset = displacement, color=green, title="Lead 1")
p2 = plot(showClouds ? exp(leadLine2) : na, offset = displacement, color=red, title="Lead 2")
fill(p1, p2, color = showClouds ? (leadLine1 > leadLine2 ? green : red) : na)

if (crossover(leadLine1, leadLine2))
    strategy.entry("Ichi-LE", strategy.long, oca_name="Ichi", comment="Ichi")

if (crossunder(leadLine1, leadLine2))
    strategy.entry("Ichi-SE", strategy.short, oca_name="Ichi",  comment="Ichi")