커뮤니티

질문 입니다.

프로필 이미지
고운무지개
2013-12-27 11:07:25
145
글번호 70835
답변완료
input : 손절틱(20),익절틱(20); var : cnt(0),count(0),losscount(0),Xcond1(false),Xcond2(false); count = 0; for cnt = 0 to 20{ if sdate ==EntryDate(cnt) Then{ count = count+1; } } XCond1 = ExitDate(1) == sdate and (IsExitName("익절",1) == true); If MarketPosition == 0 and Xcond1 == false Then { if stime == 151500 and stime >= 90100 Then { if count == 0 Then sell("S1",AtMarket,def,1); if count >= 1 Then sell("S2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2); }} if CurrentContracts >= 1 Then { ExitShort("손절",AtStop,EntryPrice+PriceScale*손절틱); } if CurrentContracts >= 1 Then ExitShort("익절",Atlimit,EntryPrice-PriceScale*익절틱); 위 식은 예전에 알려주신 식인데요. 시가에 매도하고 손실이면 두배로 진입하는 식입니다. 그런데 주문이 들어가지 않는 날이 꽤 많네요. 12월에만 6일이나 주문이 들어가지 않습니다. 진입이 없는 날짜는 4, 6, 10, 13, 18, 20일 입니다. 1분봉 차트에 적용했습니다. 살펴보시고 어떻게 수정해야 하는지 알려주세요. 진입신호가 나오지 않는 이유도 궁금합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-12-27 17:28:41

안녕하세요 예스스탁입니다. 15시15분에 조건을 걸어 다음날 시초가에 신호가 발생하는데 count == 0이라는 조건이 있어 시초가에 신호가 안나온날만 다음날에 신호가 발생하게 되어 있었습니다. 시가에는 매도를 하시는데 직전거래가 손실이면 두배수계약, 수익이면 1계약으로 진입하는 식이면 아래와 같습니다. input : 손절틱(20),익절틱(20); var : cnt(0),count(0),losscount(0),Xcond1(false),Xcond2(false); count = 0; for cnt = 0 to 20{ if sdate ==EntryDate(cnt) Then{ count = count+1; } } XCond1 = ExitDate(1) == sdate and (IsExitName("익절",1) == true); If MarketPosition == 0 and stime == 151500 Then { if TotalTrades == 0 or Xcond1 == true Then sell("S1",AtMarket,def,1); Else sell("S2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2); } if CurrentContracts >= 1 Then { ExitShort("손절",AtStop,EntryPrice+PriceScale*손절틱); } if CurrentContracts >= 1 Then ExitShort("익절",Atlimit,EntryPrice-PriceScale*익절틱); 시초가에는 매도로 1계약 진입하고 당일 두번째부터는 직전거래가 2계약 진입하는 내용이시면 아래와 같이 작성하셔야 합니다. 기존식에 당일진입횟수를 세는 부분이 있고 stime >= 090100과 같은 조건으로 보아 당일 여러번 진입하시는 내용 같아 아래내용도 올려드립니다. input : 손절틱(20),익절틱(20); var : cnt(0),count(0),losscount(0),Xcond1(false),Xcond2(false); count = 0; for cnt = 0 to 20{ if sdate ==EntryDate(cnt) Then{ count = count+1; } } XCond1 = ExitDate(1) == sdate and (IsExitName("익절",1) == true); If MarketPosition == 0 Then { if stime == 151500 Then sell("S1",AtMarket,def,1); if count >= 1 and Xcond1 == false and stime >= 90100 Then sell("S2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2); } if CurrentContracts >= 1 Then { ExitShort("손절",AtStop,EntryPrice+PriceScale*손절틱); } if CurrentContracts >= 1 Then ExitShort("익절",Atlimit,EntryPrice-PriceScale*익절틱); 즐거운 하루되세요 > 고운무지개 님이 쓴 글입니다. > 제목 : 질문 입니다. > input : 손절틱(20),익절틱(20); var : cnt(0),count(0),losscount(0),Xcond1(false),Xcond2(false); count = 0; for cnt = 0 to 20{ if sdate ==EntryDate(cnt) Then{ count = count+1; } } XCond1 = ExitDate(1) == sdate and (IsExitName("익절",1) == true); If MarketPosition == 0 and Xcond1 == false Then { if stime == 151500 and stime >= 90100 Then { if count == 0 Then sell("S1",AtMarket,def,1); if count >= 1 Then sell("S2",AtMarket,def,CurrentContracts[BarsSinceExit(1)+1]*2); }} if CurrentContracts >= 1 Then { ExitShort("손절",AtStop,EntryPrice+PriceScale*손절틱); } if CurrentContracts >= 1 Then ExitShort("익절",Atlimit,EntryPrice-PriceScale*익절틱); 위 식은 예전에 알려주신 식인데요. 시가에 매도하고 손실이면 두배로 진입하는 식입니다. 그런데 주문이 들어가지 않는 날이 꽤 많네요. 12월에만 6일이나 주문이 들어가지 않습니다. 진입이 없는 날짜는 4, 6, 10, 13, 18, 20일 입니다. 1분봉 차트에 적용했습니다. 살펴보시고 어떻게 수정해야 하는지 알려주세요. 진입신호가 나오지 않는 이유도 궁금합니다.