커뮤니티

수식작성 문의

프로필 이미지
체로키
2015-06-24 02:05:31
95
글번호 87573
답변완료
안녕하세요? 선물에서 당일내에 매수진입과 매도진입을 각각 2,3회씩 제한하고 싶은데요... 그래서, 여기 올라온 수식작성 글들을 참고하여, 아래와 같이 수식을 작성하여 보았습니다. ///////////////////////////////////////////////////////////////// var : cnt_L(0),count_L(0); count_L = 0; for cnt_L = 0 to 20 { if sdate == EntryDate(cnt_L) Then count_L = count_L+1; } if stime >= 90000 and stime < 140000 Then { if count_L < 2 and 조건식 Then { buy(); } } var : cnt_S(0),count_S(0); count_S = 0; for cnt_S = 0 to 20 { if sdate == EntryDate(cnt_S) Then count_S = count_S+1; } if stime >= 90000 and stime < 140000 Then { if count_S < 3 and 조건식 Then { Sell(); } } /////////////////////////////////////////////////////////////// 이렇게 하면, 매수매도 관계없이 카운트하는듯 한데.... 매수따로 매도따로 각각 카운트하여 진입횟수 제한할 수 있도록 수식(수정) 부탁드립니다. 그리고, sdate가 봉의 시작날자인데...각봉의 시작날자인지, 진입봉의 날자를 의미하는지요? EntryDate는 포지션의 진입날자인데... 그럼, 첫번째 포지션이 진입되면 그날자와 봉의 날자가 같으므로, count =1로 만들고, 두번째 포지션이 진입되면 또 그날자와 봉의 날자가 같아서, count =2로 만들어서, 조건식이 count < 2 일때....세번째 신호발생시 count =2여서 더이상 진입안한다는 의미가 맞는지요? 그리고, cnt은 0~20까지 범위를 두었는데...이럴경우 최대 하루 20개까지 진입할 수 있는 범위를 가질 수 있다는 의미에서 20까지 둔 것인지요? 게시판에 올라온 수식들을 기초로 작성하다보니....정확한 의미가 궁금해서요..죄송^^ 감사합니다. 좋은 하루되세요.^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-06-24 10:40:36

안녕하세요 예스스탁입니다. 1 var : cnt(0),count_L(0),count_S(0); count_L = 0; count_S = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) and MarketPosition(cnt) == 1 Then count_L = count_L+1; if sdate == EntryDate(cnt) and MarketPosition(cnt) == -1 Then count_S = count_S+1; } if stime >= 90000 and stime < 140000 Then { if count_L < 2 and 조건식 Then { buy(); } if count_S < 3 and 조건식 Then { Sell(); } } 2 sdate는 각봉의 날짜입니다. 위 식은 이전20개의 진입의 날짜를 불러와 현재봉 날짜와 비교해서 현재봉(당일)과 같은 날짜의 거래가 몇개인지 카운트해서 당일 진입횟수를 계산하는 것입니다. 20이라는 숫자는 넉넉히 이전 진입횟수를 지정한 것 뿐입니다. 만약 당일 거래가 20회 이상으로 지정한다면 for문의 최종값도 20보다 큰값으로 지정하시면 됩니다. 즉 의도하는 당일진입횟수보다 1이상 큰값으로 지정하시면 됩니다. 즐거운 하루되세요 > 체로키 님이 쓴 글입니다. > 제목 : 수식작성 문의 > 안녕하세요? 선물에서 당일내에 매수진입과 매도진입을 각각 2,3회씩 제한하고 싶은데요... 그래서, 여기 올라온 수식작성 글들을 참고하여, 아래와 같이 수식을 작성하여 보았습니다. ///////////////////////////////////////////////////////////////// var : cnt_L(0),count_L(0); count_L = 0; for cnt_L = 0 to 20 { if sdate == EntryDate(cnt_L) Then count_L = count_L+1; } if stime >= 90000 and stime < 140000 Then { if count_L < 2 and 조건식 Then { buy(); } } var : cnt_S(0),count_S(0); count_S = 0; for cnt_S = 0 to 20 { if sdate == EntryDate(cnt_S) Then count_S = count_S+1; } if stime >= 90000 and stime < 140000 Then { if count_S < 3 and 조건식 Then { Sell(); } } /////////////////////////////////////////////////////////////// 이렇게 하면, 매수매도 관계없이 카운트하는듯 한데.... 매수따로 매도따로 각각 카운트하여 진입횟수 제한할 수 있도록 수식(수정) 부탁드립니다. 그리고, sdate가 봉의 시작날자인데...각봉의 시작날자인지, 진입봉의 날자를 의미하는지요? EntryDate는 포지션의 진입날자인데... 그럼, 첫번째 포지션이 진입되면 그날자와 봉의 날자가 같으므로, count =1로 만들고, 두번째 포지션이 진입되면 또 그날자와 봉의 날자가 같아서, count =2로 만들어서, 조건식이 count < 2 일때....세번째 신호발생시 count =2여서 더이상 진입안한다는 의미가 맞는지요? 그리고, cnt은 0~20까지 범위를 두었는데...이럴경우 최대 하루 20개까지 진입할 수 있는 범위를 가질 수 있다는 의미에서 20까지 둔 것인지요? 게시판에 올라온 수식들을 기초로 작성하다보니....정확한 의미가 궁금해서요..죄송^^ 감사합니다. 좋은 하루되세요.^^