이것은 5분 ETHUSDT 거래 쌍을 위해 고안된 테스트 전략이다. 가격 격차가 5달러 이상 떨어지면 긴 오더를 하고, 이미 긴 오더가 되면 1% 및 2% 가격 수준에서 스톱으로 두 개의 작은 쇼트 오더를 설정하고, 또 다른 가격 수준에서 트레일링 리미트 롱 오더를 설정한다. 쇼트 이후의 논리는 비슷한데, 0.99% 및 1.02% 가격 수준에서 두 개의 롱 스톱 오더와 트레일링 쇼트 리미트 오더가 있다.
이 전략의 핵심 논리는 주요 수준에서 가격 격차 또는 반전이 있을 때 잠재적 인 새로운 트렌드 방향을 식별하는 것입니다. 가격이 5 달러 이상 떨어지면 잠재적 인 바닥과 다가오는 황금 트렌드를 나타냅니다. 이미 길었을 때 1% 및 2%의 작은 단편 주문은 잠재적인 새로운 곰 트렌드를 중단하고 식별하는 데 도움이됩니다. 마찬가지로 상승 측면에서는 잠재적인 상위권과 새로운 곰 트렌드를 식별하며 두 개의 작은 긴 주문은 새로운 황금 트렌드를 종료하고 추적하는 데 사용됩니다.
따라서 트렌드 방향을 더 잘 판단하고 스톱을 관리하기 위해 하나의 큰 스톱 대신 여러 개의 작은 반전 주문이 사용됩니다. 반전 주문은 또한 가격 변동에 따라 후속 스톱/이익 기능을 제공합니다.
가장 큰 장점은 주요 가격 격차에서 새로운 잠재적 인 트렌드를 식별하고 자본 관리, 스톱 로스 및 거대한 변동 중에 새로운 트렌드를 판단하기 위해 작은 반전 명령을 사용하는 것입니다. 여러 가격 수준에서 스톱 및 트레일 오더를 설정하는 것도 더 효과적인 관리를 허용합니다.
주요 위험은 단기 가격 행동에 의존하는 것에서 발생하는 위프사와 복수의 주문에서 거래소에 발생하는 높은 주문 부하입니다. 또한 변동성 기간 동안 빈번한 스톱 트리거로 인해 과도한 수수료가 발생할 수 있습니다.
방향은 격차 크기와 같은 신호를 식별하는 매개 변수를 조정하고, 정지 및 주문의 수 및 수준을 최적화하고, 동적 추적을 구현하고, 트렌드 변화를 판단하기 위해 볼륨 및 기술적 지표와 같은 더 많은 요소를 도입하는 것을 포함합니다. 동적 매개 변수 최적화를위한 기계 학습도 가능합니다.
이 전략은 격차/회전으로부터 새로운 트렌드 잠재력을 식별하고 트렌드, 유연한 스톱 및 동적 이윤을 포착하기 위해 후속 회전 명령을 설정합니다. 주요 위험은 패러미터 튜닝과 더 많은 신호 요인에 의해 개선 될 수있는 높은 주문 빈도에서 발생하는 윙사 및 추가 비용입니다. 기계 학습 및 동적 최적화로 큰 잠재력이 있습니다.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("pokupka perevorot 5min tf", overlay=true) // Activation block (executed only once) if (close - open) < -5 strategy.entry("Long", strategy.long) // Checking chart state block (executed continuously) if strategy.position_size > 0 // If long position is open strategy.entry("Short1", strategy.short, qty=2, limit=close * 1.01) strategy.entry("Short2", strategy.short, qty=2, limit=close * 1.01) strategy.entry("LongLimit", strategy.long, qty=1, limit=close * 0.98) // Execution block (executed continuously) if close * 1.01 <= strategy.position_avg_price // If price has increased by 1%, indicating a short position strategy.close("Long") if close * 0.98 >= strategy.position_avg_price // If price has decreased by 2%, indicating two long positions strategy.close("Short1") strategy.close("Short2") // Checking chart state block (executed continuously) if strategy.position_size < 0 // If short position is open strategy.entry("Long1", strategy.long, qty=2, limit=close * 0.99) strategy.entry("Long2", strategy.long, qty=2, limit=close * 0.99) strategy.entry("ShortLimit", strategy.short, qty=1, limit=close * 1.02) // Execution block (executed continuously) if close * 0.99 >= strategy.position_avg_price // If price has decreased by 1%, indicating a long position strategy.close("Short") if close * 1.02 <= strategy.position_avg_price // If price has increased by 2%, indicating two short positions strategy.close("Long1") strategy.close("Long2")