커뮤니티

시스템식을 우리말로 번역해세요.

프로필 이미지
짙은안개
2014-09-22 21:47:03
183
글번호 78742
답변완료
안녕하세요? 시스템트레이딩을 준비하면서 로직을 작성하는 방법을 배우고 있습니다. 다음과 같은 시스템식을 우리가 사용하는 말로 번역해주시면 고맙겠습니다. 용어도 생소하고 수식 작성도 생소해 부탁드립니다. 감사합니다. var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0); XCommission = PositionProfit-(XCommission+XSlippage)*CurrentContracts; #%설정 XSlippage = ExitSlippage; #Pt설정 PLR = 0; count = 0; for var1 = 1 to 10{ if sdate == EntryDate(var1) Then{ count = count+1; PLR = PLR+PositionProfit(var1); } } OpenPL = (PositionProfit-(XCommission+XSlippage)*CurrentContracts); if MarketPosition() == 0 Then{ OpenPL = 0; dayPL = PLR; } Else{ OpenPL = (PositionProfit-(XCommission+XSlippage)*CurrentContracts); dayPL = PLR+OpenPL; } if crossup(c,ma(c,20)) and dayPL > -2 Then buy("b"); if CrossDown(c,ma(c,20)) Then{ exitlong("s"); } if MarketPosition() == 1 and dayPL < -2 Then exitlong("XX");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-09-24 09:23:04

안녕하세요 예스스탁입니다. 올리신 내용은 20이평을 상향돌파하면 매수 20이평을 하향이탈하면 매수청산하는 식입니다. 당일손익이 -2포인트를 넘어가면 청산하고 그날의 거래를 끝내는 식입니다. 시스템의 손익에는 시스템 트레이딩 설정창의 비용/수량탭에서 지정한 수수료와 슬리피지가 반영이 되는데 이 값을 가져와 현재 손익에서 차감해서 비용부분을 감안한 손익으로 계산을 합니다. 식이 조금 오래전 버전에서 작성된 식이므로 같은 내용인데 좀더 간단한 내용으로 변경해 드리고 주석을 붙여 드립니다. var : NP(0),PreNP(0),dayPL(0); //전체거래 손익(청산된 거래만) NP = NetProfit; //전일 전체거래 손익 if date != date[1] Then PreNP = NetProfit; #현재 (전거래손익 - 전일전체거래손익) + 현재진입중인 포지션의 손익 dayPL = NP-PreNP+PositionProfit; #종가가 20이평을 상향돌파하면 매수(단 당일손익은 -2포인트를 넘지 않을 때만) if crossup(c,ma(c,20)) and dayPL > -2 Then buy("b"); #종가가 20이평을 상향돌파하면 매수청산 if CrossDown(c,ma(c,20)) Then{ exitlong("s"); } #매수진입 후 당일손익이 -2포인트가 크게 발생하면 매수청산 if MarketPosition() == 1 and dayPL < -2 Then exitlong("XX"); 즐거운 하루되세요 > 짙은안개 님이 쓴 글입니다. > 제목 : 시스템식을 우리말로 번역해세요. > 안녕하세요? 시스템트레이딩을 준비하면서 로직을 작성하는 방법을 배우고 있습니다. 다음과 같은 시스템식을 우리가 사용하는 말로 번역해주시면 고맙겠습니다. 용어도 생소하고 수식 작성도 생소해 부탁드립니다. 감사합니다. var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0); XCommission = PositionProfit-(XCommission+XSlippage)*CurrentContracts; #%설정 XSlippage = ExitSlippage; #Pt설정 PLR = 0; count = 0; for var1 = 1 to 10{ if sdate == EntryDate(var1) Then{ count = count+1; PLR = PLR+PositionProfit(var1); } } OpenPL = (PositionProfit-(XCommission+XSlippage)*CurrentContracts); if MarketPosition() == 0 Then{ OpenPL = 0; dayPL = PLR; } Else{ OpenPL = (PositionProfit-(XCommission+XSlippage)*CurrentContracts); dayPL = PLR+OpenPL; } if crossup(c,ma(c,20)) and dayPL > -2 Then buy("b"); if CrossDown(c,ma(c,20)) Then{ exitlong("s"); } if MarketPosition() == 1 and dayPL < -2 Then exitlong("XX");