주간 돌파구 이동 평균 거래 전략

저자:차오장, 날짜: 2024-01-18 11:47:25
태그:

img

전반적인 설명

이 전략은 비트코인의 주간 종료 가격과 8주 간 간단한 이동 평균을 기반으로 거래한다. 주간 종료 가격이 8주 간 라인을 넘어서면 장기화되고 주간 종료 가격이 8주 간 라인을 넘어서면 포지션을 종료한다. 또한 위험 통제를 위해 스톱 로스 및 취익 비율을 설정한다.

전략 논리

이 전략은 비트코인의 주간 가격 행동과 8주 간 간단한 이동 평균을 분석하여 시장이 상승 추세 또는 하락 추세에 있는지 판단합니다. 주간 종료 가격이 8주 경계를 넘어서면 시장이 상승 추세 채널에 진입했으며 긴 포지션이 이익을 얻을 수 있음을 신호합니다. 주간 종료 가격이 8주 경계를 넘어서면 비트코인 주간 차트가 하락 추세 채널에 진입했으며 기존의 긴 포지션이 중단되어야한다는 신호입니다.

특히 전략은 다음과 같은 거래 조건들을 정하고 있습니다.

buy_condition = crossover(btc,ma) #weekly closing price breaks above 8-week line, go long
sell_condition = crossunder(btc,ma) #weekly closing price breaks below 8-week line, close position

구매 조건이 충족되면 전략은 길게 진행됩니다. 판매 조건이 활성화되면 전략은 수익을 취하거나 손실을 멈추고 종료됩니다.

또한, 스톱 로스 및 영업률은 다음과 같이 구성됩니다.

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY") 

기본 스톱 로스 비율은 1이고 기본 취익 비율은 3입니다. 이것은 출구 신호가 오면 현재 수익성이 있다면 3배의 수익으로 출구한다는 것을 의미합니다. 현재 손실이 있다면 1배의 손실로 출구한다는 것을 의미합니다.

이점 분석

이 전략의 장점은 다음과 같습니다.

  1. 주간 기간, 소모가 적고, 장기 보유에 적합합니다.
  2. 8주간의 MA는 소음을 필터링하고 주요 추세를 식별합니다.
  3. 스톱 손실 및 수익 통제 위험

위험 분석

또한 몇 가지 위험이 있습니다.

  1. 단기 가격 움직임에 따라 위치를 조정할 수 없습니다.
  2. 파기 신호는 잘못된 신호가 있을 수 있습니다.
  3. 극심한 시장 현상 중 Stop Loss/Take Profit가 실패할 수 있습니다.

대책:

  1. 다른 단기 지표와 결합하여 단기 기회를 잡습니다.
  2. 잘못된 신호를 피하기 위해 필터를 추가합니다.
  3. 손실을 제한하기 위해 시장 조건에 기초한 스톱 로스/프로프트 취득 비율을 조정

최적화 방향

이 전략을 개선할 수 있는 몇 가지 방법:

  1. 유효한 브레이크아웃 신호를 보장하기 위해 추가 필터를 추가
  2. 스톱 로스 및 수익률을 최적화
  3. 멀티 타임프레임 분석을 위한 단기 지표를 포함
  4. 매개 변수를 자동 최적화하기 위해 기계 학습을 사용

결론

요약하자면, 이것은 주간 브레이크오웃과 이동 평균을 기반으로 트렌드를 판단하는 간단하고 직설적인 전략입니다. 또한 스톱 로스 및 영업 영업을 통해 위험을 제어합니다. 장기 비트코인 보유에 대한 참조 시스템으로 사용될 수 있습니다. 그러나 신호 품질, 매개 변수 조정, 멀티 타임프레임 분석 등에 대한 개선이 가능한 몇 가지 제한이 있습니다.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 3m
basePeriod: 1m
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/
// © taberandwords
//developer: taberandwords
//author: taberandwords
//@version=4

strategy("WEEKLY BTC TRADING SCRYPT","WBTS",overlay=false,default_qty_type=strategy.fixed)

source=input(defval=close,title="source",group="STRATEGY")

btc=security('BTCUSDT','1W', source)
ma=sma(btc,8)

buy_condition= crossover(btc,ma) 
sell_condition= crossunder(btc,ma)

ma_color=input(defval=#FF3232,title="COLOR",group="MA")
ma_linewidth=input(defval=2,title="LINE WIDTH",group="MA")
graphic_color=input(defval=#6666FF,title="COLOR",group="GRAPHIC")
graphic_linewidth=input(defval=2,title="LINE WIDTH",group="GRAPHIC")

start_date=input(defval=2020,title="YEAR",group="STRATEGY EXECUTION YEAR")

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")

if(year>=start_date)
    strategy.entry('BUY',long=true,when=buy_condition,alert_message='Price came to buying value!')

    if(strategy.long)
        alert('BTC buy order trigerred!',alert.freq_once_per_bar)
    strategy.exit(id="SELL",loss=loss_ratio,profit=reward_ratio,when=sell_condition,alert_message='Price came to position closing value!')
    if(sell_condition)
        alert('BTC sell order trigerred!',alert.freq_once_per_bar)
plot(series=source,title="WEEKLY CLOSE",color=graphic_color,linewidth=graphic_linewidth)
plot(ma,title="SMA8 WEEKLY",color=ma_color,linewidth=ma_linewidth)
plot(strategy.equity,display=0)


더 많은