커뮤니티
ema 호출문제
2008-12-28 20:16:51
874
글번호 19061
다음 식을 30분봉에서 돌려보면 처음 하루는 매분봉마다 처리가 되는 데, 둘째날 부터는 매분봉 마다 처리가 되지 않습니다.
그래서 디버거 창으로 획인해보니
T1 = ema(c,sstrixPeriod);
줄에서 문제가 생기는 데 아무리 해봐도 그 이유를 모르겠습니다.
Input : slosscut(12),sdelay(1),
strixPeriod(5),strixsignal(15),
trendline1(5),trendline2(24),trendline3(120);
var : trendvalue1(0),trendvalue2(0),trendvalue3(0),
strixvalue(0),strixsignalvalue(0),
cnt(0),T1(0),T2(0),
lastpos(0),startpos(0),strixgap(0),
sstrixvalue(0),sstrixsignal(0),sstrixperiod(0),ssstrixperiod(0);
if dayindex()==0 then
sstrixperiod = 0;
sstrixperiod= dayindex()+1;
sstrixsignal=Round((dayindex()+1)*strixsignal/strixPeriod,0);
if sstrixsignal < 1 then
sstrixsignal = 1;
T1 = ema(c,sstrixPeriod);
MessageLog("t1= %.3f,strixvalue= %.3f,strisignalxvalue= %.3f",t1,sstrixperiod,sstrixsignal);
T2 = ema(T1,sstrixsignal);
strixgap=strixvalue-strixsignalvalue;
if crossup(T1,T2) then
{
buy("s1");
}
else if crossdown(T1,T2) then
{
sell("s2");
}
if stime == 150000 then
{
if MarketPosition() == 1 then
{
lastpos=1;
startpos=0;
}
else if MarketPosition() == -1 then
{
lastpos=-1;
startpos=0;
}
SetStopEndofday();
}
- 1. 30분 64 07. 7년trix(day49test.ysg (0.00 MB)
답변 1
예스스탁 예스스탁 답변
2008-12-29 15:01:15
안녕하세요
예스스탁입니다.
이동평균과 같이 기간값을 사용하는 함수에 변동적인
기간값을 사용하게 되면 값을 계산할 수 없습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> Polaris 님이 쓴 글입니다.
> 제목 : ema 호출문제
> 다음 식을 30분봉에서 돌려보면 처음 하루는 매분봉마다 처리가 되는 데, 둘째날 부터는 매분봉 마다 처리가 되지 않습니다.
그래서 디버거 창으로 획인해보니
T1 = ema(c,sstrixPeriod);
줄에서 문제가 생기는 데 아무리 해봐도 그 이유를 모르겠습니다.
Input : slosscut(12),sdelay(1),
strixPeriod(5),strixsignal(15),
trendline1(5),trendline2(24),trendline3(120);
var : trendvalue1(0),trendvalue2(0),trendvalue3(0),
strixvalue(0),strixsignalvalue(0),
cnt(0),T1(0),T2(0),
lastpos(0),startpos(0),strixgap(0),
sstrixvalue(0),sstrixsignal(0),sstrixperiod(0),ssstrixperiod(0);
if dayindex()==0 then
sstrixperiod = 0;
sstrixperiod= dayindex()+1;
sstrixsignal=Round((dayindex()+1)*strixsignal/strixPeriod,0);
if sstrixsignal < 1 then
sstrixsignal = 1;
T1 = ema(c,sstrixPeriod);
MessageLog("t1= %.3f,strixvalue= %.3f,strisignalxvalue= %.3f",t1,sstrixperiod,sstrixsignal);
T2 = ema(T1,sstrixsignal);
strixgap=strixvalue-strixsignalvalue;
if crossup(T1,T2) then
{
buy("s1");
}
else if crossdown(T1,T2) then
{
sell("s2");
}
if stime == 150000 then
{
if MarketPosition() == 1 then
{
lastpos=1;
startpos=0;
}
else if MarketPosition() == -1 then
{
lastpos=-1;
startpos=0;
}
SetStopEndofday();
}
다음글
이전글