커뮤니티

문의드립니다.

프로필 이미지
잡다백수
2019-03-28 13:18:29
364
글번호 127445
답변완료

첨부 이미지

도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 이전 수식 재 질문입니다. . 코딩 감사합니다. 아래 코딩에서 현재 자산 부분을 누적수익으로 할 수 있을까요. 아래 것은 실제 매매에선 사용할 수 있을 것 같은데요. (초기계좌자산을 바꾸면 되니까) 생각해보니 시뮬에서는 저렇게 하면 계약수가 고정되서 단일계약에 자금관리가 쓸모 있는지 알 수는 없겠더라구요. 저기 초기계좌자산 +에다가 뭔 함수를 더해야하는지 잘 모르겠습니다. 원수식 input : 초기계좌자산(100000000),고정매매가능횟수(3),손절금액(500000); var : 현재자산(0),매매별금액리스크(0),매매계약수(0),entry(0); 현재자산 = 초기계좌자산 + Floor((2.0)/PriceScale)*PointValue; 매매별금액리스크 = 현재자산/고정매매가능횟수; 매매계약수 =매매별금액리스크/손절금액; if bdate != bdate[1] Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; var1 = ma(C,5); var2 = ma(C,20); if crossup(var1,var2) and entry < 고정매매가능횟수 Then buy("b",OnClose,def,매매계약수); if MarketPosition == 1 and CrossDown(var1,var2) Then ExitLong("bx"); 2. 그리고 Floor((2.0)/PriceScale)*PointValue; 이 부분은 2를 틱가치로 나눈 것을 반올림하고 PointValue(PriceScale을 금액으로 환산)를 곱했는데요. 이걸 왜 초기자산에다 더하는지 잘 모르겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-03-28 14:58:10

안녕하세요 예스스탁입니다. 죄송합니다. 값확인을 위해 손익대신 임의로 2.0을 지정했는데 그대로 식을 올려드렸습니다. 2.0대신에 netprofit을 지정하시면 됩니다. input : 초기계좌자산(100000000),고정매매가능횟수(3),손절금액(500000); var : 현재자산(0),매매별금액리스크(0),매매계약수(0),entry(0); 현재자산 = 초기계좌자산 + Floor((NetProfit)/PriceScale)*PointValue; 매매별금액리스크 = 현재자산/고정매매가능횟수; 매매계약수 =매매별금액리스크/손절금액; if bdate != bdate[1] Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; var1 = ma(C,5); var2 = ma(C,20); if crossup(var1,var2) and entry < 고정매매가능횟수 Then buy("b",OnClose,def,매매계약수); if MarketPosition == 1 and CrossDown(var1,var2) Then ExitLong("bx"); 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 문의드립니다. > 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 이전 수식 재 질문입니다. . 코딩 감사합니다. 아래 코딩에서 현재 자산 부분을 누적수익으로 할 수 있을까요. 아래 것은 실제 매매에선 사용할 수 있을 것 같은데요. (초기계좌자산을 바꾸면 되니까) 생각해보니 시뮬에서는 저렇게 하면 계약수가 고정되서 단일계약에 자금관리가 쓸모 있는지 알 수는 없겠더라구요. 저기 초기계좌자산 +에다가 뭔 함수를 더해야하는지 잘 모르겠습니다. 원수식 input : 초기계좌자산(100000000),고정매매가능횟수(3),손절금액(500000); var : 현재자산(0),매매별금액리스크(0),매매계약수(0),entry(0); 현재자산 = 초기계좌자산 + Floor((2.0)/PriceScale)*PointValue; 매매별금액리스크 = 현재자산/고정매매가능횟수; 매매계약수 =매매별금액리스크/손절금액; if bdate != bdate[1] Then entry = 0; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then entry = entry+1; var1 = ma(C,5); var2 = ma(C,20); if crossup(var1,var2) and entry < 고정매매가능횟수 Then buy("b",OnClose,def,매매계약수); if MarketPosition == 1 and CrossDown(var1,var2) Then ExitLong("bx"); 2. 그리고 Floor((2.0)/PriceScale)*PointValue; 이 부분은 2를 틱가치로 나눈 것을 반올림하고 PointValue(PriceScale을 금액으로 환산)를 곱했는데요. 이걸 왜 초기자산에다 더하는지 잘 모르겠습니다.