커뮤니티

저의 수식을 수정해주세요

프로필 이미지
회원
2009-12-10 07:18:39
535
글번호 26621
답변완료
안녕하세요? 초보라서 아래의 수식을 가지고 밤을 새웠습니다. 아래의 식을 시스템으로 돌리니까 모든 양봉 음봉에서 매수 매도가 나오는데 도무지 어떻게 해결을 해야할지 모르겠습니다. 그리고 9시30분 이후에 나오는 신호에만 매수 매도를 하게 하고 싶은데 어떻게 하는지도 알려주세요 감사합니다. sTime == 093000; # 9시30분 이후부터 시스템적용. SetStopEndofday(150400); # 오후 3시4분에 청산. input : p1(12), p2(3), p3(3); var1 = StochasticsK(p1, p2); var2 = StochasticsD(p1, p2, p3); #스토케스틱 12,3,3 If CrossUp(var1, 80) Then # 스토캐스틱k가 80을 넘으면 value1=DayIndex; # 이 때의 데이인덱스를 Value1에 저장. If C<O and DayIndex>=Value1 Then Sell(); # Value1보다 이후에 음봉이 나타나면 매도한다. If CrossDown(Var1, 20) then ExitShort(); # 스토케스틱k가 20아래로 내려가면 청산한다. If CrossDown(var1, 20) Then # 스토캐스틱k가 20아래로 가면 Value2=DayIndex; # 이 때의 데이인덱스를 Value2에 저장. If C>O and dayIndex>=Value2 Then Buy(); # Value2 보다 이후에 양봉이 나타나면 매수한다. If CrossUp(var1, 80) Then ExitLong(); # 스토캐스틱k 가 80이상으로 가면 청산한다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-12-10 09:55:38

안녕하세요 예스스탁입니다. 시간조건은 매수와 매도식의 하나의 조건이므로 if문에 넣어주셔야 합니다. 또한 당일 하루에 한번이라도 스토케스틱 80이나 20이 상향하향이 있으면 값이 인덱스 값이 저장되고 이 값과 현재 인덱스값을 비교하게 됩니다. 작성하신 식은 당일 한번이라도 CrossUp(var1, 80)나 CrossDown(Var1, 20)가 발생하고 이후에는 음봉양봉으로 거래를 하라는 식과 같습니다. 또한 당일 80과 20을 상향 혹은 하향하지 않고 어제 발생해도 해당값을 쓰게 됩니다. 식을 아래와 같이 수정했습니다. 의도와 다르시면 다시 문의주시기 바랍니다. input : p1(12), p2(3), p3(3); var : cnt(0),count(0); var1 = StochasticsK(p1, p2); var2 = StochasticsD(p1, p2, p3); count = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count = count+1; } # 80이상에서 음봉갯수 카운트 if crossup(var1,80) Then value1 = 0; if var1 > 80 and C < O Then value1 = value1+1; # 9시 30분 이후에 당일 한번이상 var1이 80을 상향한적이 있고 # var1이 80이상에서 첫번째 나온 음봉일때 매도 If sTime >= 093000 and C < O and var1 > 80 and value1 == 1 and CountIF(CrossUp(var1, 80),dayindex) >= 1 Then Sell(); # var1이 20을 하향이탈하면 매도청산 If CrossDown(Var1, 20) then ExitShort(); # 20이하에서 양봉갯수 카운트 If CrossDown(var1, 20) Then Value2 = 0; if var1 < 20 and C > O Then value2 = value2+1; # 9시 30분 이후에 당일 한번이상 var1이 20을 하향이탈한적이 있고 # var1이 20이하에서 첫번째 나온 양봉일때 매수 If sTime >= 093000 and C > O and var1 < 20 and value2 == 1 and CountIF(CrossDown(var1, 20),dayindex) >= 1 Then Buy(); # var1이 80을 상향돌파하면 매수청산 If CrossUp(var1, 80) Then ExitLong(); SetStopEndofday(150400); # 오후 3시4분에 청산. 즐거운 하루되세요 > HI_subtake 님이 쓴 글입니다. > 제목 : 저의 수식을 수정해주세요 > 안녕하세요? 초보라서 아래의 수식을 가지고 밤을 새웠습니다. 아래의 식을 시스템으로 돌리니까 모든 양봉 음봉에서 매수 매도가 나오는데 도무지 어떻게 해결을 해야할지 모르겠습니다. 그리고 9시30분 이후에 나오는 신호에만 매수 매도를 하게 하고 싶은데 어떻게 하는지도 알려주세요 감사합니다. sTime == 093000; # 9시30분 이후부터 시스템적용. SetStopEndofday(150400); # 오후 3시4분에 청산. input : p1(12), p2(3), p3(3); var1 = StochasticsK(p1, p2); var2 = StochasticsD(p1, p2, p3); #스토케스틱 12,3,3 If CrossUp(var1, 80) Then # 스토캐스틱k가 80을 넘으면 value1=DayIndex; # 이 때의 데이인덱스를 Value1에 저장. If C<O and DayIndex>=Value1 Then Sell(); # Value1보다 이후에 음봉이 나타나면 매도한다. If CrossDown(Var1, 20) then ExitShort(); # 스토케스틱k가 20아래로 내려가면 청산한다. If CrossDown(var1, 20) Then # 스토캐스틱k가 20아래로 가면 Value2=DayIndex; # 이 때의 데이인덱스를 Value2에 저장. If C>O and dayIndex>=Value2 Then Buy(); # Value2 보다 이후에 양봉이 나타나면 매수한다. If CrossUp(var1, 80) Then ExitLong(); # 스토캐스틱k 가 80이상으로 가면 청산한다.