커뮤니티

하루에 한번만 진입해야 하는데 오류가 있네요

프로필 이미지
뽄때
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);