이 전략의 주요 아이디어는 트렌드를 따라 월요일의 내일 반전에서 이익을 얻는 것입니다.
핵심 논리는
월요일인지 확인하고, 네면 다음 단계로 이동하세요.
상승 트렌드 반전 패턴이 있는지 확인합니다. 닫기 [1] < 닫기 [2] 및 닫기 [2] < 닫기 [3];
반전 패턴이 확인되면, 트렌드를 따르기 위해 세 번째 바의 닫기에 긴 거리를 가십시오.
오늘 최고가 넘어가거나 손해를 멈추면 출구
6시간 후에 근접 위치
이 전략은 월요일의 특정 반전을 활용하고 수익을 위해 상대적 최저 수준에서 장기화 할 반전 패턴을 식별합니다. 위험을 통제하기 위해 손실을 중지하십시오.
가장 큰 장점은 다음과 같습니다.
특정 기간 동안 월요일 회전으로부터의 이익
반전 촛불 패턴에서 명확한 입력 신호;
손실을 멈추고 수익을 취해서 위험을 통제합니다.
트렌드를 따르는 접근은 이익을 극대화합니다.
단순하고 이해하기 쉬운 논리
몇 가지 위험 요소가 있습니다.
월요일 변동이 중요하지 않은 경우 손실
가격이 스톱 로스로 이어지는 엔트리 이후 다시 상승할 수 있습니다.
급격한 시장 변화는 큰 스톱 로스로 이어질 수 있습니다.
너무 오래 보유하면 손실이 발생할 수 있습니다.
그 해결책은 스톱 로스를 최적화하고, 대기 시간을 단축하고, 단일 로즈 크기를 제어하는 것입니다.
이 전략은 다음과 같이 개선될 수 있습니다.
기계학습을 사용하여 역행을 더 정확하게 식별합니다.
트레일링 스톱 또는 부분 스톱 손실과 같은 스톱 손실 전략을 최적화합니다.
트렌드 강도를 판단하는 더 많은 요소를 포함합니다.
역동적으로 조절되는 유지시간
최적의 매개 변수를 찾기 위한 알고리즘을 이용하는 것
양방향 거래에 포지션 전환을 추가합니다.
이것은 승률과 수익성을 높일 수 있습니다.
결론적으로, 전략은 월요일 반전, 명확한 입력/출출 규칙, 간단한 트렌드 다음 전략을 구현하기 위해 자본. 그것은 고정 스톱 손실 / 이익 취득보다 더 나은 결과를 달성 할 수 있습니다. 시장 불확실성을 해결하기 위해 추가 최적화가 필요합니다. 전략은 내일 거래에 대한 참조를 제공합니다.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("ET Forex TurnaroundMonday", overlay=true) FirstYear = input(2018, minval=2000, maxval=2023, step=1) FirstMonth = 1 //input(1, minval=1, maxval=12, step=1) FirstDay = 1 //input(1, minval=1, maxval=31, step=1) deltaDay = input(0) StartHour = input(0) f_barssince(_cond, _count) => _barssince=bar_index-valuewhen(_cond, bar_index, _count) HoldTime = input(6, step=1) MM = input(1) startHour = input(-7, step=1) endHour = input(34, step=1) exitHour = input(30, step=1) startdateCond = (year > FirstYear or (year == FirstYear and (month > FirstMonth or (month == FirstMonth and dayofmonth >= FirstDay)))) iHour = hour if iHour > 19 iHour := iHour-20 else iHour := iHour+4 timeCondition = true //(iHour>=startHour and iHour<=endHour and iHour<=exitHour) since_flat_condition = strategy.position_size == 0 entryPrice=strategy.position_avg_price EntryLongCondition = dayofweek == (dayofweek.monday+deltaDay) and close[0] < close[1] and close[1]<close[2] and startdateCond //and timeCondition and iHour > StartHour ExitTimeCondition = false//(f_barssince(since_flat_condition, 0)>=HoldTime) ExitLongCondition = strategy.position_size > 0 and (close[0] > high[1])// or close[0]< entryPrice-abs(close[1]-close[2])*0.2)//(ExitTimeCondition) //iHour >= exitHour or strategy.initial_capital =50000 // MM Block lots = if MM < 2 strategy.initial_capital else strategy.equity lots := lots/close entryPrice:=strategy.position_avg_price strategy.close("ETLong",when=(ExitLongCondition==true)) strategy.entry("ETLong", strategy.long, qty=lots, comment="OpenLong",when=(EntryLongCondition==true))