커뮤니티

문의드립니다.

프로필 이미지
율담
2026-01-22 03:47:33
52
글번호 229978
답변완료


시스템 성능 보고서 상에있는..


진입후 최대수익과 최대 손실을 리턴하고 싶은데요..


방법이 없을까요.


리턴이 불가하다면, 예스스팟에서 계산할수있는 방법이 궁금합니다.


MaxProfitPrice 이함수를 사용할수있는지..



예스스팟으로 진입과 청산이 이루어지면.. 최대 손실과 수익을 로그로 나타내줬으면 합니다.


답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-01-30 13:10:14

안녕하세요 예스스탁입니다. 차트객체에 시스템 성능보고서의 내용은 리턴되지 않습니다. 스팟에서 직접 계산해서 사용하셔야 합니다. 아래 내용 참고하시기 바랍니다. 스크립트 객체설정 차트객체추가 -> 속성에서 객체명 Chart1, 시스템 적용된 차트와 동일 아이디 부여 종목객체추가 -> 속성에서 객체명 MarketData1, 차트와 동일종목으로 지정 var SK,SP,MaxProfit,MaxLoss; function Chart1_OnRiseSignal(Signal) { //Buy if (Signal.signalKind == 1) { SK = 1; SP = Signal.price; MaxProfit = 0; MaxLoss = 0; } //Sell if (Signal.signalKind == 3) { SK = -1; SP = Signal.price; MaxProfit = 0; MaxLoss = 0; } } function Main_OnUpdateMarket(itemcode, updateID, exchangeKind) { if (updateID == 20001) { if (SK == 1) { diff = MarketData1.current-SP; PL = Number(diff.toFixed(2)); //부동소숫점 처리, 소숫점이하 2자리 if (PL > MaxProfit) { MaxProfit = PL; } if (PL < MaxLoss) { MaxLoss = PL; } Main.MessageList("매포포지션","|최대수익:",MaxProfit,"|최대손실:",MaxLoss); } if (SK == -1) { diff = SP-MarketData1.current; PL = Number(diff.toFixed(2)); //부동소숫점 처리, 소숫점이하 2자리 if (PL > MaxProfit) { MaxProfit = PL; } if (PL < MaxLoss) { MaxLoss = PL; } Main.MessageList("매도포지션","|최대수익:",MaxProfit,"|최대손실:",MaxLoss); } } } 즐거운 하루되세요