
この戦略は,中短期間で利益を得ることを目的とした総合的な取引戦略である.これは123反転戦略とマジックオシレータ戦略を統合し,両者の優位性を発揮し,より信頼性の高い取引信号を取得する.
この戦略は2つの部分から構成されています.
123 逆転戦略
この戦略は,本”How I Triple My Capital in the Futures Market”の183ページに記載されている逆転戦略の改訂に基づいています. 閉店価格が前日の閉店価格より2日連続で高く,第9日のランダムなローラインが50を下回った場合,以下のような状況で多額の支払いをします. 閉店価格が前日の閉店価格より2日連続で低く,第9日のランダムなローラインが50を下回った場合,以下のような状況で空白支払いをします.
マジック・オッサンバーの戦略
この部分の策略は,AOの現在の値と前の期間の値を比較する魔法の振動器の指標を使用する.現在のAO値が前の期間の値より高い場合は,多めに適していると考えられ,柱形は青で表示されます.現在のAO値が前の期間の値より低い場合は,空白に適していると考えられ,柱形は赤で表示されます.
統合信号生成のルールは,もし123反転戦略と魔法の振動器戦略が同時に買い信号を発信するならば,複数戦略をとる.もし両者が同時に売り信号を発信するならば,空き戦略をとる.
この統合戦略の最大の利点は,信号の信頼性と安定性を向上させるための2つの異なるタイプの戦略の利点を統合することです.
具体的には,123反転戦略は中短期間でより適用され,反転の機会を捉えることができる。 魔法の振動器戦略は,短期的な傾向を重視し,感度が高い。 両者は互いを補完し,いくつかの偽信号をフィルターすることができ,同時に異なる段階で優良な入場タイミングを捉えることもできる。
さらに,この戦略は,K線情報と振動器の指標を総合的に利用し,価格の動きそのものの情報と量と価格の関係を兼ねて,より包括的で立体的な比較を行う.
この戦略の最大のリスクは,複数の戦略を統合することは,それぞれのリスクを統合することを意味するということです.
123反転策は,それ自体で,波動市場に困るリスクを完全に回避することはできません.魔法の振動器策は,短期市場の変動にも敏感です.両者が間違った信号を発した場合は,二倍に害になります.
さらに,パラメータ設定は,戦略の効果に影響します. 繰り返しテストし,最適化して,最適なパラメータ組み合わせを見つける必要があります.
リスクを回避するために,戦略の保有規模を適切に調整し,単一の取引のリスクのを低減することができる.また,損失をさらに拡大しないように,止損ラインを設定することができる.
この戦略をさらに改善するには,以下の方法があります.
パラメータをテストし,最適化し,最適なパラメータの組み合わせを見つける
他の指標やフィルタリング条件を追加して,信号の質をさらに向上させる
複数のタイムフレームを最適化して異なるタイムサイクルを組み合わせる
ダイナミック・ストップ・ストラテジーを追加し,リスクをよりよくコントロールする
実際の取引コストを考慮し,エントリーとエクジットの条件を設定します.
大規模なトレンドの方向性を考慮し,逆転操作を避ける
この戦略は,123反転と魔法の振動器の2つの戦略の優位性を統合して,信号の信頼性を向上させながら,一定の柔軟性と市場の変化に対する感受性を保持している.しかし,パラメータをさらに最適化し,リスクを厳格に制御して,実盤で安定した利益を得ることができる必要がある.全体的に,この戦略は,非常に良い中短期間の取引の可能性があり,さらなる研究と応用に値する.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 09/08/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This indicator plots the oscillator as a histogram where blue denotes
// periods suited for buying and red . for selling. If the current value
// of AO (Awesome Oscillator) is above previous, the period is considered
// suited for buying and the period is marked blue. If the AO value is not
// above previous, the period is considered suited for selling and the
// indicator marks it as red.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
BWAC(nLengthSlow,nLengthFast) =>
pos = 0.0
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes = xSMA1_SMA2 - xSMA_hl2
pos:= iff(nRes > nRes[1], 1,
iff(nRes < nRes[1], -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Awesome Oscillator (AC)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Awesome Oscillator (AC) ----")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBWAC = BWAC(nLengthSlow,nLengthFast)
pos = iff(posReversal123 == 1 and posBWAC == 1 , 1,
iff(posReversal123 == -1 and posBWAC == -1, -1, 0))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1 , 1, pos))
if (possig == 1 )
strategy.entry("Long", strategy.long)
if (possig == -1 )
strategy.entry("Short", strategy.short)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )