커뮤니티
하루에 한번만 진입해야 하는데 오류가 있네요
2015-12-19 18:28:42
130
글번호 93608
하루에 한번만 진입해야 하는데 여러번 진입하게 되네요 뭐가 문제죠?
하루에 한번만 진입하는 것을 원칙으로 하고, 만약 매수후 밴드하단을 이탈하면 매수청산하게 되어 있는데("하단이탈"로 표기됨) 이런 경우에 한에서 한번만 더 매수진입을 허용할 수 있도록 수식 변경 부탁합니다.
그리고 오후 1시 이전에만 매수진입할 수 있도록 수식변경 부탁드립니다^^
input : P(20),dv(2),sto1(25),sto2(6),sto3(6),금액(200000);
var : BBup(0),BBdn(0),stok(0),stoD(0);
var : cnt(0),count(0);
BBup = BollBandUp(P,dv);
BBdn = BollBandDown(P,dv);
stok = StochasticsK(sto1,sto2);
Stod = StochasticsD(sto1,sto2,sto3);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if NextBarOpen > BBdn and BBup >= BBdn*1.04 and count < 1 Then
buy("매수1",Atlimit,Bbdn*1.015,Floor(금액/C));
# 완성봉 기준으로 밴드하단 ~ +1.5% 사이에 있으면 매수
if C >= BBdn and C <= BBdn*1.015 and BBup >= BBdn*1.04 and count < 1 Then
buy("매수2",OnClose,def,Floor(금액/C));
if MarketPosition == 1 Then{
ExitLong("상단매도",atlimit,BBup);
ExitLong("목표수익",atlimit,EntryPrice*1.07);
# ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95);
if CrossDown(C,BBdn) Then ExitLong("하단이탈");
}
SetStopLoss(7,PercentStop);
답변 1
예스스탁 예스스탁 답변
2015-12-21 09:41:50
안녕하세요
예스스탁입니다.
식을 수정했습니다.
input : P(20),dv(2),sto1(25),sto2(6),sto3(6),금액(200000);
var : BBup(0),BBdn(0),stok(0),stoD(0);
var : cnt(0),count(0);
BBup = BollBandUp(P,dv);
BBdn = BollBandDown(P,dv);
stok = StochasticsK(sto1,sto2);
Stod = StochasticsD(sto1,sto2,sto3);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if MarketPosition == 0 and
NextBarOpen > BBdn and BBup >= BBdn*1.04 and count < 1 and stime < 130000 Then
buy("매수1",Atlimit,Bbdn*1.015,Floor(금액/C));
# 완성봉 기준으로 밴드하단 ~ +1.5% 사이에 있으면 매수
if MarketPosition ==0 and
C >= BBdn and C <= BBdn*1.015 and BBup >= BBdn*1.04 and count < 1 and stime < 130000 Then
buy("매수2",OnClose,def,Floor(금액/C));
#하단이탈 청산이후 1번더 다시 진입
if count == 1 and IsExitName("하단이탈",1) == true then{
if MarketPosition == 0 and
NextBarOpen > BBdn and BBup >= BBdn*1.04 and stime < 130000 Then
buy("매수3",Atlimit,Bbdn*1.015,Floor(금액/C));
# 완성봉 기준으로 밴드하단 ~ +1.5% 사이에 있으면 매수
if MarketPosition ==0 and
C >= BBdn and C <= BBdn*1.015 and BBup >= BBdn*1.04 and stime < 130000 Then
buy("매수4",OnClose,def,Floor(금액/C));
}
if MarketPosition == 1 Then{
ExitLong("상단매도",atlimit,BBup);
ExitLong("목표수익",atlimit,EntryPrice*1.07);
# ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95);
if CrossDown(C,BBdn) Then ExitLong("하단이탈");
}
SetStopLoss(7,PercentStop);
즐거운 하루되세요
> 뽄때 님이 쓴 글입니다.
> 제목 : 하루에 한번만 진입해야 하는데 오류가 있네요
> 하루에 한번만 진입해야 하는데 여러번 진입하게 되네요 뭐가 문제죠?
하루에 한번만 진입하는 것을 원칙으로 하고, 만약 매수후 밴드하단을 이탈하면 매수청산하게 되어 있는데("하단이탈"로 표기됨) 이런 경우에 한에서 한번만 더 매수진입을 허용할 수 있도록 수식 변경 부탁합니다.
그리고 오후 1시 이전에만 매수진입할 수 있도록 수식변경 부탁드립니다^^
input : P(20),dv(2),sto1(25),sto2(6),sto3(6),금액(200000);
var : BBup(0),BBdn(0),stok(0),stoD(0);
var : cnt(0),count(0);
BBup = BollBandUp(P,dv);
BBdn = BollBandDown(P,dv);
stok = StochasticsK(sto1,sto2);
Stod = StochasticsD(sto1,sto2,sto3);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if NextBarOpen > BBdn and BBup >= BBdn*1.04 and count < 1 Then
buy("매수1",Atlimit,Bbdn*1.015,Floor(금액/C));
# 완성봉 기준으로 밴드하단 ~ +1.5% 사이에 있으면 매수
if C >= BBdn and C <= BBdn*1.015 and BBup >= BBdn*1.04 and count < 1 Then
buy("매수2",OnClose,def,Floor(금액/C));
if MarketPosition == 1 Then{
ExitLong("상단매도",atlimit,BBup);
ExitLong("목표수익",atlimit,EntryPrice*1.07);
# ExitLong("TR-Stop",AtStop,highest(H,BarsSinceEntry)*0.95);
if CrossDown(C,BBdn) Then ExitLong("하단이탈");
}
SetStopLoss(7,PercentStop);
다음글
이전글