커뮤니티

수식 검토 부탁드립니다

프로필 이미지
bigdeal
2016-01-22 14:40:47
186
글번호 94709
답변완료

첨부 이미지

안녕하세요 수고많으십니다 시가 기준하여 1포인트간격으로 5등분선 만들고 한구간에서 3번이상 매매하면 손실청산이던 이익청산이던 그 구간에서는 더이상 매매하지 않고 다음 구간으로 현재가가 상승하거나 하락할 때 매매하는 수식을 다음과 같이 만들었습니다 그런데 시물레이션을 해보니까 첨부된 그림과 같이 3번이상 되었는데도 신호가 나옵니다 무엇이 잘못되었는지 검토부탁드립니다 --수식-- input : Entry(3); var : cnt(0); var : upcnt1(0),upcnt2(0),dncnt1(0),dncnt2(0); value1 = ma(C, 5); value2 = ma(C, 20); #각 구간별 진입횟수 카운트 upcnt1 = 0; upcnt2 = 0; dncnt1 = 0; dncnt2 = 0; for cnt = 0 to 100{ if sdate == EntryDate(cnt) Then { if EntryPrice(cnt) >= dayopen and EntryPrice(cnt) < dayopen+1 Then upcnt1 = upcnt1+1; if EntryPrice(cnt) >= dayopen+1 and EntryPrice(cnt) < dayopen+2 Then upcnt2 = upcnt2+1; if EntryPrice(cnt) < dayopen and EntryPrice(cnt) > dayopen-1 Then dncnt1 = dncnt1+1; if EntryPrice(cnt) <= dayopen-1 and EntryPrice(cnt) < dayopen-2 Then dncnt2 = dncnt2+1; } } if CrossUP(value1, value2) Then{ if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then buy("b1"); if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then buy("b2"); if c < dayopen and c >= dayopen-1 and dncnt1 < Entry Then buy("b3"); if c <= dayopen-1 and c < dayopen+2 and dncnt2 < Entry Then buy("b4"); } if CrossDown(value1, value2) Then{ if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then sell("s1"); if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then sell("s2"); if c < dayopen and c >= dayopen-1 and dncnt1 < Entry Then sell("s3"); if c <= dayopen-1 and c < dayopen+2 and dncnt2 < Entry Then sell("s4"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-01-25 14:13:34

안녕하세요 예스스탁입니다. -1~-2사이의 조건식이 잘못되어 수정했습니다. input : Entry(3); var : cnt(0); var : upcnt1(0),upcnt2(0),dncnt1(0),dncnt2(0); value1 = ma(C, 5); value2 = ma(C, 20); #각 구간별 진입횟수 카운트 upcnt1 = 0; upcnt2 = 0; dncnt1 = 0; dncnt2 = 0; for cnt = 0 to 100{ if sdate == EntryDate(cnt) Then { if EntryPrice(cnt) >= dayopen and EntryPrice(cnt) < dayopen+1 Then upcnt1 = upcnt1+1; if EntryPrice(cnt) >= dayopen+1 and EntryPrice(cnt) < dayopen+2 Then upcnt2 = upcnt2+1; if EntryPrice(cnt) < dayopen and EntryPrice(cnt) > dayopen-1 Then dncnt1 = dncnt1+1; if EntryPrice(cnt) <= dayopen-1 and EntryPrice(cnt) > dayopen-2 Then dncnt2 = dncnt2+1; } } if CrossUP(value1, value2) Then{ if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then buy("b1"); if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then buy("b2"); if c < dayopen and c > dayopen-1 and dncnt1 < Entry Then buy("b3"); if c <= dayopen-1 and c > dayopen+2 and dncnt2 < Entry Then buy("b4"); } if CrossDown(value1, value2) Then{ if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then sell("s1"); if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then sell("s2"); if c < dayopen and c > dayopen-1 and dncnt1 < Entry Then sell("s3"); if c <= dayopen-1 and c > dayopen+2 and dncnt2 < Entry Then sell("s4"); } 즐거운 하루되세요 > bigdeal 님이 쓴 글입니다. > 제목 : 수식 검토 부탁드립니다 > 안녕하세요 수고많으십니다 시가 기준하여 1포인트간격으로 5등분선 만들고 한구간에서 3번이상 매매하면 손실청산이던 이익청산이던 그 구간에서는 더이상 매매하지 않고 다음 구간으로 현재가가 상승하거나 하락할 때 매매하는 수식을 다음과 같이 만들었습니다 그런데 시물레이션을 해보니까 첨부된 그림과 같이 3번이상 되었는데도 신호가 나옵니다 무엇이 잘못되었는지 검토부탁드립니다 --수식-- input : Entry(3); var : cnt(0); var : upcnt1(0),upcnt2(0),dncnt1(0),dncnt2(0); value1 = ma(C, 5); value2 = ma(C, 20); #각 구간별 진입횟수 카운트 upcnt1 = 0; upcnt2 = 0; dncnt1 = 0; dncnt2 = 0; for cnt = 0 to 100{ if sdate == EntryDate(cnt) Then { if EntryPrice(cnt) >= dayopen and EntryPrice(cnt) < dayopen+1 Then upcnt1 = upcnt1+1; if EntryPrice(cnt) >= dayopen+1 and EntryPrice(cnt) < dayopen+2 Then upcnt2 = upcnt2+1; if EntryPrice(cnt) < dayopen and EntryPrice(cnt) > dayopen-1 Then dncnt1 = dncnt1+1; if EntryPrice(cnt) <= dayopen-1 and EntryPrice(cnt) < dayopen-2 Then dncnt2 = dncnt2+1; } } if CrossUP(value1, value2) Then{ if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then buy("b1"); if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then buy("b2"); if c < dayopen and c >= dayopen-1 and dncnt1 < Entry Then buy("b3"); if c <= dayopen-1 and c < dayopen+2 and dncnt2 < Entry Then buy("b4"); } if CrossDown(value1, value2) Then{ if c >= dayopen and c < dayopen+1 and upcnt1 < Entry Then sell("s1"); if c >= dayopen+1 and c < dayopen+2 and upcnt2 < Entry Then sell("s2"); if c < dayopen and c >= dayopen-1 and dncnt1 < Entry Then sell("s3"); if c <= dayopen-1 and c < dayopen+2 and dncnt2 < Entry Then sell("s4"); }