
이 전략은 5분 시간 주기 기반의 비트코인 스칼핑 전략이다. 9주기 및 15주기 이동 평균의 교차와 K선 형태를 거래 신호로 이용한다. 구체적으로, 빠른 이동 평균이 느린 이동 평균을 상향으로 가로질러 K선이 돌 또는 순수 선을 형성할 때 구매 신호를 생성한다. 빠른 이동 평균이 느린 이동 평균을 상향으로 가로질러 판매 신호를 생성한다. 진입 후 0.5%의 스톱 손실과 0.5%의 스톱 스탠드를 설정한다.
이 전략은 두 개의 다른 주기의 이동 평균을 사용하여 트렌드를 판단한다. 9 주기의 이동 평균은 더 민감하며 단기 트렌드를 포착 할 수 있습니다. 15 주기의 이동 평균은 안정적이며 일부 소음을 필터링 할 수 있습니다. 빠른 이동 평균이 느린 이동 평균을 상향으로 통과하면 단기 트렌드가 상승으로 바뀌는 것을 나타냅니다. 반대로 단기 트렌드는 하락으로 바뀌는 것을 나타냅니다.
또한, 이 전략은 K선 형태와 결합하여 필터링한다. 구매 신호는 단지 덩어리나 순수 선과 같은 강력한 K선들이 형성될 때만 생성된다. 이것은 정렬 과정에서 잘못된 거래 신호를 생성하는 것을 피할 수 있다.
구체적인 거래 신호와 규칙은 다음과 같습니다.
9주기 이동 평균 위에 15주기 이동 평균을 뚫고 15주기 이동 평균 각도가 30도 이상일 때, 단기 경향이 상승으로 전환되는 것을 나타냅니다.
이 때 K선 형태가 선이나 순선일 경우, 상승세가 강하다는 것을 나타낸다면, 구매 신호가 발생한다.
9주기 이동 평균 아래 15주기 이동 평균을 통과하면, 단기 트렌드가 하향으로 전환되어 판매 신호가 발생하며, K선 형태를 판단할 필요가 없습니다.
출입 후 0.5%의 스톱로스트와 0.5%의 스톱을 설정한다.
이 전략에는 다음과 같은 장점이 있습니다.
회수 작고, 수익이 안정하다. 스칼핑 전략으로, 작은 스톱로스 스탠드 마인드를 설정하고, 단일 손실이 제한되어, 역시장이 발생하더라도 크게 회수되지 않는다.
신호는 비교적 명확하다. 이동 평균의 교차는 K선 형태를 사용하여 트렌드 전환점을 인식하여 무효 을 방지한다.
자동 거래가 가능합니다. 전략 신호 규칙이 명확하고, 매개 변수 조정이 간단하며, 알고리즘 거래에 적합합니다.
비트 코인의 높은 변동성에 적합하다. 디지털 화폐로서 비트 코인의 변동성이 크고, 단기 조정이 빈번하다. 이 전략을 사용하면 짧은 라인 거래 기회를 잡을 수 있다.
이 전략에는 몇 가지 위험도 있습니다.
소액 손실이 발생할 수 있다. 비트 코인 시장의 양면성이 강하며, 정지 손실이 유발 될 확률이 높으며, 연속 정지는 손실이 발생할 수 있다.
매개 변수 설정은 지속적으로 최적화해야 한다. 이동 평균 매개 변수 및 스톱 스 설정은 시장에 따라 조정해야 한다. 그렇지 않으면 효과가 저하된다.
효과는 추세에 의존한다. 재조정 시, 이 전략은 빈번한 거래가 있지만 소액의 손실을 초래할 수 있다.
대응방법은 다음과 같습니다.
단편 주문 규모를 늘리고 적당히 수익을 창출할 수 있도록 한다.
시장의 변화에 따라 변수 설정을 조정합니다.
거래상황을 파악하여 재정에서 유효하지 않은 거래를 피하십시오.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
예를 들어, 이동 평균을 추적하고 실시간으로 스톱 라인을 조정하고, 동적으로 목표 수익을 변경합니다.
다른 지표와 함께 필터링 신호를 니다. 예를 들어, RSI 지표는 과매매, 거래량이 증가하는 것을 판단합니다.
다양한 종류의 계약을 테스트하는 것. 이 전략을 사용하여 석유, 주식 지수 선물과 같은 종류의 스칼핑 거래를 수행하는 것.
매개 변수 최적화 및 재검토 최적화를 수행하여 최적의 매개 변수를 결정한다.
전반적으로 이 전략은 효과적인 비트코인 단선 스칼핑 전략이다. 단순하고 실행하기 쉽고, 높은 구성성이 있다. 지속적인 최적화와 조정으로 안정적인 스칼핑 거래 수익을 얻을 수 있다. 하지만 거래는 위험주의와 상쇄손실 및 포지션을 적절하게 통제하는 것도 필요합니다. 또한, 시장과 자신의 상황에 따라 전략을 최적화하여 더 나은 효과를 얻을 수 있습니다.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Moving Average Crossover Strategy with Candlestick Patterns", overlay=true)
// Define input parameters
fast_length = input(9, "Fast MA Length")
slow_length = input(15, "Slow MA Length")
stop_loss_percent = input(0.5, "Stop Loss (%)")
target_percent = input(0.5, "Target (%)")
angle_threshold = input(30, "Angle Threshold (degrees)")
// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)
// Define candlestick patterns
is_pin_bar() =>
pin_bar = abs(open - close) > 2 * abs(open[1] - close[1])
high_tail = max(open, close) - high > abs(open - close) * 1.5
low_tail = low - min(open, close) > abs(open - close) * 1.5
pin_bar and high_tail and low_tail
is_marubozu() =>
marubozu = abs(open - close) > abs(open[1] - close[1]) * 0.75
no_upper_shadow = high == max(open, close)
no_lower_shadow = low == min(open, close)
marubozu and no_upper_shadow and no_lower_shadow
is_full_body() =>
full_body = abs(open - close) > abs(open[1] - close[1]) * 0.95
full_body
// Plot moving averages
plot(fast_ma, color=color.blue, title="Fast MA")
plot(slow_ma, color=color.red, title="Slow MA")
// Calculate angle of slow moving average
ma_angle = abs(180 * (atan(slow_ma[1] - slow_ma) / 3.14159))
// Generate buy/sell signals based on angle condition and candlestick patterns
buy_signal = crossover(fast_ma, slow_ma) and ma_angle >= angle_threshold and (is_pin_bar() or is_marubozu() or is_full_body())
sell_signal = crossunder(fast_ma, slow_ma)
// Calculate stop-loss and target levels
stop_loss_level = close * (1 - stop_loss_percent / 100)
target_level = close * (1 + target_percent / 100)
// Execute trades based on signals with stop-loss and target
strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.exit("Exit", "Buy", stop=stop_loss_level, limit=target_level)
// Plot buy/sell signals on chart (optional)
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Plot angle line
hline(angle_threshold, "Angle Threshold", color=color.black, linestyle=hline.style_dashed)