이동 평균 평균 응답 전략은 매우 간단한 트렌드 트레이딩 전략이다. 그것의 핵심 아이디어는 단기 이동 평균이 장기 이동 평균보다 일정 비율이 낮을 때 더 많이 하고, 단기 이동 평균에 장기 이동 평균을 가로질러 평점이다. 이 전략은 먼저 단기 이동 평균과 장기 이동 평균을 계산하고, 두 이동 평균의 관계에 따라 거래 신호를 생성한다.
이 전략은 주로 두 개의 이동 평균, 즉 단기 이동 평균과 장기 이동 평균에 의존한다. 단기 이동 평균은 smallMAPeriod이며 장기 이동 평균은 bigMAPeriod이다. 전략은 먼저 두 개의 이동 평균을 계산하고 두 개의 이동 평균의 크기의 관계를 비교한다.
단기 이동 평균이 상향에서 아래로 내려가 장기 이동 평균의 일정한 비율 (%BelowToBuy 변수로 설정) 을 넘어서면, 구매 신호가 발생하고, 더 많이 시장에 들어간다. 단기 이동 평균이 추후 상승하여 장기 이동 평균을 다시 넘어서면, 판매 신호가 발생하고, 매매가 청산된다.
이 전략은 단기 이동 평균과 장기 이동 평균 사이의 평균값 응답 기회를 포착한다. 단기 이동 평균이 장기 이동 평균보다 어느 정도 낮을 때, 자산이 과소 평가 될 수 있음을 나타내고 평균값으로 돌아가는 기회가 있어야, 더 많이 하면 반발 수익을 얻을 수 있다.
이동 평균 평균 응답 전략은 다음과 같은 장점이 있습니다:
이 전략은 간단한 매개 변수를 최적화하면 좋은 효과를 얻을 수 있습니다. 이동 평균 매개 변수와 양도 비율 매개 변수를 조정하여 주식, 외환, 암호화폐와 같은 다양한 시장 자산에 대한 피드백을 통해 최적의 매개 변수 조합을 선택할 수 있습니다.
이동 평균 평균 응답 전략에는 몇 가지 위험도 있습니다.
위험은 다음과 같은 방법으로 줄일 수 있습니다.
이동 평균 평균 응답 전략은 다음의 몇 가지 측면에서 최적화 될 수 있습니다:
이동 평균均回策은 단기 및 장기간에 걸쳐 두 개의 이동 평균의 관계를 비교하여 단기 가격의 장기적인 추세에서 벗어난 후 회귀 기회를 잡습니다. 이 전략의 아이디어는 간단하고 이해하기 쉽고 구현할 수 있으며, 파라미터를 최적화하여 더 나은 효과를 얻을 수 있습니다. 그러나 거래 신호가 적고 가격 전환을 쉽게 놓칠 수있는 위험이 있습니다.
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=4
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//
// @author Sunil Halai
//
// This very simple strategy is an implementation of PJ Sutherlands' Jaws Mean reversion algorithm. It simply buys when a small moving average period (e.g. 2) is below
// a longer moving average period (e.g. 5) by a certain percentage, and closes when the small period average crosses over the longer moving average.
//
// If you are going to use this, you may wish to apply this to a range of investment assets, as the amount signals is low. Alternatively you may wish to tweak the settings to provide more
// signals.
strategy("Jaws Mean Reversion [Strategy]", overlay = true)
//Strategy inputs
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)
//Strategy calculation
smallMA = sma(source, smallMAPeriod)
bigMA = sma(source, bigMAPeriod)
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]
if(crossunder(smallMA, buyMA))
strategy.entry("BUY", strategy.long)
if(crossover(smallMA, bigMA))
strategy.close("BUY")