커뮤니티

수식수정 및 질문 드려요

프로필 이미지
대구어린울프
2023-12-04 19:55:34
698
글번호 174573
답변완료
안녕하세요? 수정 : 아래수식에서 캔들봉이 마감될때 진입이 될수있게 부탁드립니다. 질문1 : length가 어떤길이인지 알수있을까요? 질문2 : 두번째질문은, 현재 캔들30분봉이상으로 셋팅하여 거래를하면 실제거래와 성능보고서와 차이가 많이나서요. 주로 성능보고서 수익이 실제로는 손실인경우가 꽤있어요. 캔들주기가 길어서 그런것인지, 수식에 어떤문제가 있는건지 꼭 찾아야하는데 ㅠㅠ 혹시 전문가 분들이시니, 어떤원인일 것이다 라고 몇가지만이라도 말씀해주시면 참고하고 싶습니다. 감사합니다. inputs: Length(10), Pval(0.05),당일청산(153000); input : 익절틱수(10), 손절틱수(10), 진입횟수(3); var : entry(0); if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1 ; if entry < 진입횟수 then Sell("CBI", AtStop, Lowest(Low, Length) - Pval); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); SetStopEndofday(당일청산);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-12-05 13:58:28

안녕하세요 예스스탁입니다. 1 Sell("CBI", AtStop, Lowest(Low, Length) - Pval); 매도진입이 N개봉 최저가-0.05 이하에서 진입하는데 length는 n개봉을 지정하는 외부변수입니다. 2 수식상에는 문제는 없습니다. 리포트상 신호가격과 실제 체결가격 간에는 차이가 있을 수 있으므로 체결가격에 따른 내용인지는 별도로 살펴보셔야 합니다. 위 내용이 아니고 실제 거래와 이후에 시스템을 재적용해서 비교해 보시는 내용이면 차이가 있을 수 있습니다. 해당식은 봉 중간에 진입하고 같은봉에서 익절이나 손절이 발생할 수 있습니다. 실시간에서는 봉의 움직임을 그대로 추종해 가므로 진입 후 익절이나 손절 중 먼저 만족한 조건에 청산이 되지만 차트 과거봉에 봉안에 모든 체결시세가 있는 것은 아니므로 그 정확한 내부 움직임은 알 수가 없습니다. 그러므로 과거봉에 시뮬레이션을 하는 경우 봉안의 움직임에 대한 가설을 만들고 해당 가설대로 움직인것으로 보고 신호를 발생하게 됩니다. 즉 실전에서는 진입후 손절이 되었지만 시스템에서는 가설에 의해 익절에 먼저 도달한것으로 판단해 신호가 발생할 수 있습니다. 손익이 반대인 경우도 발생하게 됩니다. 해당 부분은 예스랭귀지 도움말의 예스랭귀지활용 부분에 과거 데이터움직임 가설을 참고하시기 바랍니다. 즐거운 하루되세요 > 대구어린울프 님이 쓴 글입니다. > 제목 : 수식수정 및 질문 드려요 > 안녕하세요? 수정 : 아래수식에서 캔들봉이 마감될때 진입이 될수있게 부탁드립니다. 질문1 : length가 어떤길이인지 알수있을까요? 질문2 : 두번째질문은, 현재 캔들30분봉이상으로 셋팅하여 거래를하면 실제거래와 성능보고서와 차이가 많이나서요. 주로 성능보고서 수익이 실제로는 손실인경우가 꽤있어요. 캔들주기가 길어서 그런것인지, 수식에 어떤문제가 있는건지 꼭 찾아야하는데 ㅠㅠ 혹시 전문가 분들이시니, 어떤원인일 것이다 라고 몇가지만이라도 말씀해주시면 참고하고 싶습니다. 감사합니다. inputs: Length(10), Pval(0.05),당일청산(153000); input : 익절틱수(10), 손절틱수(10), 진입횟수(3); var : entry(0); if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1 ; if entry < 진입횟수 then Sell("CBI", AtStop, Lowest(Low, Length) - Pval); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); SetStopEndofday(당일청산);