移動平均ロングとショートのパワーブレイクスルー戦略


作成日: 2023-10-26 16:17:17 最終変更日: 2023-10-26 16:17:17
コピー: 0 クリック数: 681
1
フォロー
1617
フォロワー

移動平均ロングとショートのパワーブレイクスルー戦略

概要

この戦略は,平均線,ATR指標,ブリン帯に基づいて多空判断を行い,力指標と組み合わせて突破取引を達成する.これは突破型の戦略である.

戦略原則

  1. ブリン帯の中線,上線,下線を計算する. 中線はcloseのsma平均線,上線は中線が正負stdDev標準差である.

  2. 速速ATRと遅速ATRを計算する.速速ATRのパラメータは20で,遅速ATRのパラメータは50である.

  3. 計算力の指標XFORCEは,volumeとして*(close-前1close) の累積. XFORCEの急速EMAと遅いEMAを計算する.

  4. 多頭信号を判断する:高速XFORCEを遅いXFORCEに穿越し,高速ATR>遅いATR,および閉盘価格>開盤価格.

  5. 空頭信号を判断する:高速XFORCE下を通過する遅速XFORCE,そして高速ATR>遅速ATR,そして閉盘価格<開盘価格。

  6. 複数頭信号を触発すると多行,空頭信号を触発すると空行.

戦略的優位分析

  1. 平均線はトレンドの判断を,ブリン帯は突破の買賣点を提供する.

  2. ATR指標は市場の変動率を判断し,変動率取引を実現する.

  3. フォース・インディケーターは,フォースの方向性を判断し,フォースの突破を実現します.

  4. 複数の指標の組み合わせにより,より全面的な判断ができます.

  5. 規則は明確でシンプルで,理解しやすい.

  6. 返済は良好で収益は安定している.

戦略的リスク分析

  1. ブリン帯の下線が狭すぎると誤信号が発生する.

  2. ATRのパラメータが正しく設定されておらず,市場の波動を捉えることができませんでした.

  3. 力の指標は限られていて,本当のトレンドの逆転は判断できない.

  4. 複数の指標の組み合わせ,パラメータの調整,重み配分は難しい.

  5. 突破信号は誤判されやすい,背離現象が存在する.

  6. 引き下がりは大きくなり,ストップ・ローズでコントロールできます.

戦略最適化の方向性

  1. ブリン帯のパラメータを最適化して,異なる周期および株式特性を適応する.

  2. ATRのパラメータを最適化して,市場の変動率をよりよく捉える.

  3. MACDなどのトレンド指標を追加し,トレンドの検証を提供する.

  4. ストップ・コントロール・リトールなどのストップ・ストープ戦略を追加する.

  5. 機械学習のアルゴリズムを追加し,AIを使って反転信号を判断する.

  6. 多周期結合,異なる周期の総合判断,誤判率を下げる.

要約する

この戦略は,均線,ATR,ブリン帯,および力指標を統合し,比較的完全な突破取引システムを形成する.パラメータ最適化,トレンド判断指標の確認,止損戦略の追加,およびAI判断の追加により,戦略の安定性と収益レベルをさらに高めることができる.しかし,いかなる戦略も完璧にはならず,反省結果に応じて継続的に最適化調整を施す必要がある.

ストラテジーソースコード
/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("yuthavithi volatility based force trade scalper strategy", overlay=true)

fast = input(3, minval= 1, title="Fast")
slow = input(20, minval = 1, title = "Slow")
atrFast = input(20, minval = 1, title = "ATR Fast")
atrSlow = input(50, minval = 1, title = "ATR Slow")

len = input(20, minval=1, title="Length")
multiplier = input(2, minval=1, title="multiplier")
src = input(close, title="Source")
bbMid = sma(src, len)
plot(bbMid, color=blue)

atrFastVal = atr(atrFast)
atrSlowVal = atr(atrSlow)
stdOut = stdev(close, len)
bbUpper = bbMid + stdOut * multiplier
bbLower = bbMid - stdOut * multiplier
plot(bbUpper, color = (atrFastVal > atrSlowVal ? red : silver))
plot(bbLower, color = (atrFastVal > atrSlowVal ? red : silver))


force = volume * (close -  nz(close[1]))
xforce = cum(force)
xforceFast = ema(xforce, fast)
xforceSlow = ema(xforce, slow)

bearish = ((xforceFast < xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] > xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close < open)
bullish = ((xforceFast > xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] < xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close > open)


if (bullish)
    strategy.entry("Buy", strategy.long)

if (bearish)
    strategy.entry("Sell", strategy.short)