다중 기간 사전 설정 거래 실행 최적화 전략

时间触发交易 预设交易 多时段执行 自动化交易 止盈止损优化 定时交易策略 交易频率控制 TTE MTE TPT SLO
생성 날짜: 2025-06-30 13:56:21 마지막으로 수정됨: 2025-06-30 13:56:21
복사: 4 클릭수: 228
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다중 기간 사전 설정 거래 실행 최적화 전략 다중 기간 사전 설정 거래 실행 최적화 전략

개요

다중 시간 전제 거래 실행 최적화 전략은 시간-시작된 자동화 거래 시스템으로 거래자가 거래 당 특정 시점에 전제 거래 지시를 실행할 수 있습니다. 이 전략은 특정 시장 시간에 가격 동력을 잡아야하는 거래자에게 특히 적합합니다. 이 전략은 1 분 시간 프레임에서 가장 잘 작동하여 시간 정밀한 거래에 가장 정확한 실행 환경을 제공합니다.

전략 원칙

이 전략의 핵심 원칙은 정확한 시간 촉발 장치에 기반하며 다음과 같은 핵심 구성 요소를 통해 구현됩니다.

  1. 다중 시간대 설정: 전략은 세 개의 독립적인 거래 시기를 지원하며, 각 시기는 특정 실행 시간 (시간과 분) 과 거래 방향 (다중 머리 또는 빈 머리) 을 가지고 있다. 사용자는 불형 입력으로 각 시기의 활성화 상태를 제어할 수 있다.

  2. 정확한 타이밍으로: 전략은 현재 시간 및 분값을 확인하고, 세 개의 거래 시간대와 비교합니다. 시간이 일치하면, 전략은 사용자가 설정한 거래 방향에 따라 거래 명령을 수행합니다.

  3. 매일 재설정 메커니즘: 전략이 같은 날에 반복적으로 너무 많은 거래를 수행하는 것을 방지하기 위해, 시스템은 매일 재설정 기능을 구현했다. 현재 거래일을 추적하고 실행 된 거래의 수를 기록하여 각 거래 시기는 하루에 한 번 이상 거래가 수행되도록합니다.

  4. 위험 관리 매개 변수전략은 사용자가 각 거래의 스톱 (Take Profit) 및 스톱 (Stop Loss) 레벨과 각 주문의 거래량 (Lot Size) 을 정의하여 개인화 된 위험 관리를 가능하게합니다.

  5. 실행 제한: 시스템은 거래일당 최대 3번의 거래를 제한하고 (시간당 최대 1번) 과도한 거래의 위험을 방지한다.

전략적 이점

이 전략의 코드에 대한 깊은 분석은 다음과 같은 중요한 장점을 요약할 수 있습니다.

  1. 고도의 사용자 정의: 사용자는 거래 시간, 거래 방향, 스톱 스톱 손실 수준 및 거래량을 완전히 제어할 수 있습니다. 이는 전략이 다른 시장 조건과 거래 스타일에 적응할 수 있도록합니다.

  2. 시간 정확성1분 시간 프레임에서 작동하여 거래의 높은 시간 정확성을 보장합니다. 이는 시장의 중요한 순간에 가격 변화를 포착하는 데 중요합니다.

  3. 자동화 효율성: 설정이 완료되면, 전략은 완전히 자동으로 실행되며, 상인이 시장을 지속적으로 감시할 필요가 없으며, 시간과 노력을 절약한다.

  4. 거래 빈도 제어매일 재설정 메커니즘과 거래 횟수 제한을 통해 과도한 거래를 방지하고 거래 비용과 감정에 의한 의사 결정의 위험을 줄입니다.

  5. 시장 시간 활용: 특정 시장 시간대의 가격 패턴을 활용하는 데 특히 적합합니다. 오픈, 클로즈, 오프 나이트 및 디스크 시장과 같은 중요한 시점의 거래 기회.

  6. 간단한 코드 구조: 전략 코드 구조는 명확하고 이해하기 쉽고 수정할 수 있으며, 거래자가 자신의 필요에 따라 조정할 수 있습니다.

전략적 위험

이 전략은 많은 장점이 있지만, 다음과 같은 잠재적인 위험도 있습니다.

  1. 고정 시간 위험트레이드 실행은 전적으로 사전 설정된 시간에 기반하여, 전략은 현재 시장 조건, 가격 수준 또는 기술 지표를 고려하지 않고, 불리한 시장 환경에서 트레이드를 실행할 수 있다.

  2. 시장 공백 위험: 급변하는 시장에서, 특히 시장의 격차나 극심한 변동이 있을 때, 고정된 스톱로스 설정은 자금을 효과적으로 보호하지 못할 수 있다.

  3. 매개 변수 최적화 도전최적의 거래 시점과 스톱로스 수준을 결정하는 것은 많은 반추와 시장 연구를 필요로 하며, 잘못된 매개 변수 설정은 전략의 부적절한 성과를 초래할 수 있다.

  4. 시간대 의존성: 전략은 차트 시간대 (기본 UTC) 를 기반으로 실행되며, 거래자는 시간 설정이 목표 시장의 거래 시간에 올바르게 대응하는지 확인해야 한다.

  5. 유동성 위험: 특정 기간에 (시장 개시 또는 폐쇄 시) 유동성 부족 또는 슬라이드 확장 문제가 발생할 수 있습니다.

이러한 위험을 해결하기 위한 방법은 다음과 같습니다.

  • 시장 조건 필터와 결합하여 거래 실행 조건 판단을 증가시킵니다.
  • 시장의 변동성에 따라 중지 수준을 조정하는 다이내믹 스톱 메커니즘을 구현합니다.
  • 충분한 역사 회귀를 수행하고, 파라미터 설정을 최적화합니다
  • 타겟 시장과 일치하는 시간대 설정을 보장합니다.
  • 거래량이 많은 시장과 시간대에 적용하는 전략으로 유동성 위험을 줄일 수 있습니다.

전략 최적화 방향

정책 코드의 심층적인 분석을 바탕으로 다음과 같은 최적화 방향을 제안합니다.

  1. 시장 조건 필터: 기술 지표 또는 가격 모드 필터를 도입하여 거래가 유리한 시장 조건에서만 수행되도록하십시오. 예를 들어, 추세 확인 지표 또는 변동율 필터를 추가 할 수 있습니다.

  2. 동적 중지 중지 손실: 고정된 스톱스트로스 포인트를 시장의 변동성에 기반한 동적 설정으로 변경하여 다른 시장 환경에 더 잘 적응합니다.

  3. 다중 시간 주기 확인: 더 높은 수준의 시간 주기 확인 신호를 도입하여 거래의 방향이 더 큰 시간 프레임의 추세와 일치하는지 확인합니다.

  4. 거래량 최적화: 계정 규모 또는 시장의 변동성에 따라 거래량을 동적으로 조정하는 기능을 구현하고, 자금 관리의 유연성을 높인다.

  5. 가격 최적화: 시간 조건이 충족되면 즉시 시장에 진입하지 않고, 더 우수한 가격 수준 (지원점이나 저항점과 같은) 을 기다리며 거래를 수행한다.

  6. 탈퇴 전략: 고정된 스톱 스톱 손실 이외에, 시간 또는 가격 패턴에 기반한 대안적인 탈퇴 메커니즘을 추가합니다.

  7. 세션간의 연관성: 후속 세션에 이전 세션의 거래 결과에 관련된 조건 논리를 추가하여 더 복잡하고 적응하는 거래 시스템을 만듭니다.

이러한 최적화는 전략의 적응성과 안정성을 크게 향상시킬 수 있습니다. 특히 변동성있는 시장 환경에서 이러한 개선 사항을 적용하면 전략이 단순한 시간 촉발 시스템에서 더 포괄적인 거래 시스템으로 전환 될 수 있습니다. 시간 정확성의 장점을 유지하면서 시장 조건에 대한 반응성을 증가시킵니다.

요약하다

다중 시간 전제 거래 실행 최적화 전략은 간단하고 효율적인 시간 촉발 거래 시스템으로, 특정 시장 시간에 거래 기회를 포착하는 데 특히 적합합니다. 세 가지 사용자 정의 가능한 거래 시간으로, 거래자는 전제 거래 계획을 정확하게 실행하고 스톱 스톱 손실 설정을 통해 위험을 관리 할 수 있습니다.

이 전략의 주요 장점은 높은 시간 정확성, 자동화 효율성 및 사용자 정의로 인해 시장의 중요한 순간에 가격 동력을 포착하는 효과적인 도구가됩니다. 그러나, 전략은 고정 시간 실행, 시장 조건 필터링 및 변수 최적화 과제 부족 등의 위험에 직면합니다.

시장 조건 필터, 다이내믹 스톱 로즈 메커니즘, 다중 시간 주기의 확인 및 최적화 입출력 전략을 도입함으로써 이 전략은 안정성과 적응성을 더욱 향상시킬 수 있습니다. 이러한 최적화는 거래자가 시간 정확성의 이점을 유지하면서 다양한 시장 환경의 도전에 더 잘 대처할 수 있도록 도와줍니다.

전체적으로 볼 때, 다시간 시점 전제 거래 실행 최적화 전략은 특정 시점에서 거래를 수행해야하는 거래자에게 가치있는 도구를 제공하며, 특히 일일 거래자와 세션 종료 전략 애호가에게 적합합니다. 적절한 매개 변수 설정과 제안의 최적화를 통해, 이 전략은 거래자의 도구 상자의 중요한 구성 요소가 될 수 있습니다.

전략 소스 코드
/*backtest
start: 2025-06-22 00:00:00
end: 2025-06-25 11:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Babtrader24 - simple strategy 

//@version=6
strategy("BG CloseCandle", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// 📌 Group: Custom Sessions
session1Buy  = input.bool(true,  "Session 1 - Buy ON",  group="Session 1")
session1Sell = input.bool(false, "Session 1 - Sell ON", group="Session 1")
hour1   = input.int(14, "Hour", group="Session 1", inline="t1")
minute1 = input.int(49, "Minute", group="Session 1", inline="t1")

session2Buy  = input.bool(true,  "Session 2 - Buy ON",  group="Session 2")
session2Sell = input.bool(false, "Session 2 - Sell ON", group="Session 2")
hour2   = input.int(00, "Hour", group="Session 2", inline="t2")
minute2 = input.int(59, "Minute", group="Session 2", inline="t2")

session3Buy  = input.bool(true,  "Session 3 - Buy ON",  group="Session 3")
session3Sell = input.bool(false, "Session 3 - Sell ON", group="Session 3")
hour3   = input.int(01, "Hour", group="Session 3", inline="t3")
minute3 = input.int(59, "Minute", group="Session 3", inline="t3")

// 🎯 Group: Trade Settings
tp_ticks = input.int(30, "Take Profit (ticks)", group="Trade Settings")
sl_ticks = input.int(100, "Stop Loss (ticks)", group="Trade Settings")
lot_size = input.int(1, "Lot Size", group="Trade Settings")

// ✅ Time check based on chart's timezone (UTC by default)
isTime1 = (hour == hour1 and minute == minute1)
isTime2 = (hour == hour2 and minute == minute2)
isTime3 = (hour == hour3 and minute == minute3)

// 🔁 Daily Reset
var int traded_today = 0
var int last_day = na
if na(last_day) or dayofmonth != last_day
    traded_today := 0
    last_day := dayofmonth

// ⚙️ Conditional Entries per Session
if traded_today < 3
    if isTime1
        if session1Buy
            strategy.entry("Buy_S1", strategy.long, qty=lot_size)
            strategy.exit("TP/SL_Buy_S1", from_entry="Buy_S1", limit=close + tp_ticks * syminfo.mintick, stop=close - sl_ticks * syminfo.mintick)
            traded_today += 1
        else if session1Sell
            strategy.entry("Sell_S1", strategy.short, qty=lot_size)
            strategy.exit("TP/SL_Sell_S1", from_entry="Sell_S1", limit=close - tp_ticks * syminfo.mintick, stop=close + sl_ticks * syminfo.mintick)
            traded_today += 1

    else if isTime2
        if session2Buy
            strategy.entry("Buy_S2", strategy.long, qty=lot_size)
            strategy.exit("TP/SL_Buy_S2", from_entry="Buy_S2", limit=close + tp_ticks * syminfo.mintick, stop=close - sl_ticks * syminfo.mintick)
            traded_today += 1
        else if session2Sell
            strategy.entry("Sell_S2", strategy.short, qty=lot_size)
            strategy.exit("TP/SL_Sell_S2", from_entry="Sell_S2", limit=close - tp_ticks * syminfo.mintick, stop=close + sl_ticks * syminfo.mintick)
            traded_today += 1

    else if isTime3
        if session3Buy
            strategy.entry("Buy_S3", strategy.long, qty=lot_size)
            strategy.exit("TP/SL_Buy_S3", from_entry="Buy_S3", limit=close + tp_ticks * syminfo.mintick, stop=close - sl_ticks * syminfo.mintick)
            traded_today += 1
        else if session3Sell
            strategy.entry("Sell_S3", strategy.short, qty=lot_size)
            strategy.exit("TP/SL_Sell_S3", from_entry="Sell_S3", limit=close - tp_ticks * syminfo.mintick, stop=close + sl_ticks * syminfo.mintick)
            traded_today += 1