Q&A 게시판 HOME > Q&A 게시판
작성자 : 예스스탁 작성일 : 2021-08-24 13:13:09 조회수 : 218
Re:Re:Re:문의드립니다
안녕하세요
예스스탁입니다.

1
일봉에서는 시간을 지정해 청산이 가능하지 않습니다.
시간조건은 if문으로 조건을 지정해야 하는데 if문은 봉완성시(다음봉시가수신)입니다.
차트주기가 일봉이면 일봉완성시로 모든 조건을 판단하므로 
시간을 지정해서 조건을 주시는 것이 의미가 없습니다.

2
Sell은 매도진입함수입니다.저희 프로그램에서는 현재 모두 현물만 제공됩니다.
만약 시험적용으로 가상 매도진입을 하고자 하시면 
시스템 트레이딩 설정창의 비용/수량탭 하단에서 [매도진입신호 발생허용]을 체크하고 적용하시면 됩니다.
해당 부분은 수식에는 별도의 문제는 없습니다. 매수진입후에 X2% 수익일때만 매도진입으로 스위칭됩니다.

또한 매도진입수식이 매수가 진입하는 것을 확인하는 if문이 있으므로 
시가에서 1% 하락해서 매수가 진입하면 해당봉 완성이 되어야 marketposition이 1이 되므로
실제 매도는 매수신호봉 다음봉에서나 나올수 있습니다.

만약 구현하고자 하는 내용이
시가에서 1% 하락하면 매수진입
시가에서 1% 상승하면 매도진입이시면
아래와 같이  작성해 일봉에 적용하시면 됩니다.

시간으로 청산이 불가능하므로 봉완성시 청산으로 추가해 드립니다.


Input : X1(1), X2(2),   투자금액(1000000); 

if marketposition  <=  0 then 
{  
buy("B1", atlimit, nextbaropen*(1-X1/100), 투자금액/C*0.05); 

if marketposition >= 0 then

Sell("S1", atlimit, nextbaropen*(1+X2/100),투자금액/C*0.05); 
  
}   

ExitLong("bx");
ExitShort("sx");


즐거운 하루되세요





>> copy1234kr 님이 쓴 글입니다.

>> 제목 : Re:Re:문의드립니다안녕하세요  1프로상승시 매수, 2프로하강시 매도 식인데요,

Input :   
X1(1), X2(2),   투자금액(1000000); 

 
 
 
if marketposition  <=  0 then {  
buy("B1", atlimit, nextbaropen*(1-X1/100), 투자금액/C*0.05); 
   
 

if marketposition == 1 then
  { 
  Sell("S1", atlimit, nextbaropen*(1+X2/100),투자금액/C*0.05); 
  
    
}   

 if stime == 010000 Then{
        exitlong("당일청산1");
        ExitShort("당일청산2");
}

 이런식을 쓰는데요, 1프로하강시 매수는 잘되는데, 2프로상승시에 매도가 잘 이루어지지않고,

또 오전1시 당일청산이 되지 않습니다. 봉은 일봉을 쓰고 잇습니다

 수정좀  부탁드립니다. 


 




 
목록 답변