커뮤니티

입력된 변수값을 특정조건 발생시 초기화시키는 방법이요.

프로필 이미지
개냥이
2011-10-24 13:01:36
506
글번호 44006
답변완료
if 매수조건 then value1=기준가격; value2=취소가격; if C==value1 then buy("",atstop,value1+pricescale*2); if C<=value2 then value1=0; <- 현재가격이 value2 이하로 내려가면 value1의 값을 초기화시키고 다시 진입조건 만족하는지 검색 진입조건이 성립하면 기준가격을 구해서 value1에 저장했다가 시세가 즉 진입가격이 기준가격의 2틱위를 돌파혀면 매수 진입하게 하고 시세가 value2 이하로 내려가면 취소시키고 초기화시키는 방식으로 해보려고 위에 하는식으로 작성했더니 시세가 value2 아래로 내려왔다가 올라와서 value1에 도달해도 체결되지 않고 다시 조건검색 통해서 진입가격을 찾도록 해야하는데 체결되는 현상이 나오네요. value1에 저장한 기준가격이 없어지지 않고 그대로 유효하게 남아있는듯 한데 방법을 찾지 못하겠네요. 도움 부탁드립니다.
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2011-10-24 14:16:24

안녕하세요 예스스탁입니다. if 매수조건 then{ value1=기준가격; value2=취소가격; } if C==value1 then buy("",atstop,value1+pricescale*2); if C<=value2 then value1=0; atstop은 if문 만족하면 다음봉에서 지정한 가격 이상의 시세가 발생하면 매수주문이 발생하며 이때 다른 조건을 판단할 수는 없습니다. (지정한 가격과 시세만 비교합니다) 조건의 판단은 모두 if문에서만 가능하며 if문은 모두 봉완성시가 기준입니다. 작성하신 내용이라면 종가가 value2보다 작아지는 봉 완성시에 종가가 취소가격 이하이면 value1이 0인데 진입(buy에서 atstop)은 지정한 가격보다 크면 신호가 발생하므로 0+pricescale*2가 되므로 거의 모든 종목이 0이상의 값이므로 바로 신호가 발생하게 됩니다. atstop으로 바로 신호발생할때 해당 내용을 판단할 수는 없고 직전봉(if만족봉)에서 라도 만약 해당 조건을 판단하신 다면 아래와 같이 작성해서 종가가 value2이하이면 value1값에 엄청 큰값(나올수 없는 값)을 주어 신호가 발생하는 것을 방지하는 방법외에는 없습니다. if 매수조건 then{ value1=기준가격; value2=취소가격; } if C<=value2 then value1=999999999; if C==value1 then buy("",atstop,value1+pricescale*2); 현재봉에서 종가가 value1하고 같으면 다음봉의 시세가 value1+pricescale*2이상이면 매수 입니다. 위식은 아래와 같이 작성하셔도 됩니다. if 매수조건 then{ value1=기준가격; value2=취소가격; } if L > value2 then buy("",atstop,value1+pricescale*2); 현재봉 저가가 value2보다 크면(작은시세가 없고) 다음봉 시세가 value1+pricescale*2 이상이 발생하면 매수 즐거운 하루되세요 > 개냥이 님이 쓴 글입니다. > 제목 : 입력된 변수값을 특정조건 발생시 초기화시키는 방법이요. > if 매수조건 then value1=기준가격; value2=취소가격; if C==value1 then buy("",atstop,value1+pricescale*2); if C<=value2 then value1=0; <- 현재가격이 value2 이하로 내려가면 value1의 값을 초기화시키고 다시 진입조건 만족하는지 검색 진입조건이 성립하면 기준가격을 구해서 value1에 저장했다가 시세가 즉 진입가격이 기준가격의 2틱위를 돌파혀면 매수 진입하게 하고 시세가 value2 이하로 내려가면 취소시키고 초기화시키는 방식으로 해보려고 위에 하는식으로 작성했더니 시세가 value2 아래로 내려왔다가 올라와서 value1에 도달해도 체결되지 않고 다시 조건검색 통해서 진입가격을 찾도록 해야하는데 체결되는 현상이 나오네요. value1에 저장한 기준가격이 없어지지 않고 그대로 유효하게 남아있는듯 한데 방법을 찾지 못하겠네요. 도움 부탁드립니다.
프로필 이미지

개냥이

2011-10-24 14:26:43

어제밤에 저도 질문 올리고서 고민하다보니 비슷한 결론 나오더군요. 취소조건이 되면 초기화시켜서 취소시킬 방법이 떠오르지를 않는지라 진입값을 체결될 수 없는 매우 큰 값을 대입해서 진입을 방지하면 되지 않을까 하는 생각이 떠오르더군요. 한번 그런식으로 작성해서 테스트해봐야겠네요. 매번 질문 올리는것 잘 알려주시는 덕분에 조금씩 전략이 완성되어갑니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 입력된 변수값을 특정조건 발생시 초기화시키는 방법이요. > 안녕하세요 예스스탁입니다. if 매수조건 then{ value1=기준가격; value2=취소가격; } if C==value1 then buy("",atstop,value1+pricescale*2); if C<=value2 then value1=0; atstop은 if문 만족하면 다음봉에서 지정한 가격 이상의 시세가 발생하면 매수주문이 발생하며 이때 다른 조건을 판단할 수는 없습니다. (지정한 가격과 시세만 비교합니다) 조건의 판단은 모두 if문에서만 가능하며 if문은 모두 봉완성시가 기준입니다. 작성하신 내용이라면 종가가 value2보다 작아지는 봉 완성시에 종가가 취소가격 이하이면 value1이 0인데 진입(buy에서 atstop)은 지정한 가격보다 크면 신호가 발생하므로 0+pricescale*2가 되므로 거의 모든 종목이 0이상의 값이므로 바로 신호가 발생하게 됩니다. atstop으로 바로 신호발생할때 해당 내용을 판단할 수는 없고 직전봉(if만족봉)에서 라도 만약 해당 조건을 판단하신 다면 아래와 같이 작성해서 종가가 value2이하이면 value1값에 엄청 큰값(나올수 없는 값)을 주어 신호가 발생하는 것을 방지하는 방법외에는 없습니다. if 매수조건 then{ value1=기준가격; value2=취소가격; } if C<=value2 then value1=999999999; if C==value1 then buy("",atstop,value1+pricescale*2); 현재봉에서 종가가 value1하고 같으면 다음봉의 시세가 value1+pricescale*2이상이면 매수 입니다. 위식은 아래와 같이 작성하셔도 됩니다. if 매수조건 then{ value1=기준가격; value2=취소가격; } if L > value2 then buy("",atstop,value1+pricescale*2); 현재봉 저가가 value2보다 크면(작은시세가 없고) 다음봉 시세가 value1+pricescale*2 이상이 발생하면 매수 즐거운 하루되세요 > 개냥이 님이 쓴 글입니다. > 제목 : 입력된 변수값을 특정조건 발생시 초기화시키는 방법이요. > if 매수조건 then value1=기준가격; value2=취소가격; if C==value1 then buy("",atstop,value1+pricescale*2); if C<=value2 then value1=0; <- 현재가격이 value2 이하로 내려가면 value1의 값을 초기화시키고 다시 진입조건 만족하는지 검색 진입조건이 성립하면 기준가격을 구해서 value1에 저장했다가 시세가 즉 진입가격이 기준가격의 2틱위를 돌파혀면 매수 진입하게 하고 시세가 value2 이하로 내려가면 취소시키고 초기화시키는 방식으로 해보려고 위에 하는식으로 작성했더니 시세가 value2 아래로 내려왔다가 올라와서 value1에 도달해도 체결되지 않고 다시 조건검색 통해서 진입가격을 찾도록 해야하는데 체결되는 현상이 나오네요. value1에 저장한 기준가격이 없어지지 않고 그대로 유효하게 남아있는듯 한데 방법을 찾지 못하겠네요. 도움 부탁드립니다.