선생님 항상 좋은 강의 감사합니다 질문이 있는데요 혹시 퍼센트가 아니라 예를 들어 처음 롱트레일프라이스를 진입가와 특정 이평선 사이의 값을 기준으로 설정해서 스크립트를 만들고 싶다면 (예: 이전 봉 기준 : 종가 100 , 이평선 90 , 현재봉 기준 : 종가 120 , 이평선 100) 어떻게 응용할 수 엤을까요? 제가 하면 위의 예시를 기준으로 처음 손절가가 90 이였든데 갱신되는 손절가가 110이 아닌 100 이 되어버려서요ㅠ
longCondition = (rsi < 30) and (strategy.position_size == 0) if (longCondition) strategy.entry("L", strategy.long) strategy.exit("tr", "L", stop = close*(1-long_trail_percent), limit = close*1.15) // 일단은 익절도 15%로 설정해 봤다. // 트레일링 스탑 if strategy.position_size > 0 // 롱 포지션이 있으면 // 여기서 질문: 시스템을 2개 이상 돌릴 때, 서로 방해받지 않을까??? stop_value = close*(1-long_trail_percent) long_stop_price := math.max(stop_value, long_stop_price[1]) else long_stop_price := 0.0 // 롱 스탑을 무력화! if strategy.position_size > 0 strategy.exit("tr", "L", stop = long_stop_price) 여기서 // 트레일링 스탑 나오기 전의 exit에서, 아래의 exit 이름인 "tr" 대신 "손절" 등의 다른 이름으로 exit 할 수 있나요? 그렇게 해 봤더니 영 이상해져서요... 말하자면 손절 / 익절 / 보통의 익절 상태에서의 트레일링 스탑 으로 빠져 나올 때, 다른 이름으로 exit 하는 방법이 궁금합니다. 감사합니다.
지금은 파인스크립트에서, 롱 주문 들어가자마자 strategy.position_size를 양수로 바로 최신화 시켜주지는 않나봐요. 그래서 주문 바로 다음 봉은 트레일링 스탑이 적용 안되고, 다다음 봉부터 적용이 되네요. 장도강님의 최신코드는 고쳐진 걸 보니 보강하신 듯.
열심히 공부 중입니다. 감사합니다^^
최고입니다 👍
감사합니다!
strategy.cancel(iid) 메서드로 exit 주문을 취소 할수 있는걸로 알고 있습니다.
정말 유익한 내용이네요. 완벽히 이해했습니다
좋은 강의 감사드려요
유익한 내용 감사드립니다. 혹시 레버리지 30배를 이용해서 진입 하여 스탑지정가 4%를 하려고 할 경우 스크립트는 어떻게 짜야 된는지 궁금합니다^^(4%는 30배한 경우의 퍼센테이지 입니다.)
선생님 항상 좋은 강의 감사합니다
질문이 있는데요
혹시 퍼센트가 아니라
예를 들어 처음 롱트레일프라이스를 진입가와 특정 이평선 사이의 값을 기준으로 설정해서 스크립트를 만들고 싶다면 (예: 이전 봉 기준 : 종가 100 , 이평선 90 , 현재봉 기준 : 종가 120 , 이평선 100)
어떻게 응용할 수 엤을까요?
제가 하면 위의 예시를 기준으로
처음 손절가가 90 이였든데 갱신되는 손절가가 110이 아닌 100 이 되어버려서요ㅠ
장도강님 혹시 트리거 가격이 있고 그때부터 몇퍼 이하일때 스탑되는 트레일링 스탑은 어떻게 해야할까요? 트리거 되는 식을 모르겠습니다
Ex ) 진입 후 1%이후 부터 -0.2%일때 스탑되는 추적손절매
따로 조건문을 짜셔야 합니다!!
longCondition = (rsi < 30) and (strategy.position_size == 0)
if (longCondition)
strategy.entry("L", strategy.long)
strategy.exit("tr", "L", stop = close*(1-long_trail_percent), limit = close*1.15) // 일단은 익절도 15%로 설정해 봤다.
// 트레일링 스탑
if strategy.position_size > 0 // 롱 포지션이 있으면
// 여기서 질문: 시스템을 2개 이상 돌릴 때, 서로 방해받지 않을까???
stop_value = close*(1-long_trail_percent)
long_stop_price := math.max(stop_value, long_stop_price[1])
else
long_stop_price := 0.0 // 롱 스탑을 무력화!
if strategy.position_size > 0
strategy.exit("tr", "L", stop = long_stop_price)
여기서 // 트레일링 스탑 나오기 전의 exit에서, 아래의 exit 이름인 "tr" 대신
"손절" 등의 다른 이름으로 exit 할 수 있나요?
그렇게 해 봤더니 영 이상해져서요...
말하자면 손절 / 익절 / 보통의 익절 상태에서의 트레일링 스탑
으로 빠져 나올 때, 다른 이름으로 exit 하는 방법이 궁금합니다.
감사합니다.
그렇다면 모든 exit의 이름인 "tr"을 모두 "손절"로 바꿔 주어야 합니다!
감사합니당
감사합니다
strategy.exit()에서 기본적으로 제공되는 trail_price와 trail_offset 등의 기능은 사용하지 않는 이유가 있을까요?
안녕하세요 이 영상을 찍을 당시에는 exit()에 제공되는 trail 기능에 이슈가 있었습니다. 얼마 전 2023년 4월 업데이트에 의해 해결이 되었으니 이제는 써도 될 듯합니다!^^
@@jangdokang 앗 답변 감사합니다. 혹시 기능이슈가 차트위에 트레이드 되는 신호와는 다르게 얼러트는 울리지 않는 이슈였을까요? 현재 만든 전략이 딱 이런 현상이어서요!
[ 멤버십 가입하고 제대로 배워보기 ]
ruclips.net/channel/UCSWS5fgZGA7eDS2HZvzaAEwjoin
[ 스크립트 보기 ] * 디스코드 멤버십 인증 필수
discord.com/channels/941814189566099506/1113843666390360228
하나씩 배울때마다 업그레이드 되는 기분이 듭니다^^ 재밌고 유익합니다. 감사드려요!
감사합니다!
파인 스크립트 이용해서 혹시 쌍봉이나 캔들이 특정 이평선 맞았을 때 신호를 주게 만들 수도 있나요?
ta.cross(close, sma20) 이런 식으로 만들면 종가가 20이평과 닿으면 인식합니다!
@@jangdokang 감사합니다 쌍봉 같은건 힘든가 보군요 ㅠㅠ
유용한 영상 감사히 잘 봤습니다. 이러한 동적 트레일링스탑을 가져가면서 진입가보다 10% 올랐을때 바로 익절하려면 저 코드에서 뭐를 추가로 해줘야 하는지요?
//@version=5
strategy("트레일링스탑 - 익절만족", overlay=true, process_orders_on_close = true)
long_trail_percent = input.float(2.0, "롱 트레일")/100
long_stop_price = 0.0
rsi = ta.rsi(close, 14)
var max_profit_price = 0.0
if rsi < 30 and strategy.position_size == 0
strategy.entry("롱", strategy.long)
max_profit_price := close*1.1
strategy.exit("스탑", "롱", stop = close * (1-long_trail_percent))
// 트레일링 스탑
if strategy.position_size > 0 // 롱 포지션이 있으면
stop_value = close * (1-long_trail_percent)
long_stop_price := math.max(stop_value, long_stop_price[1])
long_stop_price := long_stop_price > max_profit_price ? max_profit_price : long_stop_price
else
long_stop_price := 0.0 // 롱 스탑을 무력화
if strategy.position_size > 0
strategy.exit("스탑", "롱", stop = long_stop_price)
plot(strategy.position_size > 0 ? long_stop_price : na, style = plot.style_linebr, color = color.green, linewidth = 2)
var max_profit_price = 0.0 // 최대 익절가를 저장할 변수를 만들고
max_profit_price := close*1.1 // 진입 종가 기준 10% 상승한 가격을 저장하고
long_stop_price := long_stop_price > max_profit_price ? max_profit_price : long_stop_price // long_stop_price가 max_profit_price보다 크다면 max_profit_price로 고정해 줍니다 아니면 long_stop_price 동적으로 가져가게 합니다
풀코드를 이 설명과 한번 참고해 보세요!
@@jangdokang 네 진심으로 다시한번 감사드립니다.
지금은 파인스크립트에서, 롱 주문 들어가자마자 strategy.position_size를 양수로 바로 최신화 시켜주지는 않나봐요.
그래서 주문 바로 다음 봉은 트레일링 스탑이 적용 안되고, 다다음 봉부터 적용이 되네요.
장도강님의 최신코드는 고쳐진 걸 보니 보강하신 듯.
트레일링스탑코드 시작전에 있는 엑시트주문코드는 잘못된것같은데요. 익절라인이[limit] 없어요. 물론 이게 이강의의 포인트는 아니지만
추세 지속에 의한 무한 수익을 따라가려는
목적으로 트레일링스탑을 쓰는 경우에 대한 질문이 있었어요 ㅎㅎ
상황에 따라 익절을 지정하는 것도 좋은 방법입니다. 다음엔 추가할게요!
오늘도 좋은 영상 감사합니다
도강님 혹시 지정가 주문을 세팅할때 1분봉 기준 5개봉 이내로 주문이 걸리지 않으면 취소하는 방법은 어떻게 구현하면 되나요?
안녕하세요? 조금 더 명확하게 알려주실 수 있나요? 내용이 길어지면 디스코드로 질문주세요!!
@@jangdokang 두서가 없긴하네요
저도 좀 더 생각해보고 잘 질문해보겠습니다