
이 전략은 일목적인 균형표 지표에 기초하여, 스톱포드에서 개발한 트렌드 추적 전략과 결합한다. 일목적인 균형표의 변환선, 기준선 및 지연선 이 세 곡선을 구성하는 클라우드 밴드를 사용하여 가격 트렌드 방향을 판단하고, 클라우드 밴드의 상단 가장자리 스톱포드 위치로 스톱포드를 설정하여 트렌드 추적한다.
이 전략은 다음과 같은 원칙에 기초하고 있습니다.
1시 균형 표의 변환선은 지난 9일간의 최고 가격과 최저 가격의 평균값으로, 최근 가격의 평균 변화를 반영한다.
기준선은 지난 26일 동안의 최고 가격과 최저 가격의 평균값으로, 중기 가격의 평균 변화를 반영한다.
지연선은 지난 52일 동안의 최고 가격과 최저 가격의 평균값으로, 장기 가격의 평균 변화를 반영한다.
전환선과 기준선의 평균값은 선도선 1을 구성하고, 지연선은 선도선 2을 구성하며, 두 선도선 사이에 구름띠가 형성되며, 구름띠 위와 아래의 경향 방향을 판단할 수 있다.
가격이 클라우드 반도를 통과할 때 더 많은 포지션을 열고, 가격이 클라우드 반도를 통과할 때 빈 포지션을 열습니다.
클라우드 밴드의 상단과 하단에서 스톱로스를 설정하고, 가격 트렌드를 추적한다.
구체적으로, 전략은 일차 균형표의 세 개의 곡선을 정의하고, 그들의 평균값을 계산하여 선도선 1과 선도선 2을 얻습니다. 그리고 가격의 구름띠를 뚫는 상하 경계선에 따라 트렌드 방향을 판단합니다. 포지션을 열고 더 많은 공백을 한 후, 구름띠의 하위 경계 가격으로 손실 지점을 설정하여 트렌드 추적 손실을 달성합니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
일회성 평형표를 사용하여 트렌드 방향을 정확하게 판단할 수 있다. 일회성 평형표는 여러 주기 가격의 정보를 통합하여 시장 소음을 효과적으로 필터링하여 트렌드를 판단할 수 있다.
스톱피스 설정이 합리적입니다. 클라우드 밴드의 상단 경계로 스톱피스 설정은 스톱피스 범위가 합리적인 것을 보장하고 트렌드를 충분히 추적 할 수 있습니다.
전략 안정성 신뢰성 . 일시 균형표 자체는 소음 감출 능력을 가지고 있으며, 스톱로스 표와 결합하면 위험을 효과적으로 제어할 수 있다.
필요에 따라 유연하게 조정할 수 있다. 전환선, 기준선 및 지연선 주기는 시장에 따라 조정할 수 있으며, 다른 주기에 대한 적응을 실현한다.
전략적 아이디어는 명확하고 이해하기 쉽습니다. 트렌드 추적에 기반한 아이디어 디자인은 사용하기 쉽다.
이 전략에는 다음과 같은 위험도 있습니다.
스톱로스 위험을 돌파한다. 가격이 급격하게 변동할 때 스톱로스 명령을 발동하여 원래의 수익 포지션을 탈퇴할 수 있다.
흔들림 상태는 적용되지 않는다. 가격이 장기간 흔들림 상태일 때, 스톱 로드 명령은 자주 발동되어 거래가 너무 밀도가 높다.
매개 변수 설정 위험. 변환 라인, 기준 라인 및 지연 라인 주기 설정이 잘못되어 스톱 로드 범위가 너무 크거나 너무 작을 수 있습니다.
선물 거래의 미끄러짐 비용 위험. 빈번하게 공소 포지션으로 인한 미끄러짐 비용은 거래 수익성에 영향을 미칠 수 있다.
프로그램화 거래 위험. 정지, 네트워크 중단, 프로그램 버그 등이 거래 수행에 영향을 미칠 수 있다.
위와 같은 위험에 대해 다음과 같은 대응 조치를 취할 수 있습니다. 파라미터 설정을 최적화하고, 스톱 로스 알고리즘을 조정하고, 서버 안정성을 높이고, 풍력 관리를 잘하고, 엄격한 테스트 절차를 수행합니다.
이 전략은 다음과 같은 측면에서 최적화될 수 있습니다.
최적화 파라미터 설정. 다양한 주기 파라미터의 조합을 테스트하여 최적의 파라미터를 찾을 수 있다.
정지 알고리즘을 최적화한다. 이동식 정지, 진동식 정지 등의 알고리즘을 연구하여 정지가 유발되는 확률을 낮출 수 있다.
여러 지표의 판단을 결합한다. MACD, KDJ 등과 같은 더 많은 지표를 추가할 수 있어 의사결정의 정확성을 높인다.
자동으로 손실 단위를 종료하는 기능이 추가되었다. 손실이 확대되는 것을 방지했다.
재입학 제도에 가입하세요. 손해배상 탈퇴 후 재입학을 고려하세요.
자금 관리를 최적화한다. 역동적인 포지션 조정을 연구할 수 있어 수익이 더 잘 작용한다.
전반적으로, 이 전략은 명확한 사고방식, 한눈에 균형 표를 사용하여 트렌드 방향을 판단하고, 클라우드 띠의 하단 경계로 트렌드 추적 중지, 위험을 효과적으로 제어 할 수 있으며, 강력한 실용성을 가지고 있습니다. 그러나 또한 특정 위험이 존재하고, 매개 변수 설정, 중지 알고리즘 등을 최적화하고, 실장에서 안정적으로 수익을 얻기 위해风险 관리를 수행해야합니다. 이 전략은 트렌드 추적 사고방식에 기반한 손실 방지 전략을 설계하는 좋은 모범을 제공합니다.
/*backtest
start: 2022-10-27 00:00:00
end: 2023-11-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Noro's Ichimoku Stop Strategy", shorttitle = "Ichimoku Stop Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
conversionPeriods = input(9, minval = 1, title = "Conversion Periods")
basePeriods = input(26, minval = 1, title = "Base Periods")
laggingSpan2Periods = input(52, minval = 1, title = "Lagging Span")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Ichimoku
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
//Cloud
p1 = plot(leadLine1, offset = basePeriods, color=color.green, title="Lead 1", transp = 100)
p2 = plot(leadLine2, offset = basePeriods, color=color.red, title="Lead 2", transp = 100)
fill(p1, p2)
//Signals
max = max(leadLine1[basePeriods], leadLine2[basePeriods])
min = min(leadLine1[basePeriods], leadLine2[basePeriods])
up = low > max
dn = high < min
if max > 0
strategy.entry("Long", strategy.long, needlong ? na : 0, stop = max)
strategy.entry("Short", strategy.short, needshort ? na : 0, stop = min)