
これはブリンベルトベースの外為ジャンプショートライン取引システムである.これは主要通貨ペアに適用され,取引手数料が1点差未満で,時間周期が1〜15分間のことを要求する.
このシステムは,ブリン帯,RSI,ADXの3つの指標を使用して取引機会を識別します.
ブリン帯は,価格の突破を識別するために使用される.価格が上限帯を突破したとき,多見;価格が下限帯を突破したとき,空見する.RSIは,偽の突破を避けるために使用される.RSIが反転するときにのみ (超買区から下落または超売区から上昇) 突破は有効であるとみなされる.ADXは,傾向が目に見えない市場をフィルターするために使用され,ADXが32を下回るときのみに出場する.
具体的入場ルールは:複数入場は価格が上限帯を突破し,RSIが超売区から上昇し,ADXが32を下回る30線を横切る必要があり;空券入場は価格が下限帯を突破し,RSIが超買区から下降し,ADXが32を下回る70線を横切る必要があり.
出発ルールは,ストップ・ストップとミッドライン・リターンである.具体的には,固定ストップ・ストップ・ポイントを設定し,価格がブルインミッドラインに戻ったときに平仓する.
このシステムには以下の利点があります.
ブリン・バンドを使って価格を捉える空飛ぶ取引は,大きな利益の可能性がある.
RSIと組み合わせると,偽突破を回避し,利益の確率を高めます.
ADXの指標を使って,明らかにトレンドがない市場をフィルタリングし,無駄な取引を避ける.
復帰中線出場は,利益のほとんどをロックし,利益の転嫁を防ぐことができます.
利害関係の高い取引に適しており,利益の拡大を迅速に可能にします.
このシステムにはいくつかのリスクがあります.
価格の飛躍を捕まえないと利益は得られません.
復元データ適合リスク. 復元結果をリリカルにコピーできない可能性があります.
傾向が短期間続くと,震動が起こると,市場も損をする.
高利差はリスクを増大させる. 単独の損失は大きい.
取引時間は限られていて,一部の取引機会を逃す可能性があります.
このシステムは,以下の点で最適化できます.
パラメータの最適化,指標効果の改善. ブリン帯周期,RSIパラメータの修正など.
フィルタリング条件を追加または改善し,収益取引比率を向上させる.例えば,より多くの指標または基本要素を組み合わせる.
ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ・ストップ
適切なレバレッジレベルを自動的に決定し,期待される収益を最大化します.
機械学習技術を使用して,最適なパラメータを自動で探す.
黄金ブリン帯空飛回帰システムは,典型的なショートライン突破システムである。価格空飛がもたらす利益の機会を捕捉する。同時に複数の指標を用いてフィルタリングを行い,反測で良好な収益性を示す。しかし,実盘テストはまだ検証が待っています.流動性や滑り方も結果に一定の影響を与えるでしょう。全体的に,これは潜在的ショートライン取引戦略であり,実験的に検証し,最適化する価値があります。
/*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))