ゴールドボリンジャーバンドギャップ回帰システム


作成日: 2024-02-01 11:46:13 最終変更日: 2024-02-01 11:46:13
コピー: 0 クリック数: 680
1
フォロー
1617
フォロワー

ゴールドボリンジャーバンドギャップ回帰システム

概要

これはブリンベルトベースの外為ジャンプショートライン取引システムである.これは主要通貨ペアに適用され,取引手数料が1点差未満で,時間周期が1〜15分間のことを要求する.

戦略原則

このシステムは,ブリン帯,RSI,ADXの3つの指標を使用して取引機会を識別します.

ブリン帯は,価格の突破を識別するために使用される.価格が上限帯を突破したとき,多見;価格が下限帯を突破したとき,空見する.RSIは,偽の突破を避けるために使用される.RSIが反転するときにのみ (超買区から下落または超売区から上昇) 突破は有効であるとみなされる.ADXは,傾向が目に見えない市場をフィルターするために使用され,ADXが32を下回るときのみに出場する.

具体的入場ルールは:複数入場は価格が上限帯を突破し,RSIが超売区から上昇し,ADXが32を下回る30線を横切る必要があり;空券入場は価格が下限帯を突破し,RSIが超買区から下降し,ADXが32を下回る70線を横切る必要があり.

出発ルールは,ストップ・ストップとミッドライン・リターンである.具体的には,固定ストップ・ストップ・ポイントを設定し,価格がブルインミッドラインに戻ったときに平仓する.

優位分析

このシステムには以下の利点があります.

  1. ブリン・バンドを使って価格を捉える空飛ぶ取引は,大きな利益の可能性がある.

  2. RSIと組み合わせると,偽突破を回避し,利益の確率を高めます.

  3. ADXの指標を使って,明らかにトレンドがない市場をフィルタリングし,無駄な取引を避ける.

  4. 復帰中線出場は,利益のほとんどをロックし,利益の転嫁を防ぐことができます.

  5. 利害関係の高い取引に適しており,利益の拡大を迅速に可能にします.

リスク分析

このシステムにはいくつかのリスクがあります.

  1. 価格の飛躍を捕まえないと利益は得られません.

  2. 復元データ適合リスク. 復元結果をリリカルにコピーできない可能性があります.

  3. 傾向が短期間続くと,震動が起こると,市場も損をする.

  4. 高利差はリスクを増大させる. 単独の損失は大きい.

  5. 取引時間は限られていて,一部の取引機会を逃す可能性があります.

最適化の方向

このシステムは,以下の点で最適化できます.

  1. パラメータの最適化,指標効果の改善. ブリン帯周期,RSIパラメータの修正など.

  2. フィルタリング条件を追加または改善し,収益取引比率を向上させる.例えば,より多くの指標または基本要素を組み合わせる.

  3. ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ

  4. 適切なレバレッジレベルを自動的に決定し,期待される収益を最大化します.

  5. 機械学習技術を使用して,最適なパラメータを自動で探す.

要約する

黄金ブリン帯空飛回帰システムは,典型的なショートライン突破システムである。価格空飛がもたらす利益の機会を捕捉する。同時に複数の指標を用いてフィルタリングを行い,反測で良好な収益性を示す。しかし,実盘テストはまだ検証が待っています.流動性や滑り方も結果に一定の影響を与えるでしょう。全体的に,これは潜在的ショートライン取引戦略であり,実験的に検証し,最適化する価値があります。

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("Bollinger Bands, RSI and ADX Trading System", overlay=true)


timeinrange(res, sess) => time(res, sess) != 0


timer = color.red


//bgcolor(timeinrange(timeframe.period, "0300-0600") or timeinrange(timeframe.period, "0900-1300") or timeinrange(timeframe.period, "2030-2300") ? timer : na, transp=70)


//RSI
length = input( 20 )
overSold = input( 35 )
overBought = input( 65 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
//if (not na(vrsi))


//BB
lengthB = input(60, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthB)
dev = mult * stdev(src, lengthB)
upper = basis + dev
lower = basis - dev


//adx
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)

longEntry = close < upper and crossover(vrsi,overSold) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))

shortEntry = close > upper and crossunder(vrsi,overBought) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))


tp=input(90, step=10)
sl=input(90, step=10)

strategy.entry("long",1,when=longEntry)
strategy.exit("X_long", "long", profit=tp,  loss=sl )
strategy.close("long",when=crossunder(close,basis))

strategy.entry('short',0,when=shortEntry)
strategy.exit("x_short", "short",profit=tp, loss=sl)
strategy.close("short",when=crossover(close,basis))