커뮤니티

시초가 청산이 안되는것 같아요

프로필 이미지
기계도사
2004-04-05 20:05:08
1574
글번호 3061
답변완료
그날의 일봉이 양봉이면 종가에 매수 진입하여 다음날 시초가에 청산, 또는 그날의 일봉이 음봉이면 종가에 매도 진입하여 다음날 시초가에 청산하는 수식입니다. 그런데 여러가지 수식을 사용하여 보아도 시초가에 청산하는 것은 잘 안되네요. 아래 수식으로 작성하여 보았는데요. 다음날 시초가에 청산하는 것이 아니라 두번째 봉의 시가에 청산하는군요. 무엇이 잘못된 것인지요? var : formula0(0),formula1(0),formula2(0),formula3(0); formula0 = sTime==150000 //60분봉으로 그날의 마지막봉 && (dayopen()-dayclose())<=0;//그날의 일봉이 양봉 formula1 = barssinceentry() >= 0; //진입 하자마자 그 다음봉 모두 해당 formula2 = sTime==150000 //60분봉으로 그날의 마지막봉 && (dayopen()-dayclose())>0; //그날의 일봉이 음봉 formula3 = barssinceentry() >= 0; //진입 하자마자 그 다음봉 모두 해당 if formula0 then //매수 buy(); if formula1 then exitlong("전매",atmarket); //시장가 청산 if formula2 then //매도 sell(); if formula3 then //시장가 청산 exitshort("환매",atmarket);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2004-04-06 10:52:49

안녕하세요..예스스탁입니다. atmarket의 경우 onclose와 차이점은 조건만족 다음봉에 신호가 발생한다는 점과 조건만족 다음봉 시가에 진입이나 청산하는 것으로 계산한다는 것입니다. 첫번째 봉은 조건만족봉이 되므로 두번째 봉에서 신호가 발생하게 됩니다. 60분 봉의 경우는 종가에 진입해서 다음날 시가에 청산하는 테스트를 할 수 없습니다. 10분 봉이라면 다음과 같은 방법으로 테스트 가능합니다. 단, 테스트일 뿐이며 실제자동매매는 이루어지지 않습니다. if dayindex()==36 && dayClose(0) > dayOpen(0) then buy("Buy", atmarket); if dayindex()==36 && dayClose(0) < dayOpen(0) then sell("Sell", atmarket); if dayindex()==37 then exitlong("EL" , atmarket); if dayindex()==37 then exitshort("ES" , atmarket); > 기계도사 님이 쓴 글입니다. > 제목 : 시초가 청산이 안되는것 같아요 > 그날의 일봉이 양봉이면 종가에 매수 진입하여 다음날 시초가에 청산, 또는 그날의 일봉이 음봉이면 종가에 매도 진입하여 다음날 시초가에 청산하는 수식입니다. 그런데 여러가지 수식을 사용하여 보아도 시초가에 청산하는 것은 잘 안되네요. 아래 수식으로 작성하여 보았는데요. 다음날 시초가에 청산하는 것이 아니라 두번째 봉의 시가에 청산하는군요. 무엇이 잘못된 것인지요? var : formula0(0),formula1(0),formula2(0),formula3(0); formula0 = sTime==150000 //60분봉으로 그날의 마지막봉 && (dayopen()-dayclose())<=0;//그날의 일봉이 양봉 formula1 = barssinceentry() >= 0; //진입 하자마자 그 다음봉 모두 해당 formula2 = sTime==150000 //60분봉으로 그날의 마지막봉 && (dayopen()-dayclose())>0; //그날의 일봉이 음봉 formula3 = barssinceentry() >= 0; //진입 하자마자 그 다음봉 모두 해당 if formula0 then //매수 buy(); if formula1 then exitlong("전매",atmarket); //시장가 청산 if formula2 then //매도 sell(); if formula3 then //시장가 청산 exitshort("환매",atmarket);