이치모쿠 스칼핑 전략 5분 시간

저자:차오장, 날짜: 2023-12-12 18:12:02
태그:

img

전반적인 설명

이 전략은 5분 시간 프레임에 최적화된 이치모쿠 브레이크아웃 스칼핑 시스템이다. 이 전략은 전환선, 기본선 및 선도 스판과 같은 이치모쿠 요소를 활용하여 단기 추진력을 포착한다. 전통적인 이치모쿠 전략과는 달리 이 시스템은 고주파 거래에 맞춘 맞춤형 매개 변수를 갖추고 있다.

이 전략의 근거는 전환선이 기본선을 넘을 때 길거나 짧게가는 것이며, 이치모쿠 클라우드 경계를 넘을 때 가격의 추가 조건이 트렌드 방향성을 확인하는 것입니다. 위험 통제를 위해 스톱 로스 및 영업 수준도 정의됩니다.

전략 논리

이 전략은 주로 변환 라인 교차 기본 라인을 사용하여 긴 신호와 짧은 신호를 구성합니다. 변환 라인은 가격의 단기 동력을 반영하는 반면 기본 라인은 중기 트렌드를 보여줍니다.

구체적으로, 변환선이 기본선을 넘을 때, 가격이 이치모쿠 클라우드의 선도 스펀 A와 B 모두 이상인 조건으로 긴 신호를 유발합니다. 이것은 상향 브레이크오프를 확인합니다. 반대로, 변환선이 기본선을 넘을 때, 짧은 신호를 생성합니다. 주어진 가격은 하향 브레이크오프를 보장하기 위해 클라우드의 선도 스펀 아래에 있습니다.

또한, 두 개의 입력 매개 변수인 %Stop 및 %TP는 각각 스톱 손실 비율과 수익률을 나타냅니다. 트레이더들은 자신의 위험 욕구에 따라 이러한 숫자를 조정할 수 있습니다. 스톱 손실 및 수익률 가격은 포지션의 평균 입시 가격에서 계산됩니다.

장기 또는 단위 신호가 활성화되면 해당 스톱 로스 및 영업 주문도 배치됩니다. 가격이 어느 한계까지 도달하면 기존 포지션은 종료됩니다.

이점 분석

전통적인 이치모쿠 전략과 비교하면 이 시스템은 다음과 같은 개선 사항을 수행했습니다.

  1. 가격 변화 탐지 속도를 높이기 위해 변환 라인 기간이 9로 단축되었습니다.
  2. 중장기 동향을 나타내기 위해 기준 라인 기간은 26로 유지됩니다.
  3. 유도 기간 B 기간은 52로 확장되어 장기적인 경향 방향을 측정합니다.
  4. 이동은 26로 정해져 이치모쿠 구름이 26차례 앞으로 이동합니다.

이러한 조정으로 전략은 5분 간 고주파 거래에 더 적합해지며, 지역 극단 주변의 평균 역전 기회를 빠르게 식별할 수 있다. 클라우드 시각화는 또한 단기 트렌드에 비해 장기 트렌드를 보여주면서 효율성을 향상시킨다.

또한, 스톱 로스 및 취득 로직은 편의성을 위해 내장되어 있어 초보자 친화적입니다.

위험 분석

이 전략의 주요 위험은 다음과 같습니다.

  1. 스칼핑 전략은 거래 비용에 민감합니다. 낮은 수수료를 받는 브로커가 좋습니다.
  2. 평균 리버전 시스템은 시장에서 휘프사 (whipsaws) 에 취약하여 스톱 로스 트리거를 유발합니다.
  3. 기본 사항은 고려되지 않아 전략은 주요 사건에 실패할 수 있습니다.
  4. 최적화된 기간은 제품마다 매우 다르게 성능을 발휘할 수 있으며 별도의 최적화가 필요합니다.

다음 방법 들 은 위험 을 조절 하는 데 도움 이 될 수 있다.

  1. 단 하나의 거래 손실 노출을 제한하기 위해 Stop Loss 비율을 높여
  2. 높은 변동성을 가진 거래 세션을 피하고, 비교적 안정적인 기간에 집중하십시오.
  3. 근본적인 분석을 결합하고 중요한 사건에 대한 전략을 배포하지 마십시오.
  4. 최적의 조합을 찾기 위해 각 제품별로 매개 변수를 테스트합니다.

더 나은 기회

전략의 잠재적인 개선 영역:

  1. 입구 신호를 증가시키기 위해 변동성 메트릭과 볼륨을 포함합니다.
  2. 트레일링 스톱 로스나 브레이크 로스 같은 적응식 스톱 로스 메커니즘을 도입해야 합니다.
  3. 기계 학습 기술을 활용하여 더 나은 시장 간 적용을 위해 매개 변수를 훈련하십시오.
  4. 주요 발표에 대한 왜곡을 피하기 위해 기본 신호를 결합합니다.

이러한 추가는 더 많은 시장 조건에서 전략의 안정성을 향상시킬 가능성이 있습니다.

결론

이치모쿠 스칼핑 전략은 고주파 적용을 위해 전통적인 설정을 조정합니다. 이치모쿠 클라우드 시각화와 결합된 변환 라인 크로스오버 기본 라인은 단기 트렌드를 신속하게 식별 할 수 있습니다. 내장 스톱 로스 / 취리 영리 컨트롤은 위험 관리를 더욱 용이하게합니다.

이 전략은 그 장점을 가지고 있지만, 평균 회귀 시스템의 전형적인 한계는 남아 있습니다. 변동성, 기계 학습 및 이벤트와 같은 측면에 대한 추가 개선은 복잡한 환경에 대한 전략을 더욱 견고하게 할 수 있습니다.


/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Scalping Ichimoku Strategy", shorttitle="Scalp Ichimoku", overlay=true)

showBB = input(true, "Show Ichimoku Cloud")
showTrade = input(true, 'Show TP/SL')
conversionPeriods = input(9, "Conversion Line Periods")
basePeriods = input(26, "Base Line Periods")
spanBPeriods = input(52, "Span B Periods")
displacement = input(26, "Displacement")

conversionLine = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
baseLine = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
leadLine1 = (conversionLine + baseLine) / 2
leadLine2 = (ta.highest(high, spanBPeriods) + ta.lowest(low, spanBPeriods)) / 2

plot(showBB ? conversionLine : na, "Conversion Line", color=#2962FF)
plot(showBB ? baseLine : na, "Base Line", color=#B71C1C)
plot(showBB ? ta.lowest(low, 52) : na, "Lagging Span", color=#43A047, offset=-displacement)
p1 = plot(showBB ? leadLine1 : na, "Leading Span A", color=#A5D6A7, offset=displacement)
p2 = plot(showBB ? leadLine2 : na, "Leading Span B", color=#EF9A9A, offset=displacement)
fill(p1, p2, color=leadLine1 > leadLine2 ? color.new(color.green, 90) : color.new(color.red, 90))

// Define the shorter Stop Loss and Take Profit percentages for scalping
percentStop = input(0.5, "Stop Loss (%)")
percentTP = input(1.0, "Take Profit (%)")

// Define the entry conditions
longCondition = ta.crossover(conversionLine, baseLine) and close > leadLine1 and close > leadLine2
shortCondition = ta.crossunder(conversionLine, baseLine) and close < leadLine1 and close < leadLine2

if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit or Stop Loss for Long", "Long", stop=strategy.position_avg_price * (1 - percentStop / 100), limit=strategy.position_avg_price * (1 + percentTP / 100))

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit or Stop Loss for Short", "Short", stop=strategy.position_avg_price * (1 + percentStop / 100), limit=strategy.position_avg_price * (1 - percentTP / 100))


더 많은