マルチインジケーター売買戦略


作成日: 2023-10-18 11:36:38 最終変更日: 2023-10-18 11:36:38
コピー: 3 クリック数: 649
1
フォロー
1617
フォロワー

マルチインジケーター売買戦略

概要

この戦略は,平均線指数,超買い超売り指数,および波動率指数を組み合わせて,超落下反転の場合には,低価格で買い,超買い反転の場合には高価格で売り,トレンド追跡を実現します.

戦略原則

RSIとStochが同時に超売り領域にあり,AO振動器が反転信号を発したときにポジションを確立する.具体的には,RSIとStochが低値 (以下30と20) で,AOはマイナスから正しければ高値 (以下70と80) で,AOはマイナスから正しければ空きである.ストップとストップはATR指標の値に基づいて設定され,市場の波動に応じてストップの位置を調整することができます.

この戦略は主に4つの指標を用いています.

  • AO振動器:価格の変化の動力を反映し,トレンドの逆転を判断するために使用できます.
  • RSIは比較的強い指標で,超買いと超売りを反映している.30を下回ると超売り領域である.
  • StochStochastic: 超買超売り領域を反映する。20より低いのは超売り領域である。
  • ATR平均真波幅:最近の価格変動幅を反映する.

AOが反転信号を発し,RSIとStochが同時に超売り領域にある場合,価格が反転する可能性を示し,ポジションの構築に介入することができる.ATR指標は,ストップ・ストップ・価格を設定し,市場の変動に応じてストップ・ストップ・ストップの幅を調整し,被套を避けるために使用される.

戦略的優位性

  • 複数の指標で確認信号を使用し,単一の指標による誤った取引を避ける.
  • 市場変動に応じてストップ・ロスの幅を設定することで,単一損失を効果的に制御できます.
  • 戦略的な取引の論理はシンプルでわかりやすく,理解しやすい.
  • 超買超売の状況を利用して介入し,逆転の機会を間に合うように捉えることができる.

リスクと解決

  • AO指標は偽信号を発生しやすいため,誤った取引を避けるためにRSIとStoch指標の組み合わせで使用する必要があります.
  • 固定パラメータ設定は,市場の変化に適応できない可能性があり,パラメータを最適化する必要があります.
  • 止損ポイントがあまりにも近くなり,頻繁に止損される可能性がある. 止損範囲を適切に放宽するか,出場戦略を使用することができる.
  • 固定ストップポイント,早退やインラインコールバックがある. 移動ストップまたは分量退場を使用できます.

これらのリスクを軽減するために,以下の方法で最適化できます.

  1. パラメータを最適化して,異なる周期と品種の市場に適応できるようにする.
  2. 移動停止,出場分隊など,損失防止の仕組みの改善
  3. 入学条件を最適化し,単一の指標によって誤信号を回避する.
  4. モバイルストップやトレンドによる分段ストップなどの停止方法を最適化します.

戦略最適化の方向性

この戦略は以下の点で最適化できます.

  1. 最適化パラメータ設定。優越性検索などの方法を通過してより優良なパラメータの組み合わせを見つけることができる。

  2. フィルタリング条件を追加する. 偽信号を避けるために,入場時に追加の指標の確認を追加することができます.

  3. オプティマイズしたストップメカニズム 移動ストップ,出場分隊などの方法でリスクをコントロールできる

  4. オプティマイズストップ方法. 移動ストップ,トレンドによる分割ストップなどの方法を使用して,より多くの利益をロックすることができます.

  5. 自動ストップを追加する.例えば,重要な整数ゲートに近づくとストップし,急上昇後退を避ける.

  6. 資金管理の最適化.例えば,リスクの変化に応じてポジションサイズを調整し,最大損失を制御する.

  7. 特定の品種/周期に対するテスト最適化.パラメータと止損防止方法は,異なる品種および周期に対して最適化されるべきである.

  8. 緊急事態の処理を強化する.例えば,重要なニュースの時に取引を回避する,または迅速に停止する.

要約する

この戦略は,均線システム,超買い超売りシステムおよび波動率システムを総合的に使用し,価値低評価時に低買い,価値高評価時に高売り,強いトレンド追跡能力を持っています.しかし,いくつかのパラメータ設定固定,止損機構の不完全さなどの問題もあります.我々は,パラメータ設定の最適化,止損機構の最適化,波条件の追加などの側面から多面的な最適化を行って,戦略をより安定して信頼できます.実用化時には,特定の品種と周期に対してフィードバックテストの結果を組み合わせてテストを最適化する必要もあります.戦略の有効性を最大化し,安定した収益を得るために.

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

//@version=4

strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy")
// Created by Serdar YILMAZ
// This strategy is just for training, its purpose is just learning code in pine script.
// Don't make buy or sell decision with this strategy.
// Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir.
// Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin.

//AO

fast=input(title="Fast Length",type=input.integer,defval=5)
slow=input(title="Slow length",type=input.integer,defval=34)

awesome=(sma(hl2,fast)-sma(hl2,slow))*1000

plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red))

//Stoch

K=input(title="K",type=input.integer,defval=14)
D=input(title="D",type=input.integer,defval=3)
smooth=input(title="smooth",type=input.integer,defval=3)

k=sma(stoch(close,high,low,K),D)
d=sma(k,smooth)

hline(80)
hline(20)

plot(k,color=color.blue)

//RSI

rsisource=input(title="rsi source",type=input.source,defval=close)
rsilength=input(title="rsi length",type=input.integer,defval=10)

rsi=rsi(rsisource,rsilength)

hline(70,color=color.orange)
hline(30,color=color.orange)

plot(rsi,color=color.orange)

//ATR

atrlen=input(title="ATR Length", type=input.integer,defval=14)

atrvalue=rma(tr,atrlen)

plot(atrvalue*1000,color=color.green)

LongCondition=k<20 and rsi<30 and awesome>awesome[1]
ShortCondition=k>80 and rsi>70 and awesome<awesome[1]
if (LongCondition)
    stoploss=low-atrvalue
    takeprofit=close+atrvalue
    strategy.entry("Long Position", strategy.long)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
if (ShortCondition)
    stoploss=high+atrvalue
    takeprofit=close-atrvalue
    strategy.entry("Short Position",strategy.short)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)