커뮤니티
시스템식 재질문드립니다.
2013-03-13 22:30:49
210
글번호 60681
답변해주신
input : 가격(2000);
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count == 0 Then{
if H < 가격 Then
buy("b1",AtStop,가격,1000);
if L > 가격 Then
buy("b2",Atlimit,가격,1000);
}
if MarketPosition == 1 Then{
if CurrentContracts == MaxContracts Then
exitlong("bx1",AtLimit,EntryPrice*1.03,"",500,1);
if CurrentContracts < MaxContracts Then
exitlong("bx2",AtLimit,EntryPrice*1.07);
}
SetStopLoss(2,PercentStop);
이 잘 작동합니다. 그런데 다음과 같이
오늘 매매일로 지정을 바꿔서 하면 매수가 안들어가는데 왜그런지 문의드립니다.
바꾼식>
input:가격(2000),매매일(20130313);//수정
var:cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count + 1;
}
if count == 0 and 매매일 == Date Then { //수정
if H < 가격 Then
buy("b1",atstop,가격,1000);
if L > 가격 Then
buy("b2",atlimit,가격,1000);
}
if MarketPosition == 1 then {
if CurrentContracts == Maxcontracts Then
exitlong("bx1",Atlimit,Entryprice*1.03,"",500,1);
if currentcontracts < Maxcontracts Then
exitlong("bx2",atlimit,entryprice*1.07);
}
Setstoploss(2,percentstop);
위 그림을 참조하면 2013년 3월13일날 정확히 제대로 매수매도 되었습니다.
그런데 2013/02/25일날 3/6일날 3/11일날 매매두 같이 나오는데 실제로 시스템을 돌릴때 과거의 매매는 신경안써도 되는지 궁금합니다.
만약에 어제 매수신호가 떠서 아직 매수청산이 안되었다면 오늘 매매하려고 시스템을 켜도 매수가 들어가지 않을거라 생각되서 오늘 매매일을 지정해보았습니다만..
그러면 3월13일날 매수가 발생이 안되네여.
- 1. 61077_시나리오 질문1-2.JPG (0.19 MB)
답변 1
예스스탁 예스스탁 답변
2013-03-14 09:39:01
안녕하세요
예스스타입니다.
올려주신 식 적용해 보았지만 지정한 날짜에만 신호가 정상적으로 발생합니다.
외부변수의 가격값을 확인해 보시기 바랍니다.
즐거운 하루되세요
> 비엔에프 님이 쓴 글입니다.
> 제목 : 시스템식 재질문드립니다.
> 답변해주신
input : 가격(2000);
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count == 0 Then{
if H < 가격 Then
buy("b1",AtStop,가격,1000);
if L > 가격 Then
buy("b2",Atlimit,가격,1000);
}
if MarketPosition == 1 Then{
if CurrentContracts == MaxContracts Then
exitlong("bx1",AtLimit,EntryPrice*1.03,"",500,1);
if CurrentContracts < MaxContracts Then
exitlong("bx2",AtLimit,EntryPrice*1.07);
}
SetStopLoss(2,PercentStop);
이 잘 작동합니다. 그런데 다음과 같이
오늘 매매일로 지정을 바꿔서 하면 매수가 안들어가는데 왜그런지 문의드립니다.
바꾼식>
input:가격(2000),매매일(20130313);//수정
var:cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count + 1;
}
if count == 0 and 매매일 == Date Then { //수정
if H < 가격 Then
buy("b1",atstop,가격,1000);
if L > 가격 Then
buy("b2",atlimit,가격,1000);
}
if MarketPosition == 1 then {
if CurrentContracts == Maxcontracts Then
exitlong("bx1",Atlimit,Entryprice*1.03,"",500,1);
if currentcontracts < Maxcontracts Then
exitlong("bx2",atlimit,entryprice*1.07);
}
Setstoploss(2,percentstop);
위 그림을 참조하면 2013년 3월13일날 정확히 제대로 매수매도 되었습니다.
그런데 2013/02/25일날 3/6일날 3/11일날 매매두 같이 나오는데 실제로 시스템을 돌릴때 과거의 매매는 신경안써도 되는지 궁금합니다.
만약에 어제 매수신호가 떠서 아직 매수청산이 안되었다면 오늘 매매하려고 시스템을 켜도 매수가 들어가지 않을거라 생각되서 오늘 매매일을 지정해보았습니다만..
그러면 3월13일날 매수가 발생이 안되네여.