
이 전략은 초 트렌드 지표를 기반으로 입점을 판단하고, 지표가 역전될 때 더 많은 공백을 한다. 동시에 3개의 다른 비율의 정지표를 설정하여 각각 2% , 5% 및 10%의 정지표를 고정하여 다양한 수준의 이익을 잠금한다.
이 전략은 오버 트렌드 지표를 사용하여 시장의 흐름을 판단한다. 오버 트렌드 지표는 평균 실제 파동과 배수 인자에 기초하여, 가격이 상승 궤도를 초과 할 때 과매매 형태이며, 가격이 하락 궤도를 넘어설 때 과매매 형태이다. 따라서, 이 전략은 오버 트렌드 지표의 방향 변화를 모니터링하여 오버 트렌드 지표의 방향 변화를 모니터링하여 오버 및 하락을 판단한다.
구체적으로 말하면, 초 트렌드 지표의 변화가 0보다 작을 때, 즉 지표가 위아래로 반전하여 더 많은 신호를 형성하는 것을 의미합니다. 초 트렌드 지표의 변화가 0보다 크면, 즉 지표가 위아래로 반전하여 더 많은 신호를 형성하는 것을 의미합니다. 더 많은 또는 더 많은 신호를 수신 한 후, 진입 가격을 기록하고, 진입 주문을합니다.
이 전략은 동시에 3개의 서로 다른 비율의 정지 명령을 설정하고, 그들의 정지 가격은 입시 가격의 1.02배, 1.05배, 1.10배이며, 2%의 고정 정지, 5%의 고정 정지, 10%의 고정 정지입니다. 이 3개의 정지 통의 수 비율은 각각 25%, 50% 및 25%로 설정되어 있습니다. 포지션 개설 신호를 수신한 후, 이 전략은 동시에 3개의 정지 통을 설치하여, 서로 다른 수준의 이익을 잠금하는 것을 목표로합니다.
이 전략에는 다음과 같은 장점이 있습니다.
초트렌드 지표를 사용하여 진입을 판단하여, 트렌드 반전점을 효과적으로 포착하고, 정확하게 더 많은 공백을 수행한다.
다양한 Stop Order 비율을 설정하여 각기 다른 수준의 수익을 잠금화하여 회수율을 낮출 수 있습니다.
스톱 설정은 보수적이어서 2%와 5%와 10%의 목표 수익을 주력으로 하며, 과도한 수익을 추구하는 데 따른 손실 확장을 피한다.
전략 논리는 간단하고 명확하며, 이해하기 쉽고 수정할 수 있으며, 양적 거래의 초보자에게 적합합니다.
이 전략에는 몇 가지 위험도 있습니다.
초트렌드 지표가 잘못 설정되어 있고, 트렌드 반전점을 놓칠 수 있으며, 입장이 정확하지 않습니다.
정지 위치 설정이 너무 보수적이어서 더 많은 수익을 창출하는 기회를 놓칠 수 있습니다.
급격한 사건으로 인해 급격한 비행 또는 단절, 초 트렌드 지표는 반응하지 못하고, 정지 피해가 유발된다.
전략에는 스톱로스 조건이 설정되어 있지 않으며, 무한한 손실의 위험이 존재한다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
다양한 초트렌드 지표의 매개 변수를 테스트하고 지표의 민감도를 최적화한다.
최대 손실을 설정하고, 위험을 통제하기 위해 스톱 조건을 추가합니다.
다른 품종과 거래 주기에 따라 정지 비율과 정지 수를 조정하십시오.
다른 지표들을 필터링하여, 충격적인 상황에서 자주 포지션을 열지 않도록 한다.
자본 활용도를 최적화하고, 전략의 기본 거래량을 조정하여 단위 위험을 줄입니다.
이 전략은 전체적으로 비교적 간단하고 실용적입니다. 그것은 초 트렌드 지표를 사용하여 입문 시점을 판단하고, 그 다음 여러 개의 스톱 을 사용하여 수익을 잠금화하여 위험을 효과적으로 제어합니다. 그러나 전략에 더 이상 최적화 할 수있는 곳이 있습니다.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy( "Supertrend with TP", overlay=true )
// Supertrend Settings
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
// TP's
tp1Open = input.bool(true, "TP1")
tp1 = input.float(2.0, "TP Level (%)", step = 0.1) / 100
tp1Amount = input.int(25, "Amount (%)", step = 1)
tp2Open = input.bool(true, "TP2")
tp2 = input.float(5.0, "TP Level (%)", step = 0.1) / 100
tp2Amount = input.int(50, "Amount (%)", step = 1)
tp3Open = input.bool(true, "TP3")
tp3 = input.float(10.0, "TP Level (%)", step = 0.1) / 100
tp3Amount = input.int(25, "Amount (%)", step = 1)
[_, direction] = ta.supertrend(factor, atrPeriod)
entryPrice = 0.0
entryPrice := entryPrice[1]
if ta.change(direction) < 0
strategy.entry("Long", strategy.long)
entryPrice := close
if ta.change(direction) > 0
strategy.entry("Short", strategy.short)
entryPrice := close
if (tp1Open)
strategy.exit ("TP1", from_entry="Long", limit=entryPrice * (1 + tp1), qty_percent=tp1Amount)
strategy.exit ("TP1", from_entry="Short", limit=entryPrice * (1 - tp1), qty_percent=tp1Amount)
if (tp2Open)
strategy.exit ("TP2", from_entry="Long", limit=entryPrice * (1 + tp2), qty_percent=tp2Amount)
strategy.exit ("TP2", from_entry="Short", limit=entryPrice * (1 - tp2), qty_percent=tp2Amount)
if (tp3Open)
strategy.exit ("TP3", from_entry="Long", limit=entryPrice * (1 + tp3), qty_percent=tp3Amount)
strategy.exit ("TP3", from_entry="Short", limit=entryPrice * (1 - tp3), qty_percent=tp3Amount)