커뮤니티

문의드립니다.

프로필 이미지
사과쥬스
2012-09-02 22:24:12
218
글번호 54266
답변완료
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 countif(MarketPosition == 0,2) == 2 and 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); } if MarketPosition != 1 Then Condition1 = false; if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then var99 = H; if H > var99 Then var99 = H; if var99 >= AvgEntryPrice*1.01 Then Condition1 = True; if Condition1 == true Then ExitLong("bx",AtStop,var99-(var99-AvgEntryPrice)*0.2); } 이전 답변 감사드립니다. 몇가지 추가하고자 하는 조건이 있어 문의드립니다. 전일 하한가일때와 현재가가 하한가인 종목은 매수하지 않는다 라는 조건을 추가 하고 싶습니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-09-03 14:04:35

안녕하세요 예스스탁입니다. input : 투입금액1(1400000),투입금액2(2800000),투입금액3(5600000); var : 하한가(0), DnLimit(0),전일하한가(0); var : dn1(0), dn2(0), dn3(0), dn4(0), dn5(0),dn6(0); if date >= 19981207 then { //거래소 98년 12월7일 가격제한폭 15%로 확대 변경됨 if date < 20050328 && CodeCategory() == 2 then //코스닥 2005년 3월28일 이전은 가격제한폭 12% DnLimit = (BP * 0.12); Else //코스닥 2005년 3월28일 이후 및 거래소98년12월 7일이후 15% DnLimit = (BP * 0.15); if CodeCategory() == 2 then { //코스닥 호가단위 ( 2003년 7월21일에 호가 단위 변경됨) if date >= 20030721 then { dn1 = int(DnLimit/100)*100; // 500,000원 이상의 하한가 호가 dn2 = int(DnLimit/100)*100; // 100,000원 이상 ~ 500,000원 미만의 하한가 호가 dn3 = int(DnLimit/100)*100; // 50,000원 이상 ~ 100,000원 미만의 하한가 호가 dn4 = int(DnLimit/50)*50; // 10,000원 이상 ~ 50,000원 미만의 하한가 호가 dn5 = int(DnLimit/10)*10; // 5,000원 이상 ~ 10,000원 미만의 하한가 호가 dn6 = int(DnLimit/5)*5; // 5,000원 미만의 하한가 호가 } else { // 코스닥 2003년7월21일 이전 dn1 = int(DnLimit/1000)*1000; dn2 = int(DnLimit/500)*500; dn3 = int(DnLimit/100)*100; dn4 = int(DnLimit/50)*50; dn5 = int(DnLimit/10)*10; dn6 = int(DnLimit/10)*10; } } Else { //거래소 호가단위 dn1 = int(DnLimit/1000)*1000; dn2 = int(DnLimit/500)*500; dn3 = int(DnLimit/100)*100; dn4 = int(DnLimit/50)*50; dn5 = int(DnLimit/10)*10; dn6 = int(DnLimit/5)*5; } if CodeCategory() == 1 or CodeCategory() == 2 then { //kospi, kosdaq If BP >= 500000 Then 하한가 = BP-dn1; Else If BP >= 100000 Then 하한가 = BP-dn2; Else If BP >= 50000 Then 하한가 = BP-dn3; Else If BP >= 10000 Then 하한가 = BP-dn4; Else If BP >= 5000 Then 하한가 = BP-dn5; Else 하한가 = BP-dn6; } else if CodeCategory() == 8 or CodeCategory() == 9 then { //ETF 하한가 = BP-dn6; } } if date != date[1] Then 전일하한가 = 하한가[1]; 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 DayLow(1) > 전일하한가 and C > 하한가 then{ if countif(MarketPosition == 0,2) == 2 and 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); } } if MarketPosition != 1 Then Condition1 = false; if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then var99 = H; if H > var99 Then var99 = H; if var99 >= AvgEntryPrice*1.01 Then Condition1 = True; if Condition1 == true Then ExitLong("bx",AtStop,var99-(var99-AvgEntryPrice)*0.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)); } value1 = EnvelopeDown(5,3); if countif(MarketPosition == 0,2) == 2 and 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); } if MarketPosition != 1 Then Condition1 = false; if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then var99 = H; if H > var99 Then var99 = H; if var99 >= AvgEntryPrice*1.01 Then Condition1 = True; if Condition1 == true Then ExitLong("bx",AtStop,var99-(var99-AvgEntryPrice)*0.2); } 이전 답변 감사드립니다. 몇가지 추가하고자 하는 조건이 있어 문의드립니다. 전일 하한가일때와 현재가가 하한가인 종목은 매수하지 않는다 라는 조건을 추가 하고 싶습니다. 감사합니다.