커뮤니티

문의드립니다.

프로필 이미지
산골소년
2024-07-25 14:38:47
701
글번호 181829
답변완료
늘 고맙습니다. 식을 만드는데 도저히 해결이 안되는 부분이 있습니다. 꼭 해결방법 부탁드립니다. #1. 시스템식에서 조건을 변경을 해도 신호가 나오는 것이 똑같은 경우가 꽤 있습니다. 식이 틀렸나 하고 다시 작성하거나 로그인 다시해도 전혀 바뀌지를 않습니다. 전에 접속하셔서 해결해주셨는데 어떻게 해야하는지 잘 모르겠습니다. 부탁드립니다. #2. 위 1번 질문의 한 예입니다. 현재 해결을 못하고 있습니다. 제 차례가 다가오는 것 같아 다시 수정해서 돌려보니 전혀 다른 자리에 선긋기가 되고 있습니다. 식을 수정하고 뭔가 다른 조치를 취해야 되는 것 같네요. ㅠㅠ input : StartTime1(170000),EndTime1(190000); input : StartTime2(190000),EndTime2(240000); input : StartTime3(240000),EndTime3(040000); input : StartTime4(040000),EndTime4(060000); var : Tcond1(false),Tcond2(false),Tcond3(false),Tcond4(false); ############################################################################# if (sdate != sdate[1] and stime >= StartTime1) or (sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then { Tcond1 = true; } if (sdate != sdate[1] and stime >= EndTime1) or (sdate == sdate[1] and stime >= EndTime1 and stime[1] < EndTime1) Then { Tcond1 = False; } ############################################################################# if (sdate != sdate[1] and stime >= StartTime2) or (sdate == sdate[1] and stime >= StartTime2 and stime[1] < StartTime2) Then { Tcond2 = true; } if (sdate != sdate[1] and stime >= EndTime2) or (sdate == sdate[1] and stime >= EndTime2 and stime[1] < EndTime2) Then { Tcond2 = False; } ############################################################################# if (sdate != sdate[1] and stime >= StartTime3) or (sdate == sdate[1] and stime >= StartTime3 and stime[1] < StartTime3) Then { Tcond3 = true; } if (sdate != sdate[1] and stime >= EndTime3) or (sdate == sdate[1] and stime >= EndTime3 and stime[1] < EndTime3) Then { Tcond3 = False; } ############################################################################# if (sdate != sdate[1] and stime >= StartTime4) or (sdate == sdate[1] and stime >= StartTime4 and stime[1] < StartTime4) Then { Tcond4 = true; } if (sdate != sdate[1] and stime >= EndTime4) or (sdate == sdate[1] and stime >= EndTime4 and stime[1] < EndTime4) Then { Tcond4 = False; } if tcond2 and 조건1 and 조건2 then { a1=1; a1i1=index; a1매수=O; } if a1==1 and index-a1i1<50 and tcond3 and L<a1매수 then { a1=2; buy("a1매수",atlimit,a1매수); # 위를 저장하고 아래와 같이 실행을 해보면 차트전체가 모두 노란줄이 그어집니다. # 또 tcond2 대신에 tcond3으로 바꾸면 아무줄도 생기지 않습니다. # 13개를 다른 시간대로 설정했는데 2와 3 두개만 이상한 현상이 생깁니다. if tcond2 Then { value98 = TL_New(sDate,sTime,0,sDate,sTime,999999999); TL_SetColor(Value98,Yellow); TL_SetSize(Value98,1); } #3. 5분봉으로 본장 시작전과 후의 봉을 저장하려고 합니다. sTime을 사용해보니 아래 선긋기가 나오지 않습니다. Time을 사용하니 선긋기는 나옵니다. value98 = TL_New(sDate,sTime,0,sDate,sTime,999999999); TL_SetColor(Value98,Yellow); TL_SetSize(Value98,1); 그러면 Time을 써서 아래와 같이 식을 작성하면 괄호안의 내용들을 그 캔들 번호에 저장이 되는건가요? if Time == 083000 Then { 진폭프리장=DayHigh-DayLow; #당일 프리장까지의 진폭 저점프리장=DayLow; #당일 프리장까지의 저점 고점프리장=DayHigh; #당일 프리장까지의 고점 O프리장=O; #프리장 마지막 캔들의 시가 C프리장=C; #프리장 마지막 캔들의 종가 } if Time==083500 and 조건1 Then { b14=1; b14i1=Index; } if b14==1 and Time==083500 and 조건2 Then { b14=2; b14i2=Index; b14매수=저점프리장-진폭프리장; #프리장저점부터 프리장진폭만큼 빠진 자리. } if b14==2 and Index-b14i2<=5 and L<b14매수 Then { b14=3; #이 자리에서 선긋기를 하면 선긋기는 되는데 매수 실행이 안되는 경우가 있습니다. 이유가 'L<b14매수'가 완성된 종가 이후 다시 그 자리에 가지 않아서인가요? 바로 진 입이 되게 하려면 'L<b14매수'를 넣으면 안되는건가요? Buy("b14매수",AtLimit,b14매수); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-07-25 15:22:09

> 산골소년 님이 쓴 글입니다. > 제목 : 문의드립니다. > 늘 고맙습니다. 식을 만드는데 도저히 해결이 안되는 부분이 있습니다. 꼭 해결방법 부탁드립니다. #1. 시스템식에서 조건을 변경을 해도 신호가 나오는 것이 똑같은 경우가 꽤 있습니다. 식이 틀렸나 하고 다시 작성하거나 로그인 다시해도 전혀 바뀌지를 않습니다. 전에 접속하셔서 해결해주셨는데 어떻게 해야하는지 잘 모르겠습니다. 부탁드립니다. #2. 위 1번 질문의 한 예입니다. 현재 해결을 못하고 있습니다. 제 차례가 다가오는 것 같아 다시 수정해서 돌려보니 전혀 다른 자리에 선긋기가 되고 있습니다. 식을 수정하고 뭔가 다른 조치를 취해야 되는 것 같네요. ㅠㅠ input : StartTime1(170000),EndTime1(190000); input : StartTime2(190000),EndTime2(240000); input : StartTime3(240000),EndTime3(040000); input : StartTime4(040000),EndTime4(060000); var : Tcond1(false),Tcond2(false),Tcond3(false),Tcond4(false); ############################################################################# if (sdate != sdate[1] and stime >= StartTime1) or (sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then { Tcond1 = true; } if (sdate != sdate[1] and stime >= EndTime1) or (sdate == sdate[1] and stime >= EndTime1 and stime[1] < EndTime1) Then { Tcond1 = False; } ############################################################################# if (sdate != sdate[1] and stime >= StartTime2) or (sdate == sdate[1] and stime >= StartTime2 and stime[1] < StartTime2) Then { Tcond2 = true; } if (sdate != sdate[1] and stime >= EndTime2) or (sdate == sdate[1] and stime >= EndTime2 and stime[1] < EndTime2) Then { Tcond2 = False; } ############################################################################# if (sdate != sdate[1] and stime >= StartTime3) or (sdate == sdate[1] and stime >= StartTime3 and stime[1] < StartTime3) Then { Tcond3 = true; } if (sdate != sdate[1] and stime >= EndTime3) or (sdate == sdate[1] and stime >= EndTime3 and stime[1] < EndTime3) Then { Tcond3 = False; } ############################################################################# if (sdate != sdate[1] and stime >= StartTime4) or (sdate == sdate[1] and stime >= StartTime4 and stime[1] < StartTime4) Then { Tcond4 = true; } if (sdate != sdate[1] and stime >= EndTime4) or (sdate == sdate[1] and stime >= EndTime4 and stime[1] < EndTime4) Then { Tcond4 = False; } if tcond2 and 조건1 and 조건2 then { a1=1; a1i1=index; a1매수=O; } if a1==1 and index-a1i1<50 and tcond3 and L<a1매수 then { a1=2; buy("a1매수",atlimit,a1매수); # 위를 저장하고 아래와 같이 실행을 해보면 차트전체가 모두 노란줄이 그어집니다. # 또 tcond2 대신에 tcond3으로 바꾸면 아무줄도 생기지 않습니다. # 13개를 다른 시간대로 설정했는데 2와 3 두개만 이상한 현상이 생깁니다. if tcond2 Then { value98 = TL_New(sDate,sTime,0,sDate,sTime,999999999); TL_SetColor(Value98,Yellow); TL_SetSize(Value98,1); } #3. 5분봉으로 본장 시작전과 후의 봉을 저장하려고 합니다. sTime을 사용해보니 아래 선긋기가 나오지 않습니다. Time을 사용하니 선긋기는 나옵니다. value98 = TL_New(sDate,sTime,0,sDate,sTime,999999999); TL_SetColor(Value98,Yellow); TL_SetSize(Value98,1); 그러면 Time을 써서 아래와 같이 식을 작성하면 괄호안의 내용들을 그 캔들 번호에 저장이 되는건가요? if Time == 083000 Then { 진폭프리장=DayHigh-DayLow; #당일 프리장까지의 진폭 저점프리장=DayLow; #당일 프리장까지의 저점 고점프리장=DayHigh; #당일 프리장까지의 고점 O프리장=O; #프리장 마지막 캔들의 시가 C프리장=C; #프리장 마지막 캔들의 종가 } if Time==083500 and 조건1 Then { b14=1; b14i1=Index; } if b14==1 and Time==083500 and 조건2 Then { b14=2; b14i2=Index; b14매수=저점프리장-진폭프리장; #프리장저점부터 프리장진폭만큼 빠진 자리. } if b14==2 and Index-b14i2<=5 and L<b14매수 Then { b14=3; #이 자리에서 선긋기를 하면 선긋기는 되는데 매수 실행이 안되는 경우가 있습니다. 이유가 'L<b14매수'가 완성된 종가 이후 다시 그 자리에 가지 않아서인가요? 바로 진 입이 되게 하려면 'L<b14매수'를 넣으면 안되는건가요? Buy("b14매수",AtLimit,b14매수); }