커뮤니티

점이 찍히지 않는 이유 재문의

프로필 이미지
회원
2018-03-19 13:38:58
173
글번호 117491
답변완료
종목은 선물이고 주기는 5분봉이었습니다. 녹색점은 plot6로 구현된 것이 맞습니다. 아래 답변대로 시험해 본 결과 점이 찍히지 않는 원인은 5분봉 조건이 맞지 않은데 있었습니다. 5분봉 조건은 condition1= stime-stime[1]==000500으로 하고 이 조건이 충족되고 거래량이 5000개 이상이면 녹색점을 찍도록 했는데... stime은 100000(10시) stime[1]은 095500(9시55분)이었고 이 둘의 차이는 000500이 아니라 4500이었습니다.시간차 계산과 십진법 계산의 차이로 인한 것이었습니다. 그래서 봉의 조건이 5분봉이라는 것을 제가 사용한 방법말고 다른 방법이 없을까요??? 60진법을 10진법으로 바꾸어 사용할 수 있나요??? 60진법을 10진법으로 바꾸려면 각 자릿수를 따로 떼어 내어야 하는데 그렇게 할 수 있나요??? 예를 들어 9시55분0초이라면 시, 분, 초를 따로 분리할 수 있으면 10진법으로 바꿀 수가 있는데... 5분봉이라는 조건이 필요한 이유는 선물 15분봉이나 1분봉에서도 이 지표를 사용할 수 있게 하기 위해서입니다. 그래서 생기는 질문인데요 사용하는 차트의 주기가 1분봉이라는 조건과 주기가 15분봉이라는 조건은 어떻게 하면 되나요??? ===================== 안녕하세요 예스스탁입니다. 적용하신 종목과 주기등을 같이 알려주셔야 저희가 수식을 적용해 보고 지정하신 봉에 왜 점이 찍히지 않았는지 답변드릴수 있습니다. 어떤 종목에 적용된지 알수없는 지표 그림과 수식으로는 답변이 어렵습니다. 질문내용을 좀더 명료하게 파악할수 있게 올려주셔야 답변이 가능합니다. 아래 지표 적용해서 어떤 조건이 만족하지 않았는지 사용자분이 파악하셔서 수정하셔야 할것 같습니다. if (condition1==true or condition3==true) and v>=5000 then{ plot6(var10,"의미5");} 녹색점이라고만 하시면 수식에 색상이 지정된 내용이 있지 않아 어떤 plot인지 파악이 어렵습니다. 아마 내용에 5000개를 언급하셨으므로 위 조건에 의해 점이찍혀야 하는 것 같습니다. conditio1이나 conditio2중 하나이상 조건이 만족하고 거래량이 5000이상이면 되므로 아래 지표 적용해서 숫자로 2가 발생하는 지 확인하시기 바랍니다. 2개 발생하지 않으면 거래량이나 condition 조건중 하나는 만족하지 않는 것입니다. 지정된 봉에서 2가 나와야 하는데 1이하가 나오면 거래량 조건은 v > 5000으로 명확한 부분이므로 conditio1이나 conditio2 조건내용이 해당 봉에서 충족될수 있는 내용인지 살펴보셔야 합니다. var1=ma(v,20); if c>o and v>=2*ma(v,20) then var1=v*1.2; else var1=0; if c<=o and v>=2*ma(v,20) then var2=1.2*V; else var2=0; var3=v*(2*c-h-l)/(h-l); var5=v; if var3==0 then{ var7=0; var8=0; } else if var3>0 then{ var7=var3; var8=0; } else{ var8=abs(var3); var7=0; } #if nextbarsdate!=sdate then{ #if stime>153449 then{ # var1=var1/10; # var2=var2/10; # var5=var5/10; # var7=var7/10; # var8=var8/10;} condition1=stime-stime[1]==000500; condition2=stime-stime[1]==001500; condition3=stime==090000 and stime[10]-stime[11]==000500; condition4=stime==090000 and stime[1]-stime==135000; condition5=stime-stime[1]==000100; var : count(0); count = 0; if (condition1==true or condition3==true) then count = count+1; if v>=5000 then count = count+1; plot1(count); 즐거운 하루되세요 > 솔잎22 님이 쓴 글입니다. > 제목 : 점이 찍히지 않는 이유 > var1=ma(v,20); if c>o and v>=2*ma(v,20) then var1=v*1.2; else var1=0; if c<=o and v>=2*ma(v,20) then var2=1.2*V; else var2=0; var3=v*(2*c-h-l)/(h-l); var5=v; if var3==0 then{ var7=0; var8=0; } else if var3>0 then{ var7=var3; var8=0; } else{ var8=abs(var3); var7=0; } #if nextbarsdate!=sdate then{ #if stime>153449 then{ # var1=var1/10; # var2=var2/10; # var5=var5/10; # var7=var7/10; # var8=var8/10;} plot1(var1,"양2"); plot2(var2,"음2"); plot3(var5,"v"); plot4(var7,"수"); plot5(var8,"도"); condition1=stime-stime[1]==000500; condition2=stime-stime[1]==001500; condition3=stime==090000 and stime[10]-stime[11]==000500; condition4=stime==090000 and stime[1]-stime==135000; condition5=stime-stime[1]==000100; var10=(v+max(var7,var8))/2; if (condition1==true or condition3==true) and v>=5000 then{ plot6(var10,"의미5");} #if condition5==true and (v>=2000 or v>=ma(v,21)*2.5) then{ if condition5==true and v>=2000 then{ plot7(var10,"의미1");} if (condition1==true or condition3==true) then{ plot8(5000,"기준");} #if (condition2==true or condition4==true) and v>=10000 then{ # var10=(v+max(var7,var8))/2; # plot7(var10,"의미15");} 위 코드로 작성된 첨부 파일을 보면 녹색 점이 5분봉에서 조건을 만족하면 찍혀야 하는데 찍히는 데가 있고 그렇지 않은 곳이 있습니다. "이 봉에서"라는 봉에서는 거래량이 5000개를 넘어서고 5분봉이라는 조건을 만족하는 데 점이 찍히지 않습니다. 왜 그런지 좀 고쳐 주시기 바랍니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-03-19 16:20:15

안녕하세요 예스스탁입니다. 이전봉과 현재봉의 시간차이를 계산하실때 TimeToMinutes함수를 이용하시면 됩니다. var : TM(0); TM = TimeToMinutes(stime); plot1(TM-TM[1],"전봉과 현재봉차이(분)"); TimeToMinutes은 현재의 시간을 밤 0시이후에 경과된 분수로 리턴하기 때문에 이전봉과 현재봉사이의 시간계산에 더 용이합니다. if (condition1==true or condition3==true) and v>=5000 then{ plot6(var10,"의미5");} 아마 작성하신 위 수식에서 (condition1==true or condition3==true) 부분은 첫봉이거나 또는 첫봉이 아니면 이전봉과 일정시간경과후 라는 내용인거 같습니다. 아래와 같이 처리하시면 첫봉에서 거래량이 5000이상이면 plot6 출력 두번째봉부터는 전봉과 시간차가 5분이고 거래량이 5000개 이상이면 plot6출력 됩니다. var : TM(0); TM = TimeToMinutes(stime); if (sdate != sdate[1] or (sdate == sdate and TM-TM[1] == 5)) and V >= 5000 Then plot6(var10,"의미5"); 거래가 별로 없는 종목의 경우에는 5분차트라도 이전봉과 5이상의 시간차가 발생할수 있습니다. 이런 경우도 포함하고자 하시면 >= 5 라고 변경하시면 됩니다. 즐거운 하루되세요 > 솔잎22 님이 쓴 글입니다. > 제목 : 점이 찍히지 않는 이유 재문의 > 종목은 선물이고 주기는 5분봉이었습니다. 녹색점은 plot6로 구현된 것이 맞습니다. 아래 답변대로 시험해 본 결과 점이 찍히지 않는 원인은 5분봉 조건이 맞지 않은데 있었습니다. 5분봉 조건은 condition1= stime-stime[1]==000500으로 하고 이 조건이 충족되고 거래량이 5000개 이상이면 녹색점을 찍도록 했는데... stime은 100000(10시) stime[1]은 095500(9시55분)이었고 이 둘의 차이는 000500이 아니라 4500이었습니다.시간차 계산과 십진법 계산의 차이로 인한 것이었습니다. 그래서 봉의 조건이 5분봉이라는 것을 제가 사용한 방법말고 다른 방법이 없을까요??? 60진법을 10진법으로 바꾸어 사용할 수 있나요??? 60진법을 10진법으로 바꾸려면 각 자릿수를 따로 떼어 내어야 하는데 그렇게 할 수 있나요??? 예를 들어 9시55분0초이라면 시, 분, 초를 따로 분리할 수 있으면 10진법으로 바꿀 수가 있는데... 5분봉이라는 조건이 필요한 이유는 선물 15분봉이나 1분봉에서도 이 지표를 사용할 수 있게 하기 위해서입니다. 그래서 생기는 질문인데요 사용하는 차트의 주기가 1분봉이라는 조건과 주기가 15분봉이라는 조건은 어떻게 하면 되나요??? ===================== 안녕하세요 예스스탁입니다. 적용하신 종목과 주기등을 같이 알려주셔야 저희가 수식을 적용해 보고 지정하신 봉에 왜 점이 찍히지 않았는지 답변드릴수 있습니다. 어떤 종목에 적용된지 알수없는 지표 그림과 수식으로는 답변이 어렵습니다. 질문내용을 좀더 명료하게 파악할수 있게 올려주셔야 답변이 가능합니다. 아래 지표 적용해서 어떤 조건이 만족하지 않았는지 사용자분이 파악하셔서 수정하셔야 할것 같습니다. if (condition1==true or condition3==true) and v>=5000 then{ plot6(var10,"의미5");} 녹색점이라고만 하시면 수식에 색상이 지정된 내용이 있지 않아 어떤 plot인지 파악이 어렵습니다. 아마 내용에 5000개를 언급하셨으므로 위 조건에 의해 점이찍혀야 하는 것 같습니다. conditio1이나 conditio2중 하나이상 조건이 만족하고 거래량이 5000이상이면 되므로 아래 지표 적용해서 숫자로 2가 발생하는 지 확인하시기 바랍니다. 2개 발생하지 않으면 거래량이나 condition 조건중 하나는 만족하지 않는 것입니다. 지정된 봉에서 2가 나와야 하는데 1이하가 나오면 거래량 조건은 v > 5000으로 명확한 부분이므로 conditio1이나 conditio2 조건내용이 해당 봉에서 충족될수 있는 내용인지 살펴보셔야 합니다. var1=ma(v,20); if c>o and v>=2*ma(v,20) then var1=v*1.2; else var1=0; if c<=o and v>=2*ma(v,20) then var2=1.2*V; else var2=0; var3=v*(2*c-h-l)/(h-l); var5=v; if var3==0 then{ var7=0; var8=0; } else if var3>0 then{ var7=var3; var8=0; } else{ var8=abs(var3); var7=0; } #if nextbarsdate!=sdate then{ #if stime>153449 then{ # var1=var1/10; # var2=var2/10; # var5=var5/10; # var7=var7/10; # var8=var8/10;} condition1=stime-stime[1]==000500; condition2=stime-stime[1]==001500; condition3=stime==090000 and stime[10]-stime[11]==000500; condition4=stime==090000 and stime[1]-stime==135000; condition5=stime-stime[1]==000100; var : count(0); count = 0; if (condition1==true or condition3==true) then count = count+1; if v>=5000 then count = count+1; plot1(count); 즐거운 하루되세요 > 솔잎22 님이 쓴 글입니다. > 제목 : 점이 찍히지 않는 이유 > var1=ma(v,20); if c>o and v>=2*ma(v,20) then var1=v*1.2; else var1=0; if c<=o and v>=2*ma(v,20) then var2=1.2*V; else var2=0; var3=v*(2*c-h-l)/(h-l); var5=v; if var3==0 then{ var7=0; var8=0; } else if var3>0 then{ var7=var3; var8=0; } else{ var8=abs(var3); var7=0; } #if nextbarsdate!=sdate then{ #if stime>153449 then{ # var1=var1/10; # var2=var2/10; # var5=var5/10; # var7=var7/10; # var8=var8/10;} plot1(var1,"양2"); plot2(var2,"음2"); plot3(var5,"v"); plot4(var7,"수"); plot5(var8,"도"); condition1=stime-stime[1]==000500; condition2=stime-stime[1]==001500; condition3=stime==090000 and stime[10]-stime[11]==000500; condition4=stime==090000 and stime[1]-stime==135000; condition5=stime-stime[1]==000100; var10=(v+max(var7,var8))/2; if (condition1==true or condition3==true) and v>=5000 then{ plot6(var10,"의미5");} #if condition5==true and (v>=2000 or v>=ma(v,21)*2.5) then{ if condition5==true and v>=2000 then{ plot7(var10,"의미1");} if (condition1==true or condition3==true) then{ plot8(5000,"기준");} #if (condition2==true or condition4==true) and v>=10000 then{ # var10=(v+max(var7,var8))/2; # plot7(var10,"의미15");} 위 코드로 작성된 첨부 파일을 보면 녹색 점이 5분봉에서 조건을 만족하면 찍혀야 하는데 찍히는 데가 있고 그렇지 않은 곳이 있습니다. "이 봉에서"라는 봉에서는 거래량이 5000개를 넘어서고 5분봉이라는 조건을 만족하는 데 점이 찍히지 않습니다. 왜 그런지 좀 고쳐 주시기 바랍니다.