
この戦略は,二重取引シグナルを統合した方法で,より安定した,より効率的な取引決定を実現する.一つは,価格反転シグナルとランダムな指標を組み合わせた反転戦略であり,もう一つは,中央線と価格チャネルの突破戦略である.両戦略の取引シグナルは,論理と演算を行う.つまり,両戦略が同時に同方向の信号を発信するときにのみ,ポジションが開きます.この多戦略の統合は,部分的に無効な信号をフィルターして,より信頼性の高い取引決定を実現する.
逆転策略部分では,価格が連続して2つの取引日の逆転形に現れて,ランダムな指標が超買超売領域に入っているときに取引シグナルを生成する.このようにして,価値逆転シグナルと超買超売シグナルを同時に利用して二重確認することができる.中心重心線部分では,価格の線形回帰の中心線を囲んで価格の上下チャネルを構築し,チャネルを突破して取引シグナルを生成する.チャネルを突破するシグナルとは,同時に価格が傾向的な方向的な動きを開始することを意味する.
2つの戦略は,それぞれ価値とトレンドの機会を捕捉する.戦略信号の論理と,つまり2つの戦略が同時に同方向の信号を発信するときにのみポジションを開く.これは,一部の無効シグナルを効果的にフィルターして,最終的な戦略をより信頼できるようにすることができます.
この戦略の最大の利点は,信号の安定した信頼性である.反転戦略とトレンド戦略の組み合わせで,反転とトレンドの2つの取引機会を兼ね備えて,いかなる大きな市場情勢も逃さない.論理と演算は,部分的に無効な信号をフィルタリングし,最終的な戦略をより信頼性のあるものにし,騒音に騙されないようにする.
さらに,反転戦略とトレンド戦略の組み合わせは,複数の時間枠の下での安定した操作も実現する.反転戦略は,短期的な超買い超売を活用してシグナルを生成し,中央重心線戦略は,中長線均線に基づいて,時間枠互補し,継続的な安定した取引機会を生成することができる.
この戦略の最大のリスクは,二重戦略の信号がマッチングできないことであり,その結果,十分な取引信号が生成できないことにある.これは,株式が横横整理されたときに起こり得る.価格が長期間揺れ動いて,明確な方向性がないとき,反転信号もトレンド信号も容易に生成されず,取引機会が減少する.
さらに,二重戦略の論理と演算は,単一戦略の機会の一部を逃す可能性もあります.単一戦略だけが有効な取引信号を生む場合,ポジションを開くこともできません.これは,一定程度の機会コストを引き起こす可能性があります.
リスクを軽減するために,適切な部分のパラメータを緩め,戦略信号をより簡単にマッチさせ,そうしてポジションを開くこともできます.また,トレンドの明らかな標識を選択し,より多くの取引機会を得るために取引するメカニズムを導入することも考えることができます.
この戦略は,次の2つの側面から最適化できます.
まず,パラメータ最適化である.ストーチのランダム指標のパラメータ,中央線通路のパラメータなどを含むパラメータは,テストを継続して最適化して,よりマッチングな信号を得ることができる.これは,より多くの反測によって実現できる。
2つ目は,選択株の操作に似たメカニズムの導入である.この戦略は,明らかに傾向がある標識に適しているため,特定の指標に基づいて適格な標識を選択して取引することができれば,戦略の全体的なパフォーマンスを大幅に向上させることができる.これは,業界の輪動性,均線システムなどの方法と組み合わせて選択株モジュールを設計する必要があります.
この戦略は,逆転戦略とトレンド戦略の統合により,取引決定の二重確認と複数の時間枠のマッチングを実現する.また,取引機会の減少につながる信号マッチングの難しさの問題もあります.次の最適化は,パラメータとモジュールの組み合わせの2つのレベルから開始され,より強力な安定した戦略のパフォーマンスを得ることができます.
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/07/2019
// 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
// The indicator is based on moving averages. On the basis of these, the
// "center" of the price is calculated, and price channels are also constructed,
// which act as corridors for the asset quotations.
//
// 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
CenterOfGravity(Length, m,Percent, SignalLine) =>
pos = 0
xLG = linreg(close, Length, m)
xLG1r = xLG + ((close * Percent) / 100)
xLG1s = xLG - ((close * Percent) / 100)
xLG2r = xLG + ((close * Percent) / 100) * 2
xLG2s = xLG - ((close * Percent) / 100) * 2
xSignalR = iff(SignalLine == 1, xLG1r, xLG2r)
xSignalS = iff(SignalLine == 1, xLG1s, xLG2s)
pos := iff(close > xSignalR, 1,
iff(close < xSignalS, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Center Of Gravity", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCoF = input(20, minval=1)
m = input(5, minval=0)
Percent = input(1, minval=0)
SignalLine = input(1, minval=1, maxval = 2, title = "Trade from line (1 or 2)")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(LengthCoF, KSmoothing, DLength, Level)
posCenterOfGravity = CenterOfGravity(Length, m,Percent, SignalLine)
pos = iff(posReversal123 == 1 and posCenterOfGravity == 1 , 1,
iff(posReversal123 == -1 and posCenterOfGravity == -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 )