커뮤니티

문의드립니다

프로필 이미지
한걸음0
2013-01-03 10:32:21
318
글번호 57770
답변완료
수고하십니다.. 아래의 로직에서 최초진입을 0906분부터로 하고싶으면 어찌해야할까요? 그리고 첫 진입의 시간이 0906분부터 하면서 아울러 첫진입이 당일의 최고가를 돌파할때로 한후,, 그 뒤의 진입은 위 로직대로 그냥 하고싶습니다. 수고스럽더라도 아무쪼록 한수 부탁드립니다. 미리 ㄳ합니다^^ --------------------------------------------------- var : entry(0,data2); if marketposition==0 and h<dayclose(1)*1.14 and M >= 600 Then BUY("b1",onclose,def,1); <----------------------이상의 첫 배팅에서의 진입시간을 00906분이후로 하고싶은데요..또한 첫배팅은 그날의 이전최고가를 돌파할때 첫진입을 하고싶습니다^^ 알려주심 고맙겠습니다 이 아래의 로직은 그대로 사용하고싶구요..실전하고있는데 고치고 싶어서요^^ if MarketPosition == 1 Then{ #진입횟수가 증가할 때마다 직전봉의 종가저장 IF CurrentEntries > CurrentEntries[1] Then entry = data2(c[1]) ; IF c> entry and CurrentEntries < 5 and countif(CurrentContracts <CurrentContracts[1],BarsSinceEntry) < 1 Then BUY("b",OnClose,def,1); } SetStopLoss(5,PercentStop); SetStopTrailing(5,4,PercentStop,3); ---------- 덧붙여서,한가지만 더 질문드립니다. 새로운 로직,,인데 제가 주식을 보유하고있을때입니다,뭔 종목이든 가지고있을경우 주식 일봉에서 전일저가를 -2틱하향터치하면 + 당일저가-2틱터치할때 보유포지션은 모두 청산되는식을 알고싶습니다..청산되는 시간은 최소 0902분이후로 하고싶습니다. 수고스럽더라도,알려주세요..^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-03 13:58:30

안녕하세요 예스스탁입니다. 1. var : cnt(0),count(0); var : entry(0,data2); count = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count = count+1; } #첫진입 당일 최고가 돌파시 매수, 9시 6분이후 if count == 0 and stime >= 090600 and dayindex > 0 and crossup(c,dayhigh[1]) Then buy(); #두번째 부터는 아래식으로 진입 if count >= 1 and marketposition==0 and h<dayclose(1)*1.14 and M >= 600 Then BUY("b1",onclose,def,1); if MarketPosition == 1 Then{ #진입횟수가 증가할 때마다 직전봉의 종가저장 IF CurrentEntries > CurrentEntries[1] Then entry = data2(c[1]) ; IF c> entry and CurrentEntries < 5 and countif(CurrentContracts <CurrentContracts[1],BarsSinceEntry) < 1 Then BUY("b",OnClose,def,1); } SetStopLoss(5,PercentStop); SetStopTrailing(5,4,PercentStop,3); 2. if MarketPosition == 1 Then ExitLong("bx",AtStop,DayLow(1)-PriceScale*2); 위식이 전일저가-2틱을 터치하거나 하향하면 청산하는 식입니다. 다만 시스템의 청산은 진입이 있어야 발생합니다. 시스템상 진입이 없으면 시스템에서는 청산이 나오지 않습니다. 그러므로 청산만 하게 식을 작성하고자 하시면 아래와 같이 가상의 매수진입을 넣으시고 적용하셔야 합니다. input : 보유수량(100); #차트상 첫봉의 가상의 진입을 발생시킴 if index == 0 Then buy("b",OnClose,def,보유수량); #당일에 전일저가-2틱이하의 시세가 발생하면 청산 if MarketPosition == 1 and CurrentDate == sdate Then ExitLong("bx",AtStop,DayLow(1)-PriceScale*2); 즐거운 하루되세요 > 한걸음0 님이 쓴 글입니다. > 제목 : 문의드립니다 > 수고하십니다.. 아래의 로직에서 최초진입을 0906분부터로 하고싶으면 어찌해야할까요? 그리고 첫 진입의 시간이 0906분부터 하면서 아울러 첫진입이 당일의 최고가를 돌파할때로 한후,, 그 뒤의 진입은 위 로직대로 그냥 하고싶습니다. 수고스럽더라도 아무쪼록 한수 부탁드립니다. 미리 ㄳ합니다^^ --------------------------------------------------- var : entry(0,data2); if marketposition==0 and h<dayclose(1)*1.14 and M >= 600 Then BUY("b1",onclose,def,1); <----------------------이상의 첫 배팅에서의 진입시간을 00906분이후로 하고싶은데요..또한 첫배팅은 그날의 이전최고가를 돌파할때 첫진입을 하고싶습니다^^ 알려주심 고맙겠습니다 이 아래의 로직은 그대로 사용하고싶구요..실전하고있는데 고치고 싶어서요^^ if MarketPosition == 1 Then{ #진입횟수가 증가할 때마다 직전봉의 종가저장 IF CurrentEntries > CurrentEntries[1] Then entry = data2(c[1]) ; IF c> entry and CurrentEntries < 5 and countif(CurrentContracts <CurrentContracts[1],BarsSinceEntry) < 1 Then BUY("b",OnClose,def,1); } SetStopLoss(5,PercentStop); SetStopTrailing(5,4,PercentStop,3); ---------- 덧붙여서,한가지만 더 질문드립니다. 새로운 로직,,인데 제가 주식을 보유하고있을때입니다,뭔 종목이든 가지고있을경우 주식 일봉에서 전일저가를 -2틱하향터치하면 + 당일저가-2틱터치할때 보유포지션은 모두 청산되는식을 알고싶습니다..청산되는 시간은 최소 0902분이후로 하고싶습니다. 수고스럽더라도,알려주세요..^^