이 전략은 K 라인 색상의 변화를 관찰하여 시장 트렌드를 결정하고 그에 따라 장기 및 단위 포지션을 설정합니다. 전략 원칙은 간단하고 간단하며 단기 트렌드를 포착하는 것을 목표로합니다.
이 전략은 종료 가격과 개시 가격 사이의 관계를 기반으로 K 라인의 색상을 판단합니다. 개시 가격보다 큰 종료 가격은 빨간 K 라인이며 반대로 녹색 K 라인입니다.
같은 색의 K 선이 연속적으로 표시될 때 (조정 가능함)
빨간색이라면 길게 가세요
초록색이면 짧게 가세요
K선 색이 바뀌면 모든 위치를 닫으세요
이 원칙은 명확하고 간단하며 이해하기 쉽고 적용하기 쉽습니다.
비교적 단기적인 경향을 추적하고 자주 거래할 수 있습니다.
K 라인의 수는 전략 감수성을 조정할 수 있습니다.
거래 빈도를 줄이기 위해서만 롱 또는 쇼트를 할 수 있습니다.
거래 시간 프레임은 특정 기간을 피하기 위해 설정 될 수 있습니다.
트렌드 방향을 결정하지 못해
최적의 출입 시기를 결정하지 못함, 조기 출입 위험 또는 놓친 기회
색상 변화로 역전될 위험은 반드시 실제 트렌드 변화를 나타내는 것은 아닙니다.
단기적 추구는 과도한 거래 및 수수료 압력을 초래할 수 있습니다.
부적절한 매개 변수 설정은 전략 성능의 저하로 이어질 수 있습니다.
트렌드 판단 지표를 추가하는 것을 고려하여 역입입을 피하십시오. 예를 들어 MACD, KD.
손실 위험을 줄이기 위해 후속 스톱 손실을 설정합니다.
과도한 출구를 피하기 위해 출구 기준을 적절히 완화하십시오.
진입 시기를 최적화하기 위해 다른 요인을 결합하십시오. 예를 들어, 증가하는 부피, 이전 최고치를 깨는 것.
마켓 오더를 사용해서 미끄러짐의 영향을 줄이세요.
이 전략은 가장 간단한 K-라인 기술 분석에서 시작하여 K-라인 색상을 판단하여 기본적인 트렌드 추적을 달성합니다. 장점은 단순성, 높은 거래 빈도 및 유연한 매개 변수 조정입니다. 그러나 트렌드의 품질을 결정할 수 없으므로 약간의 맹인이 있습니다. 트렌드 판단 지표를 추가하여 간단하게 유지함으로써 개선 할 수 있으며 이로 인해 전략 성능이 향상됩니다.
/*backtest start: 2023-09-10 00:00:00 end: 2023-10-10 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //2018 //Noro //@version=2 strategy("Noro's Candles Strategy v1.0", shorttitle = "Candles str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") bq = input(2, defval = 2, minval = 2, maxval = 6, title = "Bars Q") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2018, defval = 2018, 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") //Bars Q bar = close > open ? 1 : close < open ? -1 : 0 gb = bar == 1 rb = bar == -1 redbars = bq == 2 and rb and rb[1] ? 1 : bq == 3 and rb and rb[1] and rb[2] ? 1 : bq == 4 and rb and rb[1] and rb[2] and rb[3] ? 1 : bq == 5 and rb[1] and rb[2] and rb[3] and rb[4] ? 1 : bq == 6 and rb[1] and rb[2] and rb[3] and rb[4] and rb[5] ? 1 : 0 greenbars = bq == 2 and gb and gb[1] ? 1 : bq == 3 and gb and gb[1] and gb[2] ? 1 : bq == 4 and gb and gb[1] and gb[2] and gb[3] ? 1 : bq == 5 and gb[1] and gb[2] and gb[3] and gb[4] ? 1 : bq == 6 and gb[1] and gb[2] and gb[3] and gb[4] and gb[5] ? 1 : 0 //Signals up1 = redbars == 1 dn1 = greenbars == 1 exit = bar != bar[1] if up1 strategy.entry("Long", strategy.long, needlong == false ? 0 : na) if dn1 strategy.entry("Short", strategy.short, needshort == false ? 0 : na) if time > timestamp(toyear, tomonth, today, 00, 00) or exit strategy.close_all()