
낮은 가격으로 구매하고 높은 가격으로 판매하는 전략은 매우 간단하지만 효과적인 장기 거래 전략이다. 이 전략은 암호화폐가 크게 떨어지면 자동으로 구매하고 상승세가 설정된 목표에 도달하면 판매하여 시장이 크게 변동할 때 수익을 얻는다.
이 전략의 핵심은 주어진 회귀 기간 동안의 암호화폐의 급락을 계산하여 시장이 크게 떨어졌는지 판단하는 것입니다. 최근 기간 동안 암호화폐 가격이 설정된 하락값을 크게 뛰어넘을 때, 시장이 극심한 공포에 처할 수 있음을 나타내는 경우, 이 전략은 자동으로 구매합니다. 또한, 이 전략은 정지점과 정지점을 설정하여 가격이 두 점을 만지면 자동으로 정지 또는 정지합니다.
구체적으로, 이 전략은 trailing_change 함수를 사용하여 주어진 회귀 기간 동안 암호화폐의 전체 상승과 하락을 계산한다. 최근 inp_lkb 루트 K 라인 내에서 암호화폐의 상승과 하락이 설정된 파라미터 dip의 마이너스 값보다 작을 때, 구매 조건에 적합한 큰 하락이다. 이 때 재측 시간 창 내에서 전략의 구매 포지션 연산을 촉발한다.
포지션 개시 후, 이 전략은 가격 변화를 실시간으로 추적하여 두 가지 출구 조건을 설정합니다: 1) 가격이 개시 가격의 (1 - 중지 손실 비율) %를 넘어서는 경우, 중지 손실 평점을 촉발합니다. 2) 가격이 개시 가격의 (1 + 중지 손실 비율) %를 넘어서는 경우, 중지 평점을 촉발합니다.
이 낮은 구매 고 판매 전략의 가장 큰 장점은 매우 간단하고 실행하기 쉽다는 것입니다. 그것은 복잡한 기술적 인 지표가 필요하지 않으며, 최근의 상승 하락에 의존하여 시장 상황을 판단하기 때문에 거래 초보자에게 적합합니다. 또한 낮은 구매 고 판매는 장기적으로 효과적인 전략입니다.
또한, 이 전략은 중지 손실 및 중지 설정을 지원하여 개별 거래의 손실을 효과적으로 제어하고 수익의 일부를 잠금 할 수 있습니다. 이것은 또한 이 전략이 시장의 큰 불리한 변동이 발생하더라도 손실을 견딜 수 있는 범위 내에서 제어 할 수 있도록 고정 거래에 적합합니다.
이 전략의 주요 위험은 시장이 반전되는 시점을 결정할 수 없다는 것입니다. 시장이 계속 하락하고 반발하지 않으면 입장을 열어 구입한 입장은 큰 손실이 발생할 수 있습니다.
주의해야 할 또 다른 위험은, 만약 시장에 급격한 변동이 발생하면, 가격이 단기간에 중지 또는 중지 조건을 유발할 수 있다는 것입니다. 이것은 추가 거래 비용을 초래할 수 있습니다. 특히 시장이 급격히 변동할 때, 가격이 단기간에 연속적으로 여러 개의 중지 또는 중지 조건을 유발하는 것은 드물지 않습니다.
위와 같은 위험에 대해, 우리는 더 넓은 회귀 기간을 설정할 수 있습니다. 구매 신호가 더 안정적이고 신뢰할 수 있도록 구매 신호를 설정할 수 있습니다. 또한, 특정 거래 침착 기간을 추가하여 평점 이후의 기간 동안 새로운 포지션을 열지 마십시오. 가격 변동으로 인한 거래 빈도 과잉 문제를 효과적으로 줄일 수 있습니다.
이 전략에는 더 많은 최적화가 가능하며, 다음과 같은 부분에 집중됩니다.
동적으로 조정하는 스톱 스톱 파라미터. 시장의 변동에 따라 스톱 스톱의 폭과 스톱 스톱의 폭을 조정할 수 있으며, 시장의 공포시 스톱 스톱의 폭을 느슨하게 설정하고, 상황이 좋아지면 적절한 스톱 스톱의 폭을 강화할 수 있습니다.
구매 시점을 판단하는 여러 요소를 결합하십시오. 최근 상승과 하락 외에도 거래량 변화와 같은 다른 요소를 도입하여 더 신뢰할 수있는 반전 신호를 결정할 수 있습니다.
재입장 메커니즘에 가입하십시오. 상쇄 또는 정지 후, 새로운 역전 기회에 다시 구매하기 위해 특정 재입장 전략을 설정할 수 있습니다.
이 낮은 가격의 고가 판매 전략은 전체적으로 암호화폐의 이러한 높은 변동 시장에 매우 적합하며, 시장의 역전 기회를 캡처하고, 손실을 막기 위해 스톱 을 설정합니다. 이 전략은 매우 간단하고, 이해하기 쉽고, 실행하기에 적합하며, 거래 초보자에게 매우 적합합니다. 추가적인 최적화를 통해 더 안정적인 전략 성능을 얻을 수 있습니다.
/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
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/
// © Coinrule
//@version=3
strategy(shorttitle='Buy the Dips',title='Buy the Dips (by Coinrule)', overlay=true, initial_capital = 1000, 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")
fromDay = input(defval = 10, title = "From Day")
fromYear = input(defval = 2020, title = "From Year")
thruMonth = input(defval = 1, title = "Thru Month")
thruDay = input(defval = 1, title = "Thru Day")
thruYear = input(defval = 2112, title = "Thru Year")
showDate = input(defval = true, title = "Show Date Range")
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
inp_lkb = input(1, title='Lookback Period')
perc_change(lkb) =>
overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100
// Call the function
overall = perc_change(inp_lkb)
//Entry
dip= -(input(2))
strategy.entry(id="long", long = true, when = overall< dip and window())
//Exit
Stop_loss= ((input (2))/100)
Take_profit= ((input (2))/100)
longStopPrice = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)
strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())