커뮤니티
시스템식 질문입니다 - 12793
2009-12-11 14:52:19
592
글번호 26654
Inputs: Length(14);
Var : Counter(0), DownAmt(0,data2), UpAmt(0,data2), UpSum(0,data2), DownSum(0,data2);
var : UpAvg(0,data2), DownAvg(0,data2),RSIv(0,data2),cnt(0),count(0);
var : sumGap(0,data2), gap(0,data2), GO(0,data2), GH(0,data2), GL(0,data2), GC(0,data2);
if data2(date)!=data2(date[1]) then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = data2(Open-Close[1]); // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = data2(O) - sumGap;// 갭보정 시가
GH = data2(H) - sumGap;// 갭보정 고가
GL = data2(L) - sumGap;// 갭보정 저가
GC = data2(C) - sumGap; // 갭보정 종가
If data2(CurrentBar) == 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = GC[Counter] - GC[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else
If data2(CurrentBar) > 1 AND Length > 0 Then Begin
UpAmt = GC[0] - GC[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSIv = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv = 0;
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if crossup(RSIV,60) and count == 0
and stime > 90000
and stime < 100000
and CodeCategoryEx == 31 ///////추가로직
Then
Buy();
if CrossDown(RSIV,20) and count == 0
and stime > 90000
and stime < 100000
and CodeCategoryEx == 32 ////////추가로직
Then
Buy();
12793 식을 조금 변경해 보았습니다
시스템 설정을
주종목 콜종목 타종목 갭보정안한선물
주종목 풋종목 타종목 갭보정안한선물
이렇게 2개 차트를 펼쳐놓은다음 위식을 시스템을 둘다 설정해 놓으면
매수신호(콜종목 풋종목 BUY 시그널)인
각각 선물RSI 60/40 크로스 업/다운 으로
크로스업 일때 콜종목만
크로스다운 일때 풋종목만
매수가 되는건지요?
추가로 콜진입명 풋진입명을 따로하여 각 1회씩 매매횟수제한 할 것입니다.
감사합니다
답변 2
예스스탁 예스스탁 답변
2009-12-11 16:11:45
안녕하세요
예스스탁입니다
예 맞습니다.
코드카테고리를 사용하여 하나의 식으로 만드실 수도 있습니다.
즐거운 하루되세요
> 파인애플 님이 쓴 글입니다.
> 제목 : 시스템식 질문입니다 - 12793
> Inputs: Length(14);
Var : Counter(0), DownAmt(0,data2), UpAmt(0,data2), UpSum(0,data2), DownSum(0,data2);
var : UpAvg(0,data2), DownAvg(0,data2),RSIv(0,data2),cnt(0),count(0);
var : sumGap(0,data2), gap(0,data2), GO(0,data2), GH(0,data2), GL(0,data2), GC(0,data2);
if data2(date)!=data2(date[1]) then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = data2(Open-Close[1]); // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = data2(O) - sumGap;// 갭보정 시가
GH = data2(H) - sumGap;// 갭보정 고가
GL = data2(L) - sumGap;// 갭보정 저가
GC = data2(C) - sumGap; // 갭보정 종가
If data2(CurrentBar) == 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = GC[Counter] - GC[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else
If data2(CurrentBar) > 1 AND Length > 0 Then Begin
UpAmt = GC[0] - GC[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSIv = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv = 0;
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if crossup(RSIV,60) and count == 0
and stime > 90000
and stime < 100000
and CodeCategoryEx == 31 ///////추가로직
Then
Buy();
if CrossDown(RSIV,20) and count == 0
and stime > 90000
and stime < 100000
and CodeCategoryEx == 32 ////////추가로직
Then
Buy();
12793 식을 조금 변경해 보았습니다
시스템 설정을
주종목 콜종목 타종목 갭보정안한선물
주종목 풋종목 타종목 갭보정안한선물
이렇게 2개 차트를 펼쳐놓은다음 위식을 시스템을 둘다 설정해 놓으면
매수신호(콜종목 풋종목 BUY 시그널)인
각각 선물RSI 60/40 크로스 업/다운 으로
크로스업 일때 콜종목만
크로스다운 일때 풋종목만
매수가 되는건지요?
추가로 콜진입명 풋진입명을 따로하여 각 1회씩 매매횟수제한 할 것입니다.
감사합니다
파인애플
2009-12-11 16:26:48
..
다음글
이전글