この戦略は,特定の周期の最高価格と最低価格の単純な移動平均を計算し,それに基づいて買入と売却のシグナルを発信する.
双ピークの逆転取引戦略は,技術分析のサポートとレジスタンス理論を適用します. この戦略は,価格が抵抗またはサポートを突破すると,市場力と価格動力が変化すると仮定します. 具体的には,価格が最近の期間の最高点を超えると,上方レジスタンスが突破され,価格が最近の期間の最低点を下回ると,下方サポートが突破されることが考えられます.
双ピークの回転取引戦略は,まず指定された周期 (デフォルト29日) の最高価格と最低価格の単純な移動平均を計算する.これは,価格の上下限を表す2つの軌道を生成する.それから,この2つの軌道間の中間点を計算して,購入と販売の値を決定する.
価格が上昇して上線を突破すると,買入シグナルが生成され,価格が下線を突破すると,売り出しシグナルが生成される.トレーダーは,その後,逆向きにポジションを閉じる,つまり,価格が再び上線を突破すると売られ,価格が再び下線を突破すると買う.
この戦略の優点は,突破が引き起こす短期的な動力を利用することです.価格が上下限を突破すると,短期的に大きな価格変動が起こることが多いのです.これは,取引者が突破が起こった後に取引する機会を提供します.
しかし,この戦略にはいくつかのリスクもあります. まず,選択された周期の長さは結果に大きな影響を与える. 周期が短すぎると,軌道が過度に敏感になり,大量の偽信号を生成します. 周期が長すぎると,新しいトレンドを間に合うように捕捉することができません. さらに,価格が上下限を突破した後にトレンドを継続することは必ずしもあり,反調の可能性があります. トレーダーはストップポイントを調整し,リスクを制御する必要があります.
全体として,双峰回転取引戦略は,価格突破の動力下落をモニタリングすることによって取引機会を探している.それは,突破の短期動力の優位性を把握しているが,パラメータの最適化とリスク管理にも注意する必要がある.この戦略は,適切に使用されれば,量化取引の有利なツールになることができる.
/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////////////////////////////////////////////////////////////
// Copyright by HPotter v2.0 19/09/2022
// This is simple Highest high and Lowest low strategy.
// Buy when break HH+offset
// Sell when break LL+offset
// Offset = (HH-LL)/2
////////////////////////////////////////////////////////////
strategy(title='HHLL', overlay=true)
Len = input(29)
reverse = input(true, title='Trade reverse')
xHH = ta.sma(high, Len)
xLL = ta.sma(low, Len)
movevalue = (xHH - xLL) / 2
xHHM = xHH + movevalue
xLLM = xLL - movevalue
pos = 0
possig = 0
iff_1 = high > xHHM[1] and time > timestamp(2018, 01, 01, 09, 30) ? -1 : nz(pos[1], 0)
pos := low < xLLM[1] and time > timestamp(2018, 01, 01, 09, 30) ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig := reverse and pos == 1 ? -1 : iff_2
if possig == 1 and possig[1] != possig and time > timestamp(2018, 01, 01, 09, 30)
strategy.entry('Long', strategy.long)
if possig == -1 and possig[1] != possig and time > timestamp(2018, 01, 01, 09, 30)
strategy.entry('Short', strategy.short)
barcolor(possig == -1 ? color.red : possig == 1 ? color.green : color.blue)
plot(xHHM, color=color.new(color.blue, 0), title='MA')
plot(xLLM, color=color.new(color.blue, 0), title='MA')
plot(xHH, color=color.new(color.red, 0), title='MA')
plot(xLL, color=color.new(color.red, 0), title='MA')