
双均線再反転価格突破戦略は,双重取引シグナルを組み合わせて,より高品質の入場時間を探す.この戦略は,まず,9日移動平均とその上下軌道を使って基本の突破の枠組みを構築し,次に123形状判断機会の方向を利用してランダム指数フィルタリングシグナルを導入し,最終的により厳しい入場ルールを形成する.この組み合わせフィルタリング方法は,取引頻度を効果的に低下させ,同時に信号品質を保証し,中長線保有に適している.
双均線再反転価格突破戦略は,2つの子戦略の組み合わせで構成されている.
第”の策略は123形状判断である。この策略は,前2日間の閉盘価格関係を利用して,将来の価格の可能性のある突破方向を判断する。今日の閉盘価格が前日間の閉盘価格より上昇し,前日間の閉盘価格より下落した場合,それを買取信号とみなす;今日の閉盘価格が前日間の閉盘価格より下落し,前日間の閉盘価格より上昇する場合は,それを売出信号とみなす。この形状は,短期間の感情が悲観から楽観に,または楽観から悲観に転移する重要な転換点を反映していると考えられる。ここで,我々は,ランダムな指数による買出信号への二次検証を再び利用し,ランダムな指数によって,それに対応する超買出信号が与えられるときのみ,最終的に真の操作信号を生成する。
2つ目の子戦略は,移動平均線チャネルを突破する.この戦略は,指定された周期 (例えば9日) の指数移動平均を計算し,その上にそれぞれ一定のパーセントをチャネル上下線として加える.価格が上下線を突破すると,売り信号が生じ,価格が下下線を突破すると,買い信号が生じます.上下線収縮幅の大きさは,パーセント因子で制御され,その結果,信号周波数を調整できます.
最終的には,二つの子戦略の信号方向が一致するときにのみ,すなわち123形反転信号とチャネルブレイク信号が同向である場合にのみ,実際の取引を導く真の信号が最終的に生成されます.この二重フィルタリング機構は,大量の偽信号をフィルターし,取引頻度を低下させながら,毎回の取引が高い信頼性を保ちます.
双均線再反転価格突破戦略は,複数の分析方法を総合的に使用し,以下の利点があります.
ダブルシグナルフィルタリングメカニズムにより,無効信号を効率的に減らし,取引を高品質にすることができます.
123形状判断は短期内逆転戦略に属し,移位チャネル突破は中長線トレンド追跡戦略に属し,組合せ使用は短中長線配合を実現し,収益効果はよりよい。
チャンネル上下軌道幅を調整することで,異なる取引好みに合わせて信号周波数を自由に制御できます.
9日平均線を通路の中軸線として利用し,パラメータ選択が合理的になり,信号が頻度が高いことを避ける.
ランダムな指標の超買超売領域判断を適用することで,震動の状況で被り込まれるのを防ぐことができます.
双平線と反転価格の突破策にはいくつかのリスクがあり,主に以下のいくつかの側面に集中しています.
ダブルフィルタリングシグナルメカニズムは,単一戦略で捉えられるいくつかの機会を逃し,単一漏れのリスクがある可能性があります.
123 バイ・セール・ポイントは,偽の突破口を完全にフィルターできず,不正な操作で損失を招く可能性があります.
市場が急激に変化した場合,誤ったストップ・ポジションの設定により大きな損失が発生する可能性があります.
ifft 条件論理は複雑で,パラメータが不適切で論理エラーが起こり,信号判断が失効する.
サンプル外データによりパラメータの安定性が影響され,パラメータの動的最適化が必要となる.
双平線と反転価格の突破策には最適化できる余地があります.
異なる均線型をテストし,信号品質が優れ,安定性を生み出すパラメータの組み合わせを選択することができる.
特定の品種データ特性を対象に比較マッチングのチャネル帯域幅を選択できます.
ストップ・ローズを併用して最大損失率を制御することができる.
機械学習モデルの動的最適化パラメータを導入して,戦略をより頑丈にすることができます.
取引量や波動率のフィルタが加えられることで,変動の状況で出場が頻繁になるのを防ぐことができます.
双均線再反転価格突破戦略は,二重検証の波機構を介して,短期反転と中長線のトレンド追跡を組み合わせて効率的な取引システムを形成し,無効信号を効果的にフィルタリングし,高品質の機会の入場を選択し,強固なカスタマイズ可能なスペースを有します.この戦略は,汎用的な枠組みとして,パラメータ調整と機械学習最適化の下で大きな使用可能性を持っています.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/03/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
// Moving Average Displaced Envelope. These envelopes are calculated
// by multiplying percentage factors with their displaced expotential
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and
// quality of the signals. If a previous high goes above the envelope
// a sell signal is generated. Conversely, if the previous low goes below
// the envelope a buy signal is given.
//
// 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
MADE(Price,Period, perAb, perBl, disp) =>
pos = 0.0
sEMA = ema(Price, Period)
top = sEMA[disp] * ((100 + perAb)/100)
bott = sEMA[disp]* ((100 - perBl)/100)
pos := iff(close < bott , 1,
iff(close > top, -1, pos[1]))
pos
strategy(title="Combo Backtest 123 Reversal & MA Displaced Envelope", 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, "---- MA Displaced Envelope ----")
Price = input(title="Source", type=input.source, defval=close)
Period =input(defval=9, minval=1)
perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1)
perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1)
disp = input(title = "Displacement", defval=13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMADE = MADE(Price,Period, perAb, perBl, disp)
pos = iff(posReversal123 == 1 and posMADE == 1 , 1,
iff(posReversal123 == -1 and posMADE == -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 )