
この戦略は,移動平均,CCI指数,PSAR指数,ADX動向指数などの複数の指標を用い,比較的に典型的な突破策を実現している.市場が明確な多頭シグナルが出るときは多行し,明確な空頭シグナルが出るときは空行し,中短線操作に適している.
この戦略の入学条件は以下の通りです.
試合の条件は,以下の指標を考慮した.
この戦略は,入場を厳しく,出場を緩やかにすることで,より高い利益率を得ることができます.
これは典型的な多指標組合せの突破策で,以下の利点があります.
この戦略には以下のリスクもあります.
対策として
この戦略には,以下の改善策があります.
この戦略は,全体として典型的な,古典的な多指標突破策である.入場条件が厳格で,出場条件が緩やかであり,トレンド判断モジュールが含まれているという利点がある.しかし,一定のリスクも存在し,より複雑な市場環境に適応できるように継続的に最適化する必要がある.モデルポートフォリオとパラメータ最適化は,その発展方向である.
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Bukan Kaleng Kaleng Li", shorttitle="BKKL", overlay=true)
psarDot = sar(0.01, 0.01, 0.2)
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)
trur = rma(tr, 14)
plus = fixnan(100 * rma(plusDM, 14) / trur)
minus = fixnan(100 * rma(minusDM, 14) / trur)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), 14)
longConditionSMA4020 = sma(close, 40) > sma(close, 20)
longConditionSMA2010 = sma(close, 20) > sma(close, 10)
longConditionSMA105 = sma(close, 10) > sma(close, 5)
longConditionSMA = longConditionSMA4020 and longConditionSMA2010 and longConditionSMA105
longConditionCCI = cci(close, 20) < -100
longConditionPSAR = psarDot > close
longConditionDMI = plus < 10
adxCondition = adx > 20
longCondition = longConditionSMA and longConditionCCI and longConditionPSAR and longConditionDMI
if (longCondition and adxCondition)
strategy.order("Long Signal", true)
shortConditionSMA4020 = sma(close, 40) < sma(close, 20)
shortConditionSMA2010 = sma(close, 20) < sma(close, 10)
shortConditionSMA105 = sma(close, 10) < sma(close, 5)
shortConditionSMA = shortConditionSMA4020 and shortConditionSMA2010 and shortConditionSMA105
shortConditionCCI = cci(close, 20) > 100
shortConditionPSAR = psarDot < close
shortConditionDMI = minus < 10
shortCondition = shortConditionSMA and shortConditionCCI and shortConditionPSAR and shortConditionDMI
if (shortCondition and adxCondition)
strategy.order("Short Signal", false)