커뮤니티

시스템 오류 문의입니다.-수정

프로필 이미지
경상도강군
2012-10-10 10:14:50
298
글번호 55492
답변완료
수고가 많으십니다. 다름이 아니라 계속 쓰고있던 시스템이 어느날부터인가 문제가 생긴듯하여 이렇게 문의를 드립니다. 식은 아래와 같습니다. 문제가 돼는 부분은 기존에는 3분봉상 엔벨 20.3 하단부분을 이탈할 경우3분봉 완성시 1차매수 1차매수지점에서 -1.5% 하락시 2차매수가 됐었는데 지금 문제인 부분은 1차매수 3분봉 완성시가 맞지만 2차매수역시 -1.5% 하락했을때 매수돼는것이 아니라 3분봉완성시 매수가 된다는 것입니다. 아래는 현재 사용하고있는 식입니다. 조언 부탁드리겠습니다. input : C1(25220000),수익(5),추가(1.5),손절(2); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then{ Var1 = int(int((C1*0.1)/C)/10)*10; Var2 = int(int((C1*0.1)/C)/10)*10; } Else{ Var1 = int((C1*0.1)/C); Var2 = int((C1*0.1)/C); } } if CodeCategory == 2 or CodeCategory == 8 Then{ Var1 = int((C1*0.1)/C); Var2 = int((C1*0.1)/C); } if CodeCategory == 6 Then{#옵션 Var1 = int((C1*0.1)/(C*BigPointValue)); Var2 = int((C1*0.1)/(C*BigPointValue)); } value1 = EnvelopeDown(20,3); if MarketPosition == 0 and CrossDown(c,value1) and (stime < 110000 or stime >= 131000) Then buy("매수1",OnClose,def,var2); if MarketPosition == 1 and (stime < 110000 or stime >= 131000) Then{ exitlong("매도",atlimit,avgEntryPrice*(1+수익/100)); if CurrentEntries == 1 and MaxEntries == 1 Then buy("매수2",atlimit,EntryPrice*(1-(추가*1)/100),var1); if CurrentEntries == 2 and MaxEntries == 2 Then buy("매수3",atlimit,EntryPrice*(1-(추가*2)/100),var1); if CurrentEntries == 3 and MaxEntries == 3 Then buy("매수4",atlimit,EntryPrice*(1-(추가*3)/100),var2); if CurrentEntries == 4 and MaxEntries == 4 Then exitlong("손절",AtStop,EntryPrice*(1-(추가*3+손절)/100)); } if stime == 110000 Then exitlong(); SetStopEndofday(110000);
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2012-10-10 11:52:01

안녕하세요 예스스탁입니다. 해당식 정상적으로 신호가 발생합니다. 첫진입만 봉완성시고 나머지 추가매수분은 모두 가격조건 만족시 봉미완성시에 모두 발생합니다. 여러 종목 테스트 해봐도 말씀하신 경우는 찾지 못했습니다. 즐거운 하루되세요 > 경상도강군 님이 쓴 글입니다. > 제목 : 시스템 오류 문의입니다.-수정 > 수고가 많으십니다. 다름이 아니라 계속 쓰고있던 시스템이 어느날부터인가 문제가 생긴듯하여 이렇게 문의를 드립니다. 식은 아래와 같습니다. 문제가 돼는 부분은 기존에는 3분봉상 엔벨 20.3 하단부분을 이탈할 경우3분봉 완성시 1차매수 1차매수지점에서 -1.5% 하락시 2차매수가 됐었는데 지금 문제인 부분은 1차매수 3분봉 완성시가 맞지만 2차매수역시 -1.5% 하락했을때 매수돼는것이 아니라 3분봉완성시 매수가 된다는 것입니다. 아래는 현재 사용하고있는 식입니다. 조언 부탁드리겠습니다. input : C1(25220000),수익(5),추가(1.5),손절(2); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then{ Var1 = int(int((C1*0.1)/C)/10)*10; Var2 = int(int((C1*0.1)/C)/10)*10; } Else{ Var1 = int((C1*0.1)/C); Var2 = int((C1*0.1)/C); } } if CodeCategory == 2 or CodeCategory == 8 Then{ Var1 = int((C1*0.1)/C); Var2 = int((C1*0.1)/C); } if CodeCategory == 6 Then{#옵션 Var1 = int((C1*0.1)/(C*BigPointValue)); Var2 = int((C1*0.1)/(C*BigPointValue)); } value1 = EnvelopeDown(20,3); if MarketPosition == 0 and CrossDown(c,value1) and (stime < 110000 or stime >= 131000) Then buy("매수1",OnClose,def,var2); if MarketPosition == 1 and (stime < 110000 or stime >= 131000) Then{ exitlong("매도",atlimit,avgEntryPrice*(1+수익/100)); if CurrentEntries == 1 and MaxEntries == 1 Then buy("매수2",atlimit,EntryPrice*(1-(추가*1)/100),var1); if CurrentEntries == 2 and MaxEntries == 2 Then buy("매수3",atlimit,EntryPrice*(1-(추가*2)/100),var1); if CurrentEntries == 3 and MaxEntries == 3 Then buy("매수4",atlimit,EntryPrice*(1-(추가*3)/100),var2); if CurrentEntries == 4 and MaxEntries == 4 Then exitlong("손절",AtStop,EntryPrice*(1-(추가*3+손절)/100)); } if stime == 110000 Then exitlong(); SetStopEndofday(110000);
프로필 이미지

경상도강군

2012-10-26 09:48:07

답변 감사드립니다. 주가가 빠르게 등락할경우 가끔 오류가 있긴하나 진입 범위를 벗어나지않는것 같습니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 시스템 오류 문의입니다.-수정 > 안녕하세요 예스스탁입니다. 해당식 정상적으로 신호가 발생합니다. 첫진입만 봉완성시고 나머지 추가매수분은 모두 가격조건 만족시 봉미완성시에 모두 발생합니다. 여러 종목 테스트 해봐도 말씀하신 경우는 찾지 못했습니다. 즐거운 하루되세요 > 경상도강군 님이 쓴 글입니다. > 제목 : 시스템 오류 문의입니다.-수정 > 수고가 많으십니다. 다름이 아니라 계속 쓰고있던 시스템이 어느날부터인가 문제가 생긴듯하여 이렇게 문의를 드립니다. 식은 아래와 같습니다. 문제가 돼는 부분은 기존에는 3분봉상 엔벨 20.3 하단부분을 이탈할 경우3분봉 완성시 1차매수 1차매수지점에서 -1.5% 하락시 2차매수가 됐었는데 지금 문제인 부분은 1차매수 3분봉 완성시가 맞지만 2차매수역시 -1.5% 하락했을때 매수돼는것이 아니라 3분봉완성시 매수가 된다는 것입니다. 아래는 현재 사용하고있는 식입니다. 조언 부탁드리겠습니다. input : C1(25220000),수익(5),추가(1.5),손절(2); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then{ Var1 = int(int((C1*0.1)/C)/10)*10; Var2 = int(int((C1*0.1)/C)/10)*10; } Else{ Var1 = int((C1*0.1)/C); Var2 = int((C1*0.1)/C); } } if CodeCategory == 2 or CodeCategory == 8 Then{ Var1 = int((C1*0.1)/C); Var2 = int((C1*0.1)/C); } if CodeCategory == 6 Then{#옵션 Var1 = int((C1*0.1)/(C*BigPointValue)); Var2 = int((C1*0.1)/(C*BigPointValue)); } value1 = EnvelopeDown(20,3); if MarketPosition == 0 and CrossDown(c,value1) and (stime < 110000 or stime >= 131000) Then buy("매수1",OnClose,def,var2); if MarketPosition == 1 and (stime < 110000 or stime >= 131000) Then{ exitlong("매도",atlimit,avgEntryPrice*(1+수익/100)); if CurrentEntries == 1 and MaxEntries == 1 Then buy("매수2",atlimit,EntryPrice*(1-(추가*1)/100),var1); if CurrentEntries == 2 and MaxEntries == 2 Then buy("매수3",atlimit,EntryPrice*(1-(추가*2)/100),var1); if CurrentEntries == 3 and MaxEntries == 3 Then buy("매수4",atlimit,EntryPrice*(1-(추가*3)/100),var2); if CurrentEntries == 4 and MaxEntries == 4 Then exitlong("손절",AtStop,EntryPrice*(1-(추가*3+손절)/100)); } if stime == 110000 Then exitlong(); SetStopEndofday(110000);