이 전략은 두 개의 다른 파라미터 세트의 무작위 지표를 사용하여 다공간 조건 판단을 수행하며, 전형적인 평선 교차 시스템에 속한다. 빠른 지표를 사용하여 단기 트렌드 및 입시 시기를 판단하고, 느린 지표는 큰 트렌드 방향을 결정하며, 둘은 거래 신호를 형성한다.
빠른 무작위 지표 K 값은 단기 트렌드 방향을 나타내고, K 선은 이동 평균 SM1을 교차하여 진입 신호를 구성한다.
느린 무작위 지표의 K 값은 큰 트렌드 상황을 반영한다. 빠른 지표가 반전 신호를 표시할 때, 느린 지표가 큰 방향을 판단하는 것이 타당하다는 것을 확인한다.
K가 빠른 속도로 SM1을 통과할 때 포경 신호로 간주한다; K가 느린 속도로 50보다 크면, 큰 경향을 나타내고, 다중 조건이 충족된다.
K가 SM1을 빠르게 통과하면 하향 신호로 간주되며, K가 50보다 작으면 하향으로 표시되며, 코카이 조건을 충족한다.
고정 비율로 스톱 스톱 손실을 설정합니다.
이중 무작위 지표 필터링 노이즈, 성공률을 높인다.
SM1의 매개 변수는 작고, K 지표는 민감하며, 단선 기회를 잡기에 적합하다.
큰 주기는 큰 트렌드를 판단하고, 작은 주기는 반향을 포착한다. 다공간 전략은 대부분의 시장 상황에 적합하다.
고정 스티드포드 스톱로스, 리스크 수익 통제 가능, 과도한 변동이 쉬운 것은 아닙니다.
지표 사이에 오차가 발생하면 거래 기회를 놓치거나 잘못된 신호를 발생시킨다.
고정 스톱 스톱 손실 지점은 시장 변화에 따라 조정할 수 없는 유연성이 부족하다.
lbl 지표 파라미터는 반복적으로 최적화 테스트를 필요로 하며, 적절하지 않으면 무효가 된다.
단기 거래는 거래 빈도가 높고 거래 비용이 증가합니다.
다른 지표 또는 필터 조건을 추가하여 지표 신호의 품질을 보장합니다.
다양한 변수 조합을 테스트하여 최적의 변수 구성을 찾습니다.
변동률 지표와 결합하여 스톱 스톱 손실 수평의 동적 조정.
시간 필터링을 사용하여 중요한 사건을 피하고 비이성적 변동을 제어합니다.
자금 관리 전략을 최적화하고, 선택하면 지분을 줄이고, 자금 사용 효율성을 높인다.
이 전략은 급속도로 무작위적인 지표를 통합하여 다방면 거래 시스템을 형성한다. 그러나 추가로 최적화 파라미터를 설정해야하며, 추세, 변동률과 같은 지표를 필터링 조건으로 보조한다. 엄격하게 위험을 통제하는 경우, 이 전략은 비교적 안정적인 초과 수익을 얻을 수 있다.
/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Double Stochastic", overlay=true)
//-----------------------Stochastics------------------------//
c= security(syminfo.tickerid,timeframe.period , close)
h= security(syminfo.tickerid, timeframe.period, high)
l= security(syminfo.tickerid, timeframe.period, low)
c1= security(syminfo.tickerid, timeframe.period, close)
h2= security(syminfo.tickerid, timeframe.period, high)
l1= security(syminfo.tickerid, timeframe.period, low)
K1 = input(5, title="K", minval=1, title="Leading K")
SM1 = input(2, title="Smooth", minval=1, title="Leading Smooth ")
k = ema(stoch(c, h, l, K1), SM1)
K2 = input(97, title="K", minval=1, title="Lagging K")
D2 = input(3, title="D", minval=1, title="Lagging D")
SM2 = input(1, title="Smooth", minval=1, title="Lagging Smooth")
k1 = ema(stoch(c1, h2, l1, K2), SM2)
// buy ((k[2] < 40 and k > 40) and bars_up > 0 and k1 > 50)
// sell (k[2] > 60 and k < 60) and bars_down > 0 and k1 < 50
//-----------------------Mechanics------------------------//
buy = k1 > 50 and k < 30 and k > k[1] ? 1 : 0
sell = k1 < 50 and k > 70 and k < k[1] ? 1 : 0
buy_val = valuewhen(buy == 1, close, 1)
sell_val = valuewhen(sell == 1, close, 1)
buy_close = buy_val * input(1.20, minval=0.1)
sell_close = sell_val / input(1.20, minval=0.1)
//------------------------Buy/Sell-------------------------//
longCondition = buy == 1
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
close_long = close >= buy_close
if (close_long)
strategy.close("My Long Entry Id")
sellCondition = sell == 1
if (sellCondition)
strategy.entry("My Short Entry Id", strategy.short)
close_short = close <= sell_close
if (close_short)
strategy.close("My Short Entry Id")