커뮤니티

최초 입력된 값의 고정활용방법

프로필 이미지
rodney
2013-06-06 02:25:39
222
글번호 64041
답변완료
1. 조건만족시 변수에 입력된 최초값만을 쓰고 싶습니다. 예를 들어 다음과 같은 30MBO의 상단 채널을 지표식으로 표현하는 경우.. ----------------------------------------------------- var : ch1(0); if stime < 093000 Then var1 = dayHigh; if crossup(C,var1) then ch1 = var1; plot1(ch1); ------------------------------------------------------- crossup의 조건을 만족하면, 계속 ch1의 값이 변하게 되어서 곤란을 겪는데.. 초기입력값인 0이후에 최초로 조건을 만족한 ch1값을 당일중에 고정적으로 사용하려면, 어떻게 해야 할까요?? 위식은 하나의 예로서 상기상황에서의 답이 아니라, 일반적인 해결방법을 알고 싶습니다. (위 식에서의 해결방법은 알고있습니다. 다양한 상황이 있어서요..) 2. 저는 5분봉으로 당일청산을 다음 처럼 시스템식에 쓰고 있는데.. SetStopEndofday(145959); 장종료후 얼마 안되서 리포트를 보면 3시봉 시가에 청산으로 된것으로 값이 나오다가, 오후 늦게 리포트를 다시 보면 3시봉 종가에 청산된것으로 나옵니다. 매매일지를 쓰는 시각에 따라 리포트값이 달라지니, 답답하네요. 혹 제가 설정상에 무슨 문제가 있는 건지, 아니면 YT가 데이터를 수신하는 시각에 따라 달라지는 기준이 있는 건지 궁금합니다. 제 착각이 아니라면 해결방법이 있는지 가르쳐주십시오. ---------------------------------------------------- 성의 있는 답변 항상 감사하게 생각합니다. 수고하십시오.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-06-07 09:52:46

안녕하세요 예스스탁입니다. 1. 아래와 같이 당일 첫값은 false로 시작해서 특정조건이 false일때만 만족하게 하시면 당일 처음으로 만족할때만 값을 저장하고 이후에는 저장하지 않습니다. var : ch1(0); if date != date[1] Then Condition1 = false; if stime < 093000 Then var1 = dayHigh; if stime >= 093000 and Condition1 == false and crossup(C,var1) then { ch1 = var1; Condition1 = true; } 2. 예 말씀하신 상황이 맞습니다. 시뮬레이션 상태(실시간 차트에서 시스템을 재적용하는 상황포함) 에서는 봉안에 모든 틱이 없어 해당 시간이 포함된 봉에 종가에 신호가 발생한 것으로 처리가 되고 있습니다. 아래 링크 참고하시기 바랍니다. https://www.yesstock.com/YesTrader/YesLanguage/YesLanguage_help/4_9_2.htm 즐거운 하루되세요 > rodney 님이 쓴 글입니다. > 제목 : 최초 입력된 값의 고정활용방법 > 1. 조건만족시 변수에 입력된 최초값만을 쓰고 싶습니다. 예를 들어 다음과 같은 30MBO의 상단 채널을 지표식으로 표현하는 경우.. ----------------------------------------------------- var : ch1(0); if stime < 093000 Then var1 = dayHigh; if crossup(C,var1) then ch1 = var1; plot1(ch1); ------------------------------------------------------- crossup의 조건을 만족하면, 계속 ch1의 값이 변하게 되어서 곤란을 겪는데.. 초기입력값인 0이후에 최초로 조건을 만족한 ch1값을 당일중에 고정적으로 사용하려면, 어떻게 해야 할까요?? 위식은 하나의 예로서 상기상황에서의 답이 아니라, 일반적인 해결방법을 알고 싶습니다. (위 식에서의 해결방법은 알고있습니다. 다양한 상황이 있어서요..) 2. 저는 5분봉으로 당일청산을 다음 처럼 시스템식에 쓰고 있는데.. SetStopEndofday(145959); 장종료후 얼마 안되서 리포트를 보면 3시봉 시가에 청산으로 된것으로 값이 나오다가, 오후 늦게 리포트를 다시 보면 3시봉 종가에 청산된것으로 나옵니다. 매매일지를 쓰는 시각에 따라 리포트값이 달라지니, 답답하네요. 혹 제가 설정상에 무슨 문제가 있는 건지, 아니면 YT가 데이터를 수신하는 시각에 따라 달라지는 기준이 있는 건지 궁금합니다. 제 착각이 아니라면 해결방법이 있는지 가르쳐주십시오. ---------------------------------------------------- 성의 있는 답변 항상 감사하게 생각합니다. 수고하십시오.