
이 전략은 주식의 2년 새 최고 가격과 이동 평균을 기준으로 하는 유일한 계산 방법이다. 주식 가격이 2년 새 최고를 기록한 후 13일 지수 이동 평균으로 회수될 때 구매 신호를 발생시킨다.
이 전략의 핵심 논리는 다음과 같은 유일한 계산 방법에 기반합니다.
주가 가격이 2년 만에 최고치를 기록했을 때, 단기간에 높은 가격점이 형성된다. 이것은 비교적 중요한 가격점이다.
가격이 이 새로운 최고점에서 내려가 13일 지수 이동 평균으로 되돌아가면, 비교적 좋은 구매 기회이다. 이것은 가격을 이용한 중심적인 특징이다.
또한, 구매 신호가 발신될 때, 주식 가격은 2년 새 최고 가격의 10% 범위 내에서, 너무 멀지 않아야 한다. 그리고 13일선 아래에서 21일선 위에 있어야 한다. 이것은 구매의 타이밍 선택을 보장한다.
지분을 보유한 경우, 가격이 21일선 아래 5% 또는 2년 최고점으로부터 20% 떨어지면, 분기간의 수익 손실이 발생한다.
이것은 다음과 같은 장점을 가진 긴 줄의 돌파구 전략입니다.
2년 만에 최고치를 기록한 이 독특한 가격으로, 잠재적인 트렌드 반전의 기회를 효과적으로 판단할 수 있다.
13일 지수 이동 평균은 상장 기준으로 사용되며, 흔들림을 효과적으로 필터링하여 강력한 동력을 결정할 수 있다.
이 계산 방법은 가격 특성을 이용해서 주관적인 추측을 피해서 신호를 내보내는 것입니다.
제약금액을 적절히 고려하면 수익의 대부분을 확보할 수 있습니다.
이 전략에는 다음과 같은 위험도 있습니다.
상황이 심도 회귀로 이어질 수 있고, 모든 피해를 막을 수 없다. 이 시점에는 대환경을 평가하여 피해를 막는 것이 결정적인지 결정해야 한다.
밤새 큰 구멍이 있는 상황에서는 완벽한 스톱더스가 불가능하다. 이것은 적절한 느슨한 스톱더스 폭을 대응으로 필요로 한다.
13일 라인 필터 흔들림의 효과는 바람직하지 않을 수 있으며, 너무 많은 잘못된 신호를 생성한다. 이 시점에서는 21일 라인까지 적절히 연장할 수 있다.
새로운 고고기술의 트렌드 전환점 효과는 좋지 않을 수 있으며, 다른 지표와 결합하는 것을 고려할 수 있다.
이 전략에는 최적화할 수 있는 여지가 있습니다:
다른 도구들을 도입하여 상황을 판단하고, 불필요한 포지션을 방지할 수 있다.
양력 지표와 같은 판단력을 높여서 진동 영역에 대한 잘못된 판단을 방지할 수 있다.
이동 평균 변수를 최적화하여 가격 특성을 더 잘 파악할 수 있도록 한다.
기계학습 방법을 사용하여 2년 새 고가 변수를 동적으로 최적화하여 전략을 더 유연하게 만듭니다.
이 전략은 전체적으로 비교적 독특한 긴 선을 돌파하는 아이디어입니다. 중요한 점은 2년 신고가라는 중요한 가격을 이용해서 판단하고, 13일 지수 이동 평균을 필터링 및 입시 기준으로 하는 것입니다. 이 전략에는 어느 정도 장점이 있지만, 최적화 가능한 공간도 있으며, 더 많은 연구를 할 가치가 있습니다.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Part Timer
//This script accepts from and to date parameter for backtesting.
//This script generates white arrow for each buying signal
//@version=4
strategy("AMRS_LongOnly_PartTimer", overlay = true)
//i_endTime = input(defval = timestamp("02 Jun 2021 15:30 +0000"), title = "End Time", type=input.time)
StartYear=input(defval = 2000, title ="Start Year", type=input.integer)
StartMonth=input(defval = 01, title ="Start Month", type=input.integer)
StartDate=input(defval = 01, title ="Start Date", type=input.integer)
endYear=input(defval = 2021, title ="End Year", type=input.integer)
endMonth=input(defval = 06, title ="End Month", type=input.integer)
endDate=input(defval = 03, title ="End Date", type=input.integer)
ema11=ema(close,11)
ema13=ema(close,13)
ema21=ema(close,21)
afterStartDate = true
//g=bar_index==1
//ath()=>
//a=0.0
//a:=g ? high : high>a[1] ? high:a[1]
//a = security(syminfo.tickerid, 'M', ath(),lookahead=barmerge.lookahead_on)
newHigh = (high > highest(high,504)[1])
//plot down arrows whenever it's a new high
plotshape(newHigh, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.tiny)
b=highest(high,504)[1]
VarChk=((b-ema13)/b)*100
TrigLow = (low <= ema13) and (low >= ema21) and (VarChk <= 10)
plotshape(TrigLow, style=shape.triangleup, location=location.belowbar, color=color.white, size=size.tiny)
ExitPrice=(ema21 - (ema21*0.05))
DrawPrice=(b - (b*0.20))
stopprice=0.0
if (close <= ExitPrice)
stopprice := ExitPrice
if (close <= DrawPrice)
stopprice := DrawPrice
if (TrigLow and afterStartDate)
strategy.entry("Long", strategy.long)
strategy.exit("exit","Long", stop=stopprice)
//beforeEndDate = (time < i_endTime)
beforeEndDate = (time >= timestamp(syminfo.timezone,endYear, endMonth, endDate, 0, 0))
if (beforeEndDate)
strategy.close_all()