
이 전략의 주요 아이디어는 월요일 상장이며, 그 날의 역동적인 상황을 이용하여 트렌드를 추적하여 수익을 창출하는 것이다.
이 전략의 핵심 논리는 다음과 같습니다.
월요일이 거래일인지 판단하고, 만약 그렇다면 후속 논리를 계속 실행합니다.
그날의 K선에서 아래로 거꾸로 돌아가는 형태가 나타났는지 판단합니다. 구체적으로: 1 K선 종료 가격 K선 종료 가격, 그리고 2 K선 종료 가격 K선 종료 가격;
만약 위와 같은 반전 형태가 성립한다면, 3번째 K선 종료시 다채기 포지션을 열고, 트렌드 추적을 한다.
정지 조건은 당일 최고점을 돌파하거나, 정지 조건은 퇴출입니다.
6시간 후에 강제적으로 퇴출해야 한다.
전체 전략은 월요일 특정 시간대의 역전 상황을 활용하여 역전 K선 형태를 식별하여 낮은 가격으로 높은 가격으로 판매하는 수익 모드를 달성합니다. 동시에 중지 중지 조건이 설정되어 위험을 제어합니다.
이 전략의 가장 큰 장점은 다음과 같습니다.
월요일 거래 세션 동안의 이러한 반전을 활용하여 수익을 창출합니다.
특정 캔들리스틱 패턴을 식별함으로써, 그것은 명확한 진입 신호를 가지고 있습니다.
스톱 손실 및 수익을 취하는 조건은 위험을 제어하기 위해 설정되어 있습니다.
트렌드 추적 방식은 수익을 극대화합니다.
전략 논리는 간단하고 명확하며 이해하기 쉽고 구현할 수 있습니다.
이 전략에는 위험도 있습니다.
월요일 반전이 눈에 띄지 않을 경우 손실이 발생할 수 있습니다.
반전 후 다시 회수되어 손실을 멈출 수 있다; Price may retrace after reversal leading to stop loss
급격한 시장 변화로 인해 막연한 손실이 발생할 수 있습니다.
지분을 너무 오래 보유하면 손실이 발생할 수 있습니다.
대응하는 해결책은: 손실을 막는 전략을 최적화하고, 지분 시간을 적절히 줄이고, 단편 손실을 엄격하게 통제하는 것이다.
The solutions are: Optimizing stop loss strategy, shortening holding time, strictly controlling single loss.
이 전략은 다음의 몇 가지 측면에서 최적화될 수 있습니다.
기계 학습을 사용하여 더 정확하게 역전 패턴을 식별합니다.
트레일링 스톱 로스, 파셜 스톱 로스 등과 같은 스톱 로스를 최적화
트렌드 강도를 판단하기 위해 더 많은 요소를 통합하는 것, 예를 들어 거래량 변화
동적으로 지분 시간을 조정;
알고리즘을 사용하여 합리적인 매개 변수를 자동으로 결정합니다.
위치 전환 메커니즘을 추가하여 다방면 양방향 거래를 구현합니다.
이러한 최적화를 통해 전략의 승률과 수익률을 높일 수 있습니다.
These optimizations can improve the win rate and profitability of the strategy.
종합적으로, 이 전략은 월요일 특정 단계의 역전 상황을 활용하여 명확한 입출장 메커니즘을 설정하여 간단한 트렌드 추적 수익 모드를 구현합니다. 고정된 스톱 스톱에 비해 이 전략은 더 나은 효과를 얻을 수 있습니다. 물론, 시장의 불확실성에 대응하기 위해 추가적인 최적화가 필요합니다. 이 전략은 하루 동안의 짧은 라인 거래에 대한 참조 아이디어와 템플릿을 제공합니다.
In summary, this strategy utilizes the reversal during Monday trading session, with clear entry and exit mechanisms, to implement a simple trend following profitable model. Compared to fixed stop loss and take profit, this strategy can achieve better results. However, further optimizations are still needed to deal with market uncertainty. The strategy provides a reference idea and template for intraday trading.
/*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))