커뮤니티

수식 작성 문의드립니다.

프로필 이미지
은색
2011-11-07 21:45:43
369
글번호 44533
답변완료
아래 수식은 모든 신호가 발생하면 총 5번의 신호가 발생 가능합니다. 아래 수식에서 조건이 만족해서 10시와 11시에 각각 매수진입 했다면 11시에 2번째 진입을 하게 됩니다. 이 때 'entry0' 의 금액으로 11시에 다시금 진입하는 'c1' 이라는 조건을 추가하고 싶습니다. 그리고 아래 수식에서 조건이 만족되어서 10시, 11시, 12시 이렇게 3번을 진입했다면 11시에 추가진입한 'c1' 외에 12시에 'c1'이 다시한 번 더 진입하게 만들고 싶습니다. 만약 아래 수식에서 10시에 한 번 12시에 한 번 진입하게 된다면 'c1'은 12시에 최초로 진입하게 되는 것입니다. 즉, 기존 조건에 따라 2번 이상의 진입이 있으면 그 이후 부터 기존 조건(즉 'b1')의 진입이 있을 때마다 한 번 씩 추가로 진입하는 'c1'을 만들고 싶습니다. 이상의 조건이 가능한 수식 작성좀 부탁드립니다. 감사합니다. <수식> input : 매수금액(5000000); var : Entry0(0,data1),Entry1(0,data1),D2v(0,data1),val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1); entry0 = int(매수금액*1/(C*BigPointValue)); entry1 = int(매수금액*2/(C*BigPointValue)); D2v = data2(c);#보조지표 if data1(TimeToMinutes(stime)%60 == 0) Then{ val1 = D2v; val2 = val1[1]; val3 = c; val4 = val3[1]; } if data1(stime > 090000 and stime < 143000 and TimeToMinutes(stime)%60 == 0) Then{ if iff(val1 > val2,1,0) == 1 and iff(val3 > val4,1,0) == 1 then buy("b1",OnClose,def,entry1); } SetStopLoss(20); SetStopEndofday(143000);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-11-08 09:55:57

안녕하세요 예스스탁입니다. 1. 피라미딩(누적)하는 식이시면 아래와 같이 작성하시면 두번째 진입부터 c1이라는 이름으로 수량은 entry0으로 하여 발생하게 됩니다. input : 매수금액(5000000); var : Entry0(0,data1),Entry1(0,data1),D2v(0,data1),val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1); entry0 = int(매수금액*1/(C*BigPointValue)); entry1 = int(매수금액*2/(C*BigPointValue)); D2v = data2(c);#보조지표 if data1(TimeToMinutes(stime)%60 == 0) Then{ val1 = D2v; val2 = val1[1]; val3 = c; val4 = val3[1]; } if MarketPosition == 0 and data1(stime > 090000 and stime < 143000 and TimeToMinutes(stime)%60 == 0) Then{ if iff(val1 > val2,1,0) == 1 and iff(val3 > val4,1,0) == 1 then buy("b1",OnClose,def,entry1); } if MarketPosition == 1 and CurrentEntries < 5 And data1(stime > 090000 and stime < 143000 and TimeToMinutes(stime)%60 == 0) Then{ if iff(val1 > val2,1,0) == 1 and iff(val3 > val4,1,0) == 1 then buy("C1",OnClose,def,entry0); } SetStopLoss(20); SetStopEndofday(143000); 피라미딩이 아니라 당일 두번째 이후 진입부터를 의미하신 다면 아래와 같이 작성하시면 됩니다. input : 매수금액(5000000); var : Entry0(0,data1),Entry1(0,data1),D2v(0,data1),val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1); entry0 = int(매수금액*1/(C*BigPointValue)); entry1 = int(매수금액*2/(C*BigPointValue)); D2v = data2(c);#보조지표 if data1(TimeToMinutes(stime)%60 == 0) Then{ val1 = D2v; val2 = val1[1]; val3 = c; val4 = val3[1]; } if ExitDate(1) != sdate and MarketPosition == 0 and data1(stime > 090000 and stime < 143000 and TimeToMinutes(stime)%60 == 0) Then{ if iff(val1 > val2,1,0) == 1 and iff(val3 > val4,1,0) == 1 then buy("b1",OnClose,def,entry1); } if ExitDate(1) == sdate and MarketPosition == 0 And data1(stime > 090000 and stime < 143000 and TimeToMinutes(stime)%60 == 0) Then{ if iff(val1 > val2,1,0) == 1 and iff(val3 > val4,1,0) == 1 then buy("C1",OnClose,def,entry0); } SetStopLoss(20); SetStopEndofday(143000); 즐거운 하루되세요 > 은색 님이 쓴 글입니다. > 제목 : 수식 작성 문의드립니다. > 아래 수식은 모든 신호가 발생하면 총 5번의 신호가 발생 가능합니다. 아래 수식에서 조건이 만족해서 10시와 11시에 각각 매수진입 했다면 11시에 2번째 진입을 하게 됩니다. 이 때 'entry0' 의 금액으로 11시에 다시금 진입하는 'c1' 이라는 조건을 추가하고 싶습니다. 그리고 아래 수식에서 조건이 만족되어서 10시, 11시, 12시 이렇게 3번을 진입했다면 11시에 추가진입한 'c1' 외에 12시에 'c1'이 다시한 번 더 진입하게 만들고 싶습니다. 만약 아래 수식에서 10시에 한 번 12시에 한 번 진입하게 된다면 'c1'은 12시에 최초로 진입하게 되는 것입니다. 즉, 기존 조건에 따라 2번 이상의 진입이 있으면 그 이후 부터 기존 조건(즉 'b1')의 진입이 있을 때마다 한 번 씩 추가로 진입하는 'c1'을 만들고 싶습니다. 이상의 조건이 가능한 수식 작성좀 부탁드립니다. 감사합니다. <수식> input : 매수금액(5000000); var : Entry0(0,data1),Entry1(0,data1),D2v(0,data1),val1(0,data1),val2(0,data1),val3(0,data1),val4(0,data1); entry0 = int(매수금액*1/(C*BigPointValue)); entry1 = int(매수금액*2/(C*BigPointValue)); D2v = data2(c);#보조지표 if data1(TimeToMinutes(stime)%60 == 0) Then{ val1 = D2v; val2 = val1[1]; val3 = c; val4 = val3[1]; } if data1(stime > 090000 and stime < 143000 and TimeToMinutes(stime)%60 == 0) Then{ if iff(val1 > val2,1,0) == 1 and iff(val3 > val4,1,0) == 1 then buy("b1",OnClose,def,entry1); } SetStopLoss(20); SetStopEndofday(143000);