커뮤니티

수식 문의드립니다.

프로필 이미지
대박성투77
2021-09-15 19:45:44
803
글번호 152273
답변완료
이베스트 증권 이용중이며 아래 수식을 사용중 몇가지 문의드립니다. 1. 항상 봉이 완성된 시점에야 매수나 매도 진입되던데, 봉이 완성되기 전에라도 CCI가 과매도나 과매수 조건에 해당하면 매수나 매도 진입되게 했으면 합니다. 2. 실제 아래 수식으로 거래시 중간에 HTS로 강제로 매수나 매도, 혹은 강제청산 했을때 제대로 기존 포지션을 인식하지 못해서 진입이나 청산을 제대로 못하는 경우가 발생합니다. HTS로 강제로 주문을 넣었을때도 특히 청산이 제대로 되게 할수 있는 방법이 있나요? 3. 청산후 바로 진입하는 경우가 많은데 일단 청산이 이뤄지면 청산이 이뤄진 봉과 그 다음봉은 신규로 진입하지 않고 기다렸다 그 다음봉부터 조건에 따라 진입하게 하고 싶습니다. Input : Period(9); Var : value(0); value = CCI(Period); # 매수/매도청산 If CrossUp(value,-100) Then { Buy("매수"); } # 매도/매수청산 If CrossDown(value,100) Then { Sell("매도"); } SetStopProfittarget(0.15,PercentStop); SetStopLoss(0.15,PercentStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-09-16 10:18:52

안녕하세요 예스스탁입니다. 1번과 2번은 가능한 방법이 없습니다. if문은 봉완성시에만 최종조건만족여부를 판단하고 지표를 이용한 조건을 if문으로만 작성이 됩니다. 예스랭귀지는 차트에 적용되는 차트 데이타만으로 조건을 체크하고 신호를 발생합니다. 수동주문이나 실제 잔고를 판단해 신호가 발생하게 할수 없습니다. 도움을 드리지 못해 죄송합니다. 3번 내용만 처리해 수식을 수정해 드립니다. Input : Period(9); Var : value(0); value = CCI(Period); If MarketPosition == 0 and CrossUp(value,-100) Then { if TotalTrades == 0 or (TotalTrades > 0 and BarsSinceExit(1) >= 2) Then Buy("매수"); } if MarketPosition == 1 and CrossDown(value,-100) Then ExitLong("bx"); If MarketPosition == 0 and CrossDown(value,100) Then { if TotalTrades == 0 or (TotalTrades > 0 and BarsSinceExit(1) >= 2) Then Sell("매도"); } if MarketPosition == 1 and CrossUp(value,100) Then ExitShort("sx"); SetStopProfittarget(0.15,PercentStop); SetStopLoss(0.15,PercentStop); 즐거운 하루되세요 > 대박성투77 님이 쓴 글입니다. > 제목 : 수식 문의드립니다. > 이베스트 증권 이용중이며 아래 수식을 사용중 몇가지 문의드립니다. 1. 항상 봉이 완성된 시점에야 매수나 매도 진입되던데, 봉이 완성되기 전에라도 CCI가 과매도나 과매수 조건에 해당하면 매수나 매도 진입되게 했으면 합니다. 2. 실제 아래 수식으로 거래시 중간에 HTS로 강제로 매수나 매도, 혹은 강제청산 했을때 제대로 기존 포지션을 인식하지 못해서 진입이나 청산을 제대로 못하는 경우가 발생합니다. HTS로 강제로 주문을 넣었을때도 특히 청산이 제대로 되게 할수 있는 방법이 있나요? 3. 청산후 바로 진입하는 경우가 많은데 일단 청산이 이뤄지면 청산이 이뤄진 봉과 그 다음봉은 신규로 진입하지 않고 기다렸다 그 다음봉부터 조건에 따라 진입하게 하고 싶습니다. Input : Period(9); Var : value(0); value = CCI(Period); # 매수/매도청산 If CrossUp(value,-100) Then { Buy("매수"); } # 매도/매수청산 If CrossDown(value,100) Then { Sell("매도"); } SetStopProfittarget(0.15,PercentStop); SetStopLoss(0.15,PercentStop);