커뮤니티
프로그램 실행에러 입니다.
2012-01-17 16:20:35
326
글번호 46716
안녕하세요. 아래 짜 주신 프로그램 챠트 1초 또는 혹시나 해서 3초로도 해 놓고 여러번 실행 하였습니다. 실행은 주 챠트 콜, 보조 챠트 풋 , 반대로 하여 두개 실행 시켰습니다.
실행하니
진입 각1개씩 매도 후 뒤에 마음대로 진행 되더군요.
마음대로 => 추가매도 후 바로 매수 청산 매도 ,또는 진입 한개후 추가 작동 안함
프로그램 다시 확인 부탁드립니다.
콜매도 1개 1초나 2초 뒤 풋매도 1개 , 그리고 콜매도 1개 풋매도 1개 이렇게 순차적으로 각 10개 매도 하는 경우 입니다.
수고하세요~
=====================================================================
분봉을 사용하시면 초당 설정하여 피라미딩을 할 수 없습니다.
봉하나당 하나씩 발생하므로 1분봉이면 9시 14분 이후로
봉하나당 하나씩 발생하게 됩니다.
초봉으로 차트에 설정하시고 적용하셔야 합니다.
피라미딩을 모든 진입신호 허용으로 설정하시면 됩니다.
var : D1v(0,data1),d2v(0,data2),entry(0,data1),sum(0,data1);
D1v = data1(C);
D2v = data2(C);
sum = D2v+D2v;
if data1(stime == 091400) Then{
Entry = D1v+D2v;
if MarketPosition == 0 Then
Sell("s",OnClose,def,1);
}
if MarketPosition == -1 Then{
if CurrentContracts < 10 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then
Sell("ss",OnClose,def,1);
if Crossup(Sum,Entry*1.05) Then
ExitShort("bx1");
if Condition1 == false and CrossDown(Sum,Entry*0.95) Then{
ExitShort("bx2",OnClose,def,"",int(CurrentContracts*0.5),1);
Condition1 = true;
}
}
Else
Condition1 = false;
SetStopEndofday(141200);
답변 1
예스스탁 예스스탁 답변
2012-01-17 18:29:14
안녕하세요
예스스탁입니다.
식을 약간 수정했습니다.
초봉차트라 거래가 없어 봉이 비는 구간이 있으면
해당 내용때문에 신호가 달라질수 있고
실시간에서 봉의 완성시점에 차이가 발생하면
신호가 다를수 있습니다.
var : sum(0,data1),cond(false,data1);
sum = data1(C)+data2(C);
if data1(stime == 091400) Then{
if MarketPosition == 0 Then
Sell("s",OnClose,def,1);
}
if MarketPosition == -1 Then{
if CurrentContracts < 10 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then
Sell("ss",OnClose,def,1);
if data1(C)+data2(C) >= sum[BarsSinceEntry]*1.02 Then
ExitShort("bx1");
if cond == false and data1(C)+data2(C) <= sum[BarsSinceEntry]*0.98 Then{
ExitShort("bx2",OnClose,def,"",int(CurrentContracts*0.5),1);
cond = true;
}
}
Else
cond = false;
SetStopEndofday(141200);
즐거운 하루되세요
> 한걸음7 님이 쓴 글입니다.
> 제목 : 프로그램 실행에러 입니다.
> 안녕하세요. 아래 짜 주신 프로그램 챠트 1초 또는 혹시나 해서 3초로도 해 놓고 여러번 실행 하였습니다. 실행은 주 챠트 콜, 보조 챠트 풋 , 반대로 하여 두개 실행 시켰습니다.
실행하니
진입 각1개씩 매도 후 뒤에 마음대로 진행 되더군요.
마음대로 => 추가매도 후 바로 매수 청산 매도 ,또는 진입 한개후 추가 작동 안함
프로그램 다시 확인 부탁드립니다.
콜매도 1개 1초나 2초 뒤 풋매도 1개 , 그리고 콜매도 1개 풋매도 1개 이렇게 순차적으로 각 10개 매도 하는 경우 입니다.
수고하세요~
=====================================================================
분봉을 사용하시면 초당 설정하여 피라미딩을 할 수 없습니다.
봉하나당 하나씩 발생하므로 1분봉이면 9시 14분 이후로
봉하나당 하나씩 발생하게 됩니다.
초봉으로 차트에 설정하시고 적용하셔야 합니다.
피라미딩을 모든 진입신호 허용으로 설정하시면 됩니다.
var : D1v(0,data1),d2v(0,data2),entry(0,data1),sum(0,data1);
D1v = data1(C);
D2v = data2(C);
sum = D2v+D2v;
if data1(stime == 091400) Then{
Entry = D1v+D2v;
if MarketPosition == 0 Then
Sell("s",OnClose,def,1);
}
if MarketPosition == -1 Then{
if CurrentContracts < 10 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then
Sell("ss",OnClose,def,1);
if Crossup(Sum,Entry*1.05) Then
ExitShort("bx1");
if Condition1 == false and CrossDown(Sum,Entry*0.95) Then{
ExitShort("bx2",OnClose,def,"",int(CurrentContracts*0.5),1);
Condition1 = true;
}
}
Else
Condition1 = false;
SetStopEndofday(141200);
다음글
이전글