커뮤니티

54803 재질문

프로필 이미지
잡다백수
2017-09-14 13:01:34
119
글번호 112763
답변완료
수식왕 예스스탁님 매번 감사합니다. 54803 재질문입니다. 하루종일 이것만 보고 있는데도 모르겠네요. %로 지정하면 수식이 달라지게 됩니다. 아래 내용 참고하시기 바랍니다. Input : 당일수익율(30),당일손실율(-30); Var : DayPLR(0); #날짜 변경 if Bdate != Bdate[1] Then ① { #당일 손익률 누적할 변수는 0으로 초기화 DayPLR = 0; } #청산발생하면 손익율 계산해 합산 if TotalTrades > TotalTrades[1] Then { #청산된 거래가 매수포지션이면 if MarketPosition(1) == 1 Then DayPLR = DayPLR + (ExitPrice(1)-EntryPrice(1))/EntryPrice(1)*100; #청산된 거래가 매도포지션이면 if MarketPosition(1) == -1 Then DayPLR = DayPLR + (EntryPrice(1)-ExitPrice(1))/EntryPrice(1)*100; } # DayPLR이 당일수익율보다 적고 당일손실율보단 클때만 진입 if DayPLR < 당일수익율 and DayPLR > 당일손실율 then{ if 매수진입조건 Then{ buy("b"); } if 매도진입조건 Then{ sell("s"); } } #매수진입 중 if MarketPosition == 1 then{ var1 = 당일수익율-dayPLR; ② var2 = 당일손실율+dayPLR; #당일수익율에 도달하면 청산 ExitLong("dbp",atlimit,EntryPrice*(1+var1/100)); #당일손실율에 도달하면 청산 ExitLong("dbl",AtStop,EntryPrice*(1+var1/100)); } #매도진입 중 if MarketPosition == -1 then{ var1 = 당일수익율-dayPLR; var2 = 당일손실율+dayPLR; #당일수익율에 도달하면 청산 ExitShort("dsp",atlimit,EntryPrice*(1-var1/100));③ #당일손실율에 도달하면 청산 ExitShort("dsl",AtStop,EntryPrice*(1-var1/100)); } 1. ① 'Bdate가 하루전 Bdate와 같지 않다면'이 조건인데요. Bdate 변수는 뭘 의미하는 건가요? 설명들을 봐도 모르겠습니다. 2. ② var1이 어떻게 쓰이는 건가요? 진입가격*(1-var1/100) 이러는데요. 당일수익률인 var1이 어떻게 쓰이는 지 잘 모르겠습니다. 3. ③ 여기를 보면 dsp가 나오는데요. dsp는 틱으로 손실률 수익률 계산할 때만 정의했고 퍼센트계산에선 안나왔는데 여기엔 있네요. 헷갈립니다. 3번에 달아주신 수식대로만 하면 손실률 수익률 청산이 되는 건가요? 4. 20이평 상향돌파 하향돌파 전략으로 위의 손실 수익 청산을 예로 만들어 주세요~
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-09-15 11:14:31

안녕하세요 예스스탁입니다. 1 bdate는 영업일입니다. 모든 거래소는 하루의 시작을 밤 0시가 아닌 특정시간을 기준으로 판별합니다. 한국거래소는 한국시간으로 오전 9시이고 오전9시에서 다음날 오전9시 직전까지가 하나의 영업일 입니다. 국내 주식은 24시간 거래가 되는 것이 아니므로 bdate != bdate[1] 와 sdate != sdate[1]가 같은 의미입니다. 즉 새로운 하루의 시작을 의미합니다. 하지만 국내선물이나 해외선물시장은 24시간 거래가 되므로 bdate != bdate[1] 와 sdate != sdate[1]가 같은 다른 의미입니다. bdate != bdate[1]는 오전 9시 기준 sdate != sdate[1]는 밤 0시 기준을 의미하게 됩니다. 2 var1은 당일수익율 달성까지 필요한 %를 계산해서 저장한 변수입니다. 당일수익율(목표로는 수익율)이 30%이고 당일 3번 거래가 있어 24% 수익을 얻고 있다면 앞으로 6%의 수익만 거두면 되므로 var1에는 6이라는 값이 저장됩니다.물론 당일 한번도 거래가 없었으면 var1은 30입니다. 3 해당 부분은 파생상품의 매도포지션 거래에서 청산에 사용하는 부분입니다. 이전답변에도 dsp라는 이름이 청산의 이름은 있었습니다. 4 Input : 당일수익율(30),당일손실율(-30); Var : DayPLR(0); #날짜 변경 if Bdate != Bdate[1] Then { #당일 손익률 누적할 변수는 0으로 초기화 DayPLR = 0; } #청산발생하면 손익율 계산해 합산 if TotalTrades > TotalTrades[1] Then { #청산된 거래가 매수포지션이면 if MarketPosition(1) == 1 Then DayPLR = DayPLR + (ExitPrice(1)-EntryPrice(1))/EntryPrice(1)*100; #청산된 거래가 매도포지션이면 if MarketPosition(1) == -1 Then DayPLR = DayPLR + (EntryPrice(1)-ExitPrice(1))/EntryPrice(1)*100; } # DayPLR이 당일수익율보다 적고 당일손실율보단 클때만 진입 if DayPLR < 당일수익율 and DayPLR > 당일손실율 then{ if crossup(c,ma(c,20)) Then{ buy("b"); } if CrossDown(c,ma(c,20)) Then{ sell("s"); } } #매수진입 중 if MarketPosition == 1 then{ var1 = 당일수익율-dayPLR; var2 = 당일손실율+dayPLR; #당일수익율에 도달하면 청산 ExitLong("dbp",atlimit,EntryPrice*(1+var1/100)); #당일손실율에 도달하면 청산 ExitLong("dbl",AtStop,EntryPrice*(1+var1/100)); } #매도진입 중 if MarketPosition == -1 then{ var1 = 당일수익율-dayPLR; var2 = 당일손실율+dayPLR; #당일수익율에 도달하면 청산 ExitShort("dsp",atlimit,EntryPrice*(1-var1/100)); #당일손실율에 도달하면 청산 ExitShort("dsl",AtStop,EntryPrice*(1-var1/100)); } 즐거운 하루되세요 > 잡다백수 님이 쓴 글입니다. > 제목 : 54803 재질문 > 수식왕 예스스탁님 매번 감사합니다. 54803 재질문입니다. 하루종일 이것만 보고 있는데도 모르겠네요. %로 지정하면 수식이 달라지게 됩니다. 아래 내용 참고하시기 바랍니다. Input : 당일수익율(30),당일손실율(-30); Var : DayPLR(0); #날짜 변경 if Bdate != Bdate[1] Then ① { #당일 손익률 누적할 변수는 0으로 초기화 DayPLR = 0; } #청산발생하면 손익율 계산해 합산 if TotalTrades > TotalTrades[1] Then { #청산된 거래가 매수포지션이면 if MarketPosition(1) == 1 Then DayPLR = DayPLR + (ExitPrice(1)-EntryPrice(1))/EntryPrice(1)*100; #청산된 거래가 매도포지션이면 if MarketPosition(1) == -1 Then DayPLR = DayPLR + (EntryPrice(1)-ExitPrice(1))/EntryPrice(1)*100; } # DayPLR이 당일수익율보다 적고 당일손실율보단 클때만 진입 if DayPLR < 당일수익율 and DayPLR > 당일손실율 then{ if 매수진입조건 Then{ buy("b"); } if 매도진입조건 Then{ sell("s"); } } #매수진입 중 if MarketPosition == 1 then{ var1 = 당일수익율-dayPLR; ② var2 = 당일손실율+dayPLR; #당일수익율에 도달하면 청산 ExitLong("dbp",atlimit,EntryPrice*(1+var1/100)); #당일손실율에 도달하면 청산 ExitLong("dbl",AtStop,EntryPrice*(1+var1/100)); } #매도진입 중 if MarketPosition == -1 then{ var1 = 당일수익율-dayPLR; var2 = 당일손실율+dayPLR; #당일수익율에 도달하면 청산 ExitShort("dsp",atlimit,EntryPrice*(1-var1/100));③ #당일손실율에 도달하면 청산 ExitShort("dsl",AtStop,EntryPrice*(1-var1/100)); } 1. ① 'Bdate가 하루전 Bdate와 같지 않다면'이 조건인데요. Bdate 변수는 뭘 의미하는 건가요? 설명들을 봐도 모르겠습니다. 2. ② var1이 어떻게 쓰이는 건가요? 진입가격*(1-var1/100) 이러는데요. 당일수익률인 var1이 어떻게 쓰이는 지 잘 모르겠습니다. 3. ③ 여기를 보면 dsp가 나오는데요. dsp는 틱으로 손실률 수익률 계산할 때만 정의했고 퍼센트계산에선 안나왔는데 여기엔 있네요. 헷갈립니다. 3번에 달아주신 수식대로만 하면 손실률 수익률 청산이 되는 건가요? 4. 20이평 상향돌파 하향돌파 전략으로 위의 손실 수익 청산을 예로 만들어 주세요~