
이 전략의 목적은 지표의 특정 시간 동안의 가격 변화의 비율을 검출하고, 설정된 경계를 초과하면 거래 신호를 발생시키는 것입니다. 이 전략은 짧은 라인 및 하반기 거래에 적용되며, 급격한 시장 상황 변화로 인한 거래 기회를 잡을 수 있습니다.
입력된 변수 x는 검사된 K선 주기 수를 나타내고, 기본값은 5는 5분 K선 을 나타낸다.
현재 K선 종결 가격과 x주기 전 종결 가격의 변화 비율을 계산하고, trueChange1과 trueChange2로 저장한다.
입력한 arguments percentChangePos와 percentChangeNeg은 설정된 변화의 비율을 나타냅니다. 0.4%와 -0.4%를 기본으로 니다.
trueChange1이 %ChangePos보다 크면 구매 신호를 발생시키고, trueChange2이 %ChangeNeg보다 작으면 판매 신호를 발생시킨다.
구매 및 판매 상태에 대한 텍스트와 배경 표시를 그리기
신호 설정에 따라 입출장 조건
알람을 설정하고 지도를 니다.
절대적인 가격변동이 아닌 비율변화를 사용하여, 다른 기준에 맞게 파라미터를 자동으로 조정할 수 있다.
부린역의 양쪽에서 돌파구를 식별하기 위해, 긍정적인 변화와 부정적인 변화의 비율을 유연하게 설정할 수 있다.
탐지주기 파라미터를 조정하여 다른 시간 동안의 트렌드 변화를 식별할 수 있다.
중요한 신호를 놓치지 않도록 알람 경고를 설정할 수 있습니다.
간단하고 직접적인 구매/판매 신호 논리, 사용법을 이해하기 쉬운 것.
그리고 그 다음에는, “이런 일이 일어날 수 있습니다.
이 비율의 변화는 트렌드 방향을 판단할 수 없고, 잘못된 신호를 줄 수 있다.
기본 매개 변수는 모든 표준에 적합하지 않을 수 있으며, 타겟 조정이 필요합니다.
단독 손실을 통제할 수 없는 손해배상 수단이 없습니다.
신호가 자주 발생하고 거래 비용이 더 많이 발생할 수 있습니다.
시장 구조를 판단할 수 없고, 불안한 시장에서 쉽게 속일 수 있다.
해결책:
트렌드 선형 회귀와 같은 지표와 결합하여 대 트렌드를 판단한다.
다른 표준의 특성에 따라 최적화 매개 변수를 설정한다.
적절하게 중지 조건을 설정하십시오.
신호를 필터링하여 너무 자주 거래하는 것을 피하십시오.
더 높은 시기를 기준으로 시장 구조를 판단하고, 흔들리는 시장에서 맹목적으로 거래하는 것을 피하십시오.
단편적 손실을 통제하기 위해 추적 중지, 이동 중지와 같은 손해 방지 장치를 추가하십시오.
필터링 조건을 추가하여, 가속을 방지하기 위해, 가속도 측정, 이동 평균 등이 필요합니다.
MACD와 같은 지표 확인 신호를 결합하여 매매점 설정을 최적화한다.
기계 학습 방법을 사용하여 자동으로 최적화 파라미터.
시장 구조에 대한 판단을 높이고, 흔들리는 시장에서 맹목적으로 거래하는 것을 피하십시오.
지표의 변동성, 유동성 등의 차이를 고려하고, 동적 설정 매개 변수를 다.
높은 수준의 시간 주기 분석과 결합하여 큰 트렌드 방향을 판단하십시오.
이 전략은 가격 변화 비율과 미리 설정된 하락값을 비교하여 매매 시기를 판단하는 단기 역전 전략에 속한다. 장점은 간단하고 직관적이며, 조정 가능한 유연하며, 갑작스러운 발행 상황을 포착하는 데 적합하다. 단점은 일정 손실 위험이 존재하며, 추세 판단과 위험 제어 수단의 사용과 함께 필요하다. 전체적으로 이 전략의 아이디어는 명확하고 이해하기 쉽고, 합리화하면 효과적인 짧은 라인 거래 전략이 될 수 있다.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// created by Oliver
strategy("Percentage Change strategy w/BG color", overlay=true, scale=scale.none, precision=2)
x = input(5, title = 'x candles difference', minval = 1)
trueChange1 = (close - close[x]) / close[x] * 100
percentChangePos = input(0.4, title="Percent Change")
//if (percentChange > trueChange) then Signal
plotChar1 = if percentChangePos > trueChange1
false
else
true
plotchar(series=plotChar1, char='🥶', color=color.green, location=location.top, size = size.tiny )
trueChange2 = (close - close[x]) / close[x] * 100
percentChangeNeg = input(-0.4, title="Percent Change")
plotChar2 = if percentChangeNeg < trueChange2
false
else
true
plotchar(series=plotChar2, char='🥵', color=color.red, location=location.top, size = size.tiny)
//------------------------------------------------------------------------
UpColor() => percentChangePos < trueChange1
DownColor() => percentChangeNeg > trueChange2
//Up = percentChangePos < trueChange1
//Down = percentChangeNeg > trueChange2
col = percentChangePos < trueChange1 ? color.lime : percentChangeNeg > trueChange2 ? color.red : color.white
//--------
condColor = percentChangePos < trueChange1 ? color.new(color.lime,50) : percentChangeNeg > trueChange2 ? color.new(color.red,50) : na
//c_lineColor = condUp ? color.new(color.green, 97) : condDn ? color.new(color.maroon, 97) : na
//barcolor(Up ? color.blue : Down ? color.yellow : color.gray, transp=70)
//Background Highlights
//bgcolor(condColor, transp=70)
//---------
barcolor(UpColor() ? color.lime: DownColor() ? color.red : na)
bgcolor(UpColor() ? color.lime: DownColor() ? color.red : na)
//------------------------------------------------------------------------
buy = percentChangePos < trueChange1
sell = percentChangeNeg > trueChange2
//------------------------------------------------------------------------
/////////////// Alerts ///////////////
alertcondition(buy, title='buy', message='Buy')
alertcondition(sell, title='sell', message='Sell')
//-------------------------------------------------
if (buy)
strategy.entry("My Long Entry Id", strategy.long)
if (sell)
strategy.entry("My Short Entry Id", strategy.short)
/////////////////// Plotting ////////////////////////
plotshape(buy, title="buy", text="Buy", color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0) //plot for buy icon
plotshape(sell, title="sell", text="Sell", color=color.red, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0)