
동적 오징어 마모 전략은 이동 평균과 가격 비율 오징어 지표를 사용하여 하락 위험을 최소화하는 트렌드 추적 전략이다. 이 전략은 지수 펀드 거래 모델에 속하며 위험을 효과적으로 제어 할 수 있다.
이 전략의 핵심 지표는 소모 가치와 소모 평균이다. 소모 가치는 가격 변동의 측정 지표이며, 이는 종전 가격, 최고 가격, 그리고 최저 가격으로 계산된다. 구체적인 계산 방법은 다음과 같다: (… 종전 가격 + 최고 가격 + 최저 가격 - 소모 가치의 이동 평균) / (… 소모 가치의 이동 평균). 소모 평균은 소모 가치의 이동 평균이다.
또한, 전략은 300일선, 150일선, 50일선 등 긴 단기 이동 평균을 사용하여 추세를 판단합니다. 단기 이동 평균 아래로 긴 단기 이동 평균을 통과하면 추세가 역전되는 것을 나타냅니다.
MACD는 또한 단기 구매 판매 지점을 판단하기 위해 사용됩니다. MACD 라인은 신호선을 통과할 때 부어, 신호선을 통과할 때 하락합니다. RSI 낮은 지점은 구매 신호로도 사용됩니다.
입단 및 출전 논리는 다음과 같습니다.
구매 조건: 소모 값 위에 소모 평균선을 착용하고, 50 일선이 150 일선보다 높습니다. 또는 RSI가 30보다 낮습니다.
단기 스톱 조건: 소모 값 아래의 소모 평균선; 또는 MACD 아래의 신호선
중장기정지 조건: 50일선 아래 150일선을 통과하거나 150일선 아래 300일선을 통과한다.
이 전략은 트렌드 endtime exhaustion을 판단하는 여러 지표와 결합하여 위험을 제어하고 다음과 같은 장점을 가지고 있습니다:
고갈 지표는 재조정과 반전을 효과적으로 판단할 수 있다. 동향 반전의 조기 발견은 위험을 효과적으로 제어하는 데 핵심이다.
동향을 판단하기 위해 다중 시간 주기의 이동 평균을 사용하며, 단기 시장 소음으로 오해하지 마십시오.
MACD는 거래점을 확인하고 전략의 실전 효과를 향상시킵니다.
RSI 지표는 낮은 가격으로 높은 가격으로 팔고, 낮은 가격으로 낮은 가격으로 팔고, 낮은 가격으로 낮은 가격으로 높은 가격으로 팔고, 낮은 가격으로 낮은 가격으로 낮은 가격으로 구매합니다.
뚜렷한 스톱로스 전략으로 거래마다 위험을 효과적으로 통제할 수 있습니다.
이 전략에는 위험도 있습니다.
여러 지표 판단에 따라, 매개 변수 설정을 잘못하면 거래 신호 오류가 발생할 수 있다. 최적화 매개 변수를 반복적으로 테스트해야 한다.
마진 지표는 완전히 신뢰할 수 없으며, 가격이 낮은 편차로 변하면 무효가 될 수 있다.
스톱포인트 설정이 잘못되면 초단계 흔들림으로 스톱포인트가 스톱포인트됩니다. 스톱포인트는 전략의 장기간 효과를 고려해야 합니다.
대시장 전체적인 흔들림에 지표는 무효가 되므로, 포지션 규모를 조절하는 데 주의가 필요하다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
다른 파라미터 조합을 테스트하여 오차 신호를 줄이기 위해 최적의 파라미터를 찾습니다. 조정 가능한 핵심 파라미터는 평균주기, 소모값주기 등입니다.
ATR과 같은 변동률 지표와 결합하여 스톱 손실을 동적으로 조정하고 큰 변동이있을 때 스톱 손실을 적절하게 완화합니다.
포지션 관리를 최적화하여, 다른 대장 단계에서 다른 포지션 비율 규칙을 미리 설정할 수 있다.
축적선, 지지선 등의 그래픽 지표와 결합하여 전략의 실전 효과를 높인다.
기계 학습 알고리즘을 추가하여 핵심 지표의 효과를 판단하고 동적 최적화를 구현합니다.
동력 소모 전략은 거래 위험을 제어하기 위해 여러 지표를 사용하여 트렌드 반전을 판단한다. 이 전략은 트렌드 추적 능력을 가지고 있으며, 구매 시기를 효과적으로 판단할 수 있다. 매개 변수 최적화, 스톱 로즈 규칙 설정, 그래픽 지표 보조 등의 방법으로 전략 효과를 더욱 향상시킬 수 있다.
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
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/
// © spiritualhealer117
//@version=4
strategy("Infiten Slope Strategy", overlay=false,calc_on_every_tick = true, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)
// //TIME RESTRICT FOR BACKTESTING {
// inDateRange = (time >= timestamp(syminfo.timezone, 2003,
// 1, 1, 0, 0)) and
// (time < timestamp(syminfo.timezone, 2021, 5, 25, 0, 0))
// //}
//OPTIMAL PARAMETERS {
daysback = 30
volumesens = 1.618
//}
//Calculating Exhaustion and Exhaustion Moving Average {
clh = close+low+high
exhaustion = (clh-sma(clh,daysback))/sma(clh,daysback)
exhaustionSma = sma(exhaustion,daysback)
//}
//Long Term Moving Averages for sell signals {
red = sma(close,300)
white = sma(close,150)
blue = sma(close,50)
plot(red,color=color.red)
plot(white,color=color.white)
plot(blue,color=color.blue)
//}
//MACD Calculation {
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//}
//SIGMOID Bottom {
timeAdjust = 300/sma(close,500)
//}
//RSI bottom {
len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(close), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//}
//Entry and exit conditions {
//Sell conditions
bigVolume = sma(volume,30)*volumesens
sellcond1 = crossunder(exhaustion,exhaustionSma) and volume > bigVolume
sellcond2 = crossunder(macd,signal) and volume > bigVolume
midtermsellcond1 = crossunder(blue,white)
longtermsellcond1 = white < red
//Buy conditions
buycond = crossover(exhaustion,exhaustionSma) and not longtermsellcond1
buycond2 = rsi < 30
buycond3 = crossover(blue,white) and longtermsellcond1
//}
//Backtest Run Buy/Sell Commands {
strategy.entry("buycond",true, when=buycond and bigVolume)
strategy.entry("buycond2",true, when=buycond2 and bigVolume)
strategy.close_all(when=sellcond1,comment="short term sell signal 1")
strategy.close_all(when=midtermsellcond1, comment="mid term sell signal 1")
strategy.close_all(when=longtermsellcond1, comment="long term sell signal 1")
strategy.close_all(when=sellcond2, comment="short term sell signal 2")
plot(strategy.position_size)
//Sell on last tested day (only for data collection)
//strategy.close_all(when=not inDateRange)
//}