커뮤니티

수식 작성 부탁드립니다

프로필 이미지
뎅이요
2022-08-30 13:12:07
1436
글번호 161839
답변완료
1. Period1(20) 지표속성에서 변수를 (20이평을 5, 60 이평으로) 변경 하는것과 같이data2, data3를 data3, data4로 변경 선택할수 있도록 수식 부탁 드립니다. Input : Period1(20); var1 = ma(C,Period1); var2 = data2(ma(C,Period1)); var3 = data3(ma(C,Period1)); var4 = data4(ma(C,Period1)); Plot1(var1, "MA"); Plot2(var2, "MA2"); Plot3(var1, "MA3"); Plot4(var2, "MA4"); 2. 남은시간 막대그래프 시간이 맞지 않습니다 수정 부탁 드립니다 #봉 시작 시각(stime)을 초로 변환 var1 = sTime; Var2 = int(var1/10000); //시간 추출 Var3 = var1 - int(var1/10000)*10000; //분초 추출 Var4 = int(Var3/100);//분 추출 Var5 = Var3 - int(Var3/100)*100; //초 추출 Var6 = Var2*3600; //시간을 초로 Var7 = Var4*60; //분을 초로 Var8 = Var6+Var7+Var5; //초로 변환 된 값 #봉 끝 시각(time)을 초로 변환 var11 = Time; Var12 = int(var11/10000); //시간 추출 Var13 = var11 - int(var11/10000)*10000; //분초 추출 Var14 = int(Var13/100);//분 추출 Var15 = Var13 - int(Var13/100)*100; //초 추출 Var16 = Var12*3600; //시간을 초로 Var17 = Var14*60; //분을 초로 Var18 = Var16+Var17+Var15; //초로 변환 된 값 # 차트의 주기를 초로 변환(봉 완성시각 계산을 위한 것) Var21 = BarInterval * 60; # 분봉 일간단위 마지막봉(9시 전봉)의 봉완성시간 조정 if Var8 < 32400 and Var8 + Var21 > 32400 Then //봉시작 시각은 9시보다 작고 봉 끝시간은 9시보다 크면 Var21 = 32400 - Var8; # 밤12시에 걸쳐 있는 봉의 경과 시간 계산 조정 if Var8 < 32400 and Var8 + Var21 >= 32400 Then { if time >= sTime Then Var31 = (Var8 + Var21) - var18; Else Var31 = (Var8 + Var21) - (32400+var18); } Else Var31 = (Var8 + Var21) - var18; # 봉 시작 후 경과된 초를 시분초로 변환 Var41 = int(Var31/3600); //시간 추출 Var42 = Mod(Var31, 3600); //분초 추출 Var43 = int(Var42/60); //분추출 Var44 = Mod(Var42, 60); //초 추출 Var45 = Var41*10000;//시간 자리수 조정 Var46 = Var43*100; //분 자리수 조정 Var47 = Var45+Var46+Var44; //시+분+초 plot1(Var31); //남은 시간을 초로 표시
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-08-30 14:53:21

안녕하세요 예스스탁입니다. 1 데이타번호는 외부변수처리가 되지 않습니다. 도움을 드리지 못해 죄송합니다. 2 올려주신 수식 적용해 보았지만 별도로 수정해 드릴부분이 없습니다. 국내종목의 경우에는 과거일의 끝시간(time)이 모두 00초 되어 있고 해외선물은 조회이전 모든 봉은 끝시간(time)이 모두 00초 되어 있습니다. 실시간 데이타만 초단위까지 시간값이 있습니다. 아래와 같이 차트 과거봉은 완성된 봉이므로 0으로 출력하고 마지막봉만 남은초시간이 표현되게 보셔야 할 것 같습니다. #봉 시작 시각(stime)을 초로 변환 var1 = sTime; Var2 = int(var1/10000); //시간 추출 Var3 = var1 - int(var1/10000)*10000; //분초 추출 Var4 = int(Var3/100);//분 추출 Var5 = Var3 - int(Var3/100)*100; //초 추출 Var6 = Var2*3600; //시간을 초로 Var7 = Var4*60; //분을 초로 Var8 = Var6+Var7+Var5; //초로 변환 된 값 #봉 끝 시각(time)을 초로 변환 var11 = Time; Var12 = int(var11/10000); //시간 추출 Var13 = var11 - int(var11/10000)*10000; //분초 추출 Var14 = int(Var13/100);//분 추출 Var15 = Var13 - int(Var13/100)*100; //초 추출 Var16 = Var12*3600; //시간을 초로 Var17 = Var14*60; //분을 초로 Var18 = Var16+Var17+Var15; //초로 변환 된 값 # 차트의 주기를 초로 변환(봉 완성시각 계산을 위한 것) Var21 = BarInterval * 60; # 분봉 일간단위 마지막봉(9시 전봉)의 봉완성시간 조정 if Var8 < 32400 and Var8 + Var21 > 32400 Then //봉시작 시각은 9시보다 작고 봉 끝시간은 9시보다 크면 Var21 = 32400 - Var8; # 밤12시에 걸쳐 있는 봉의 경과 시간 계산 조정 if Var8 < 32400 and Var8 + Var21 >= 32400 Then { if time >= sTime Then Var31 = (Var8 + Var21) - var18; Else Var31 = (Var8 + Var21) - (32400+var18); } Else Var31 = (Var8 + Var21) - var18; # 봉 시작 후 경과된 초를 시분초로 변환 Var41 = int(Var31/3600); //시간 추출 Var42 = Mod(Var31, 3600); //분초 추출 Var43 = int(Var42/60); //분추출 Var44 = Mod(Var42, 60); //초 추출 Var45 = Var41*10000;//시간 자리수 조정 Var46 = Var43*100; //분 자리수 조정 Var47 = Var45+Var46+Var44; //시+분+초 if LastBarOnChart == 0 Then Plot1(0); Else plot1(Var31); //남은 시간을 초로 표시 즐거운 하루되세요 > 뎅이요 님이 쓴 글입니다. > 제목 : 수식 작성 부탁드립니다 > 1. Period1(20) 지표속성에서 변수를 (20이평을 5, 60 이평으로) 변경 하는것과 같이data2, data3를 data3, data4로 변경 선택할수 있도록 수식 부탁 드립니다. Input : Period1(20); var1 = ma(C,Period1); var2 = data2(ma(C,Period1)); var3 = data3(ma(C,Period1)); var4 = data4(ma(C,Period1)); Plot1(var1, "MA"); Plot2(var2, "MA2"); Plot3(var1, "MA3"); Plot4(var2, "MA4"); 2. 남은시간 막대그래프 시간이 맞지 않습니다 수정 부탁 드립니다 #봉 시작 시각(stime)을 초로 변환 var1 = sTime; Var2 = int(var1/10000); //시간 추출 Var3 = var1 - int(var1/10000)*10000; //분초 추출 Var4 = int(Var3/100);//분 추출 Var5 = Var3 - int(Var3/100)*100; //초 추출 Var6 = Var2*3600; //시간을 초로 Var7 = Var4*60; //분을 초로 Var8 = Var6+Var7+Var5; //초로 변환 된 값 #봉 끝 시각(time)을 초로 변환 var11 = Time; Var12 = int(var11/10000); //시간 추출 Var13 = var11 - int(var11/10000)*10000; //분초 추출 Var14 = int(Var13/100);//분 추출 Var15 = Var13 - int(Var13/100)*100; //초 추출 Var16 = Var12*3600; //시간을 초로 Var17 = Var14*60; //분을 초로 Var18 = Var16+Var17+Var15; //초로 변환 된 값 # 차트의 주기를 초로 변환(봉 완성시각 계산을 위한 것) Var21 = BarInterval * 60; # 분봉 일간단위 마지막봉(9시 전봉)의 봉완성시간 조정 if Var8 < 32400 and Var8 + Var21 > 32400 Then //봉시작 시각은 9시보다 작고 봉 끝시간은 9시보다 크면 Var21 = 32400 - Var8; # 밤12시에 걸쳐 있는 봉의 경과 시간 계산 조정 if Var8 < 32400 and Var8 + Var21 >= 32400 Then { if time >= sTime Then Var31 = (Var8 + Var21) - var18; Else Var31 = (Var8 + Var21) - (32400+var18); } Else Var31 = (Var8 + Var21) - var18; # 봉 시작 후 경과된 초를 시분초로 변환 Var41 = int(Var31/3600); //시간 추출 Var42 = Mod(Var31, 3600); //분초 추출 Var43 = int(Var42/60); //분추출 Var44 = Mod(Var42, 60); //초 추출 Var45 = Var41*10000;//시간 자리수 조정 Var46 = Var43*100; //분 자리수 조정 Var47 = Var45+Var46+Var44; //시+분+초 plot1(Var31); //남은 시간을 초로 표시