커뮤니티
수식 작성 문의드립니다.
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);
다음글