
이동 중지 수익을 초과하는 전략은 지표를 초과하는 것을 기반으로 한 양적 거래 전략이다. 이 전략은 장점과 단점의 입출력 조건을 구축하여 손실을 달성하고 이동 중지한다. 이 전략의 장점은 지속적인 추세에서 높은 수익을 얻을 수 있으며 이동 중지로 대부분의 수익을 잠금 할 수 있다는 것입니다. 그러나 이 전략은 돌파 실패에 더 민감합니다.
이 전략은 지표를 초과하는 트렌드 추적형 전략이다. 지표를 초과하면 가격 트렌드 방향을 판단할 수 있다. 지표 방향이 바뀌면 구매 및 판매 신호가 발생한다. 구체적으로, 지표를 초과하면 0 축을 통과하면 구매 신호가 발생한다. 지표를 초과하면 0 축을 통과하면 판매 신호가 발생한다.
이 전략의 가장 큰 장점은 트렌드 판단과 모바일 스톱을 결합한 것이다. 지표를 초월하여 0축 위 아래로 돌파하여 트렌드 방향을 판단하여 트렌드를 더 정확하게 포착할 수 있다. 모바일 스톱은 트렌드가 진행되는 동안 대부분의 이익을 잠금할 수 있다.
이 전략의 가장 큰 위험은 돌파 실패에 민감하다는 것이다. 평형 영역에서 지표를 초과하면 가짜 돌파가 발생할 수 있으므로 잘못 위치를 설정할 수 있다. 이 때 쉽게 틀릴 수 있다. 또한, 이동식 스톱 메커니즘은 너무 일찍 멈춰서 후속 상황을 놓칠 수도 있다. 마지막으로, 부적절한 스톱 설정은 너무 느슨하거나 너무 급진적이어서 위험을 증가시킬 수도 있다.
이 전략은 다음과 같은 몇 가지 측면에서 최적화 할 수 있습니다: 1) 과잉 지표 변수를 합리적으로 정의하여 가짜 신호를 피하십시오; 2) 거래량 신호를 증가시키는 것과 같은 돌파구를 판단하는 메커니즘을 추가하십시오; 3) 수익을 보장하면서 중심을 최대한 줄이는 이동 스톱의 변수를 최적화하십시오; 4) 동적 스톱을 대신하여 동적 스톱을 사용하는 변동률 기반; 5) 다른 지표를 조합하여 전략의 안정성을 향상하십시오.
모바일 스톱 수익 전략을 초과하는 것은 전반적으로 좋은 트렌드 추적 전략이다. 트렌드 방향을 합리적으로 판단할 수 있으며 모바일 스톱 메커니즘이 있다. 그러나 이 전략은 돌파 실패에 민감하며, 약간의 위험이 있다. 추가적으로 최적화 파라미터를 설정하고, 판단 규칙, 스톱 메커니즘 등을 통해 이 전략을 효과적으로 개선하여 안정적이고 효율적인 양적 거래 전략이 될 수 있다.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("ST Michael Moving TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15)
// Stop loss and profit amount
stop_loss = input(1500, title="Stop Loss Amount")
profit = input (15000, title="Profit Amount")
LongTrailProfit = input (0.91, title = "Long Trailing Profit Taking")
ShortTrailProfit = input (1.01, title = "Short Trailing Profit Taking")
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
[_, direction] = ta.supertrend(factor, atrPeriod)
long_condition = ta.change(direction) <0
short_condition = ta.change(direction) >0
stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0)
profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0)
stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0)
profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0)
atr=ta.atr(10)
intrade_long = strategy.position_size > 0
intrade_short = strategy.position_size < 0
exitConditionLong = (close < (close[1]*LongTrailProfit))
exitConditionShort = (close > (close[1]*ShortTrailProfit))
if (long_condition)
strategy.entry("Long3", strategy.long)
if (intrade_long and exitConditionLong)
strategy.close("Long3")
if (short_condition)
strategy.entry("Short3", strategy.short)
if (intrade_short and exitConditionShort)
strategy.close ("Short3")
if (strategy.position_size>0)
strategy.exit("exit_long",from_entry="Long3",limit=profit_price_long,stop=stop_price_long)
if (strategy.position_size<0)
strategy.exit("exit_short",from_entry="Short3",limit=profit_price_short,stop=stop_price_short)