커뮤니티

문의드립니다.

프로필 이미지
사과쥬스
2012-08-29 17:43:23
187
글번호 54199
답변완료
input : 투입금액1(1400000),투입금액2(2800000),투입금액3(5600000); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then{ Var1 = int(int(투입금액1/C)/10)*10; Var2 = int(int(투입금액2/C)/10)*10; Var3 = int(int(투입금액3/C)/10)*10; } Else{ Var1 = int(투입금액1/C); Var2 = int(투입금액2/C); Var3 = int(투입금액3/C); } } if CodeCategory == 2 Then{ Var1 = int(투입금액1/C); Var2 = int(투입금액2/C); Var3 = int(투입금액3/C); } if CodeCategory == 6 Then{ Var1 = int(투입금액1/(C*BigPointValue)); Var2 = int(투입금액2/(C*BigPointValue)); Var3 = int(투입금액3/(C*BigPointValue)); } var1 = EnvelopeDown(5,3); if CrossDown(c,var1) Then buy("b1",OnClose,def,var1); if MarketPosition == 1 then{ ExitLong("bx1",atlimit,AvgEntryPrice*1.03); if CurrentEntries == 1 Then buy("b2",atlimit,EntryPrice*0.92,var2); if CurrentEntries == 2 Then buy("b3",atlimit,EntryPrice*0.86,var3); } 위의 식에 강제청산 - 최대수익대비 하락 수익대비 20% - 1% 이후를 적용하는데 있어 시뮬레이션 결과에서는 매도 신호가 나오는데 실제 모의투자에서는 매도 주문이 나가지 않습니다. 그리고 3차 투입금액까지 매수가 된다고 하더라도 1000만원 이상 매수가 되지 않아야 하는데 시뮬레이션 및 모의투자 주문에서는 투입금액이 훨씬 초과하여 주문이 나옵니다. 수정하여 주시면 감사하겠습니다. 위의 수식은 현물 및 15분봉 기준입니다. 수식내용 현물, 15분봉 기준 1차 매수 엔벨로프 5,3 하단선 돌파시 매수 140만원 매수 2차 매수 1차매수가 에서 -8% 시 280만원 매수 3차 매수 2차매수가 에서 -8% 시 560만원 매수 매도 매입 평균가에서 3% 상승시 전량매도 입니다. 잘부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-08-29 18:12:38

안녕하세요 예스스탁입니다. 1. 식상 var1이 투입금액1로 계산된 수량어야 하는데 엔벨로프 하단도 동일한 변수에 값이 저장되어 발생되는 문제였습니다. 해당 부분 수정한 식입니다. input : 투입금액1(1400000),투입금액2(2800000),투입금액3(5600000); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then{ Var1 = int(int(투입금액1/C)/10)*10; Var2 = int(int(투입금액2/C)/10)*10; Var3 = int(int(투입금액3/C)/10)*10; } Else{ Var1 = int(투입금액1/C); Var2 = int(투입금액2/C); Var3 = int(투입금액3/C); } } if CodeCategory == 2 Then{ Var1 = int(투입금액1/C); Var2 = int(투입금액2/C); Var3 = int(투입금액3/C); } if CodeCategory == 6 Then{ Var1 = int(투입금액1/(C*BigPointValue)); Var2 = int(투입금액2/(C*BigPointValue)); Var3 = int(투입금액3/(C*BigPointValue)); } value1 = EnvelopeDown(5,3); if CrossDown(c,value1) Then buy("b1",OnClose,def,var1); if MarketPosition == 1 then{ ExitLong("bx1",atlimit,AvgEntryPrice*1.03); if CurrentEntries == 1 Then buy("b2",atlimit,EntryPrice*0.92,var2); if CurrentEntries == 2 Then buy("b3",atlimit,EntryPrice*0.86,var3); } 2. 위 시스템을 적용시 차트에 신호만 발생하고 주문이 되지 않는 경우 약 2가지 경우가 발생할 수 있습니다. 첫번째는 주문시작신호 설정관련입니다. 현재 진입신호가 발생되어 있는 있는 상태에서 시스템을 재적용 하실때 (적용된 시스템 트레이딩 설정창을 열고 확인버튼을 누르셔도 재적용입니다.) 주문시작신호가 진입주문으로 되어 있으면 현재 적용시점이후로 처음 발생하는 진입부터 다시 주문을 시작하겠다는 의미이므로 청산신호만 발생하고 주문은 나가지 않을 수 있습니다. 시스템에 의해 진입주문이 나가 있는 상태라면 모든신호로 설정하고 적용해 주셔야 합니다. 시스템 트레이딩 적용하실 때 이전 진입에 대하 염두에 두시고 해당옵션 설정하셔야 합니다. 다른 한 경우는 청산은 신호상 수량으로 발생하므로 진입주문이 일부 미체결인 경우 잔고상 매입수량보다 청산수량이 더 많으면 주문거부가 됩니다. 즐거운 하루되세요 > 사과쥬스 님이 쓴 글입니다. > 제목 : 문의드립니다. > input : 투입금액1(1400000),투입금액2(2800000),투입금액3(5600000); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then{ Var1 = int(int(투입금액1/C)/10)*10; Var2 = int(int(투입금액2/C)/10)*10; Var3 = int(int(투입금액3/C)/10)*10; } Else{ Var1 = int(투입금액1/C); Var2 = int(투입금액2/C); Var3 = int(투입금액3/C); } } if CodeCategory == 2 Then{ Var1 = int(투입금액1/C); Var2 = int(투입금액2/C); Var3 = int(투입금액3/C); } if CodeCategory == 6 Then{ Var1 = int(투입금액1/(C*BigPointValue)); Var2 = int(투입금액2/(C*BigPointValue)); Var3 = int(투입금액3/(C*BigPointValue)); } var1 = EnvelopeDown(5,3); if CrossDown(c,var1) Then buy("b1",OnClose,def,var1); if MarketPosition == 1 then{ ExitLong("bx1",atlimit,AvgEntryPrice*1.03); if CurrentEntries == 1 Then buy("b2",atlimit,EntryPrice*0.92,var2); if CurrentEntries == 2 Then buy("b3",atlimit,EntryPrice*0.86,var3); } 위의 식에 강제청산 - 최대수익대비 하락 수익대비 20% - 1% 이후를 적용하는데 있어 시뮬레이션 결과에서는 매도 신호가 나오는데 실제 모의투자에서는 매도 주문이 나가지 않습니다. 그리고 3차 투입금액까지 매수가 된다고 하더라도 1000만원 이상 매수가 되지 않아야 하는데 시뮬레이션 및 모의투자 주문에서는 투입금액이 훨씬 초과하여 주문이 나옵니다. 수정하여 주시면 감사하겠습니다. 위의 수식은 현물 및 15분봉 기준입니다. 수식내용 현물, 15분봉 기준 1차 매수 엔벨로프 5,3 하단선 돌파시 매수 140만원 매수 2차 매수 1차매수가 에서 -8% 시 280만원 매수 3차 매수 2차매수가 에서 -8% 시 560만원 매수 매도 매입 평균가에서 3% 상승시 전량매도 입니다. 잘부탁드립니다.