이 전략은 짧은 라인 스칼핑 전략의 유형에 속하며, 그 목표는 빈번하게 입장을 닫고, 소액의 수익을 내고 하향 위험을 통제하여 안정적인 수익을 달성하는 것입니다. 전략은 평균선 지표에 의해 가능한 역전점 입장을 판단하여 더 많이 입주하고, 빠른 스톱 목표를 설정하여 소액의 수익을 잠금합니다.
이 전략은 4개의 이동 평균선을 사용한다. 각각 9주기, 50주기, 100주기, 200주기 평균선이다.
구체적인 거래 규칙은 다음과 같습니다.
이러한 조합 판단은 가격이 단기간에 하락하는 시점을 찾을 수 있지만 반전될 수 있습니다.
평점점 규칙은 9 주기 평균선에서 200 주기 평균선을 통과할 때 평점보다 많은 위치를 차지한다. 여기서 더 가까운 정지 목표를 설정하고, 빈번한 작은 이윤을 통해 안정적인 수익을 달성하기 위해 노력하고 있다.
위험은 다음과 같은 방법으로 줄일 수 있습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
더 많은 평형 주기 변수를 테스트하여 역전을 더 정확하게 판단할 수 있는 조합을 찾습니다.
“이번 트렌드에서 더 많은 수익을 추구하기 위해 적절히 긴장을 풀어야 한다”.
예를 들어 KDJ, MACD 등이 확인을 하고, 무효 거래가 줄어들었다.
포지션 크기를 설정하여 특정 스톱포인트와 스톱로즈 포인트에 따라 동적으로 조정합니다.
정지 후 출전, 추세가 계속되면 조건으로 재입장 고려할 수 있다.
이 전략은 단선 스칼핑 전략 유형에 속하며, 단기 반전의 평선 조합을 판단하여 거래 신호를 형성하고, 더 가까운 스톱을 설정하여 자주 이익을 얻습니다. 이것은 단위 손실과 위험을 효과적으로 제어할 수 있으며, 소액의 성장에 적합합니다. 그러나 수익 공간이 작고 거래 빈도 등의 문제가 있습니다.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))
//Entry
bullish = crossover(movingaverage_signal, movingaverage_fast)
strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window())
//Exit
bearish = crossover(movingaverage_signal, movingaverage_slow)
Stop_loss= ((input (2))/100)
Take_profit= ((input (8))/100)
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)
strategy.close("long", when = bearish)
// close < longStopPrice or close > longTakeProfit and window())
//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2 )
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)
plot(movingaverage_mid, color=color.blue, linewidth=2)