이중 피크 반전 거래 전략이라고 합니다.

저자:차오장, 날짜: 2023-09-15 12:33:57
태그:

이 전략은 특정 기간 동안 가장 높은 최고 가격과 가장 낮은 낮은 가격의 간단한 이동 평균을 기반으로 구매 및 판매 신호를 생성합니다.

이중 피크 역전 거래 전략은 기술 분석에서 지원 및 저항 이론을 활용합니다. 가격이 저항 또는 지원 수준을 넘어서면 시장 힘과 동력이 바뀔 것이라고 가정합니다. 구체적으로, 가격이 최근 기간 동안 가장 높은 지점을 넘어서면 오버헤드 저항을 넘어서게됩니다. 그리고 가격이 최근 기간 동안 가장 낮은 지점을 넘어서면 지원 수준을 넘어서게됩니다. 이 두 경계 사이의 중간 지점은 가치의 중추 지점으로 간주됩니다.

이중 피크 역전 거래 전략은 먼저 지정된 기간 동안 (전환 29 일) 에서 가장 높은 가격과 가장 낮은 가격의 간단한 이동 평균을 계산합니다. 이것은 가격의 상위 및 하위 한도를 나타내는 두 개의 대역을 생성합니다. 이 두 대역의 중간 지점을 계산하여 구매 및 판매 문턱을 결정합니다.

가격이 상위 대역 이상으로 상승하면 구매 신호가 생성됩니다. 가격이 하위 대역 아래에 떨어지면 판매 신호가 생성됩니다. 트레이더는 그 다음 위치를 뒤집어, 가격이 상위 대역 아래로 떨어지면 판매하고, 가격이 하위 대역 위에 다시 상승하면 구매합니다.

이 전략의 장점은 브레이크아웃에 의해 촉발되는 모멘텀을 활용한다는 것입니다. 가격이 상부 또는 하부 한계를 넘을 때, 단기적으로 중요한 가격 움직임이 종종 발생합니다. 이것은 브레이크아웃이 발생 한 후에 거래자가 거래 할 수있는 기회를 제공합니다.

그러나 이 전략에는 몇 가지 위험도 있다. 첫째, 선택된 룩백 기간은 결과에 큰 영향을 미친다. 기간이 너무 짧으면 대역이 너무 민감해지고 많은 잘못된 신호를 생성한다. 기간이 너무 길다면 새로운 트렌드를 적시에 파악하지 못할 것이다. 또한 상위 또는 하위 한계를 넘어서면 가격이 항상 추세를 계속하지 않으며, 약간의 반전이 가능하다. 거래자는 위험을 통제하기 위해 스톱 손실을 조정해야 한다.

요약하자면, 이중 피크 반전 거래 전략은 동력 임계점을 넘어선 가격 브레이크오프를 모니터링하여 거래 기회를 찾습니다. 단기간에 브레이크오프 동력의 장점을 활용하지만 매개 변수 최적화 및 위험 통제에주의를 기울여야합니다. 올바르게 사용하면이 전략은 양적 거래에 유용한 도구가 될 수 있습니다.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 19/09/2022
// This is simple Highest high and Lowest low strategy.
// Buy when break HH+offset
// Sell when break LL+offset
// Offset = (HH-LL)/2
////////////////////////////////////////////////////////////
strategy(title='HHLL', overlay=true)
Len = input(29)
reverse = input(true, title='Trade reverse')
xHH = ta.sma(high, Len)
xLL = ta.sma(low, Len)

movevalue = (xHH - xLL) / 2
xHHM = xHH + movevalue
xLLM = xLL - movevalue

pos = 0
possig = 0
iff_1 = high > xHHM[1] and time > timestamp(2018, 01, 01, 09, 30) ? -1 : nz(pos[1], 0)
pos := low < xLLM[1] and time > timestamp(2018, 01, 01, 09, 30) ? 1 : iff_1

iff_2 = reverse and pos == -1 ? 1 : pos
possig := reverse and pos == 1 ? -1 : iff_2

if possig == 1 and possig[1] != possig and time > timestamp(2018, 01, 01, 09, 30)
    strategy.entry('Long', strategy.long)
if possig == -1 and possig[1] != possig and time > timestamp(2018, 01, 01, 09, 30)
    strategy.entry('Short', strategy.short)

barcolor(possig == -1 ? color.red : possig == 1 ? color.green : color.blue)

plot(xHHM, color=color.new(color.blue, 0), title='MA')
plot(xLLM, color=color.new(color.blue, 0), title='MA')
plot(xHH, color=color.new(color.red, 0), title='MA')
plot(xLL, color=color.new(color.red, 0), title='MA')

더 많은