커뮤니티

재문의 드립니다 ㅠㅠ

프로필 이미지
yosong
2021-12-23 15:09:02
596
글번호 154813
답변완료
답변 너무 감사드립니다. 주신 수식을 적용해 보았는데 콜과 풋이 하나로 움직이는 수식인데 가끔 콜이나 풋 둘중 하나에 가격만 변경되는 경우나 있네요... 이유를 도저히 모르겠습니다.. 그리고 작은 차이에도 변경이 되서 그러는데 시가에 한번만 변경하고 장중에는 유지 하거나 정말 가능하다면 1시간에 한번씩 아니면 2시간에 한번씩만 비교하고 싶습니다. 반복적으로 넣어야되면 제가 작성하겠습니다 ㅠㅠ 항상 도움 주셔서 감사합니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표 부탁드립니다 > 안녕하세요 예스스탁입니다. 1 if Var36=Var31 Then 랭귀지에서 같다라는 표현은 == 입니다. =은 변수에 값을 저장할 떄 사용합니다. 2 아래와 같이 2개의 데이타의 절대값으로 간단히 작성하시면 됩니다. var:opc(0),data2opc(0),data3opc(0),sbpbop(0),sscbop(0),hapsb(0),hapss(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0),var8(0),var9(0),var10(0),var11(0),var12(0),var13(0),var14(0),var15(0),var16(0),var17(0),var18(0) ,var19(0),var20(0),var21(0),var22(0); var:pungsb(0),pungss(0),var31(0),var32(0),var33(0),var34(0),var35(0),var36(0),var37(0),var38(0),var39(0); Input : Period1(20),Period2(10); var : mindiff(0); if stime >= 090000 and stime < 155500 then { mindiff = abs(Data2(c)-data3(c)); Var37 = Data2(c); Var38 = Data3(c); If abs(data4(c)-data8(c)) < mindiff Then { mindiff = abs(Data4(c)-data8(c)); Var37 = Data4(c); Var38 = Data8(c); } If abs(data5(c)-data9(c)) < mindiff Then { mindiff = abs(Data5(c)-data9(c)); Var37 = Data5(c); Var38 = Data9(c); } If abs(data6(c)-data10(c)) < mindiff Then { mindiff = abs(Data6(c)-data10(c)); Var37 = Data6(c); Var38 = Data10(c); } If abs(data7(c)-data11(c)) < mindiff Then { mindiff = abs(Data7(c)-data11(c)); Var37 = Data7(c); Var38 = Data11(c); } } ////현재가 plot4(c,"선물"); plot5(Var37,"콜"); plot6(-Var38,"풋"); 즐거운 하루되세요 > yosong 님이 쓴 글입니다. > 제목 : 지표 부탁드립니다 > var:opc(0),data2opc(0),data3opc(0),sbpbop(0),sscbop(0),hapsb(0),hapss(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0),var8(0),var9(0),var10(0),var11(0),var12(0),var13(0),var14(0),var15(0),var16(0),var17(0),var18(0) ,var19(0),var20(0),var21(0),var22(0); var:pungsb(0),pungss(0),var31(0),var32(0),var33(0),var34(0),var35(0),var36(0),var37(0),var38(0),var39(0); Input : Period1(20),Period2(10); if stime >= 090000 and stime < 155500 then { Var31=0; Var32=0; Var33=0; Var34=0; var35=0; ////시가 if data2(c)> data3(c) Then var31=Data2(c)/Data3(c); Else var31=Data3(c)/Data2(c); if data4(c)> data8(c) Then var32=Data4(c)/Data8(c); Else var32=Data8(c)/Data4(c); if data5(c)> data9(c) Then var33=Data5(c)/Data9(c); Else var33=Data9(c)/Data5(c); if data6(c)> data10(c) Then var34=Data6(c)/Data10(c); Else var34=Data10(c)/Data6(c); if data7(c)> data11(c) Then var35=Data7(c)/Data11(c); Else var35=Data11(c)/Data7(c); Var36=MinList(Var31,Var32,var33,var34,Var35); if Var36=Var31 Then Var37=Data2(c) ; Var38=Data3(c) ; if Var36=Var32 Then Var37=Data4(c) ; Var38=Data8(c) ; if Var36=Var33 Then Var37=Data5(c) ; Var38=Data9(c) ; if Var36=Var34 Then Var37=Data6(c) ; Var38=Data10(c) ; if Var36=Var35 Then Var37=Data7(c) ; Var38=Data11(c) ; ////현재가 plot4(c,"선물"); plot5(Var37,"콜"); plot6(-Var38,"풋"); ATM중 가장 값에 차이가 덜나는 값을 구하려고 위와 같은 식을 사용하였는데 맞을때도 있고 틀리게 나올때가 있네요 ATM 콜 3.00 ATM 풋 4.00 ATM+1 콜 7.00 ATM+1 풋 3.00 이럴때 ATM 콜 3.00 ATM 풋 4.00 값을 선택하게 하고 싶습니다 ATM 콜 Data2(c) ATM 풋 Data3(c) ATM+1 콜 Data4(c) ATM+1 풋Data8(c) ATM+2 콜 Data5(c) ATM+2 풋 Data9(c) ATM-1 콜 Data6(c) ATM-1 풋 Data10(c) ATM-2 콜 Data7(c) ATM-2 풋 Data11(c)
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-12-23 15:30:23

안녕하세요 예스스탁입니다. 1 랭귀지는 기본적으로 완성봉(다음봉시가수신)을 기준으로 값을 사용합니다. 기본차트봉이 완성시에 그때 완성되어 있는 데이타의 값을 보기 때문에 기본차트와 참조데이타가 동일주기라도 실시간에서 다음봉 시가의 도달시간이 기본차트보다 늦으면 동일시간의 봉이 아닌 최근 완성된 그 전봉을 볼수도 있습니다. 해당 부분은 랭귀지체계가 완성봉기준으로만 값을 사용하게 되어 있어 별도로 처리가 되지 못합니다. 2 시가에 한번하는 수식과 n분간격으로 계산하는 식 2개 올려드립니다. 3 1.시가에 한번 var:opc(0),data2opc(0),data3opc(0),sbpbop(0),sscbop(0),hapsb(0),hapss(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0),var8(0),var9(0),var10(0),var11(0),var12(0),var13(0),var14(0),var15(0),var16(0),var17(0),var18(0) ,var19(0),var20(0),var21(0),var22(0); var:pungsb(0),pungss(0),var31(0),var32(0),var33(0),var34(0),var35(0),var36(0),var37(0),var38(0),var39(0); Input : Period1(20),Period2(10); var : mindiff(0); if Data1(Bdate != Bdate[1]) then { mindiff = abs(Data2(c)-data3(c)); Var37 = Data2(c); Var38 = Data3(c); If abs(data4(c)-data8(c)) < mindiff Then { mindiff = abs(Data4(c)-data8(c)); Var37 = Data4(c); Var38 = Data8(c); } If abs(data5(c)-data9(c)) < mindiff Then { mindiff = abs(Data5(c)-data9(c)); Var37 = Data5(c); Var38 = Data9(c); } If abs(data6(c)-data10(c)) < mindiff Then { mindiff = abs(Data6(c)-data10(c)); Var37 = Data6(c); Var38 = Data10(c); } If abs(data7(c)-data11(c)) < mindiff Then { mindiff = abs(Data7(c)-data11(c)); Var37 = Data7(c); Var38 = Data11(c); } } ////현재가 plot4(c,"선물"); plot5(Var37,"콜"); plot6(-Var38,"풋"); 2. 일정시간(분) 간격 var:opc(0),data2opc(0),data3opc(0),sbpbop(0),sscbop(0),hapsb(0),hapss(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0),var8(0),var9(0),var10(0),var11(0),var12(0),var13(0),var14(0),var15(0),var16(0),var17(0),var18(0) ,var19(0),var20(0),var21(0),var22(0); var:pungsb(0),pungss(0),var31(0),var32(0),var33(0),var34(0),var35(0),var36(0),var37(0),var38(0),var39(0); Input : Period1(20),Period2(10); input : 분간격(30); var : D1(0,Data1),S1(0,Data1),TM(0,Data1),TF(0,Data1); var : mindiff(0); if data1(Bdate != Bdate[1]) Then { S1 = data1(TimeToMinutes(stime)); D1 = data1(sdate); } if D1 > 0 then { if data1(sdate) == D1 Then TM = data1(TimeToMinutes(stime))-S1; Else TM = data1(TimeToMinutes(stime))+1440-S1; TF = TM%분간격; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분간격 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분간격 > 1 and TM >= TM[1]+분간격) or (Bdate == Bdate[1] and 분간격 == 1 and TM > TM[1]) Then { mindiff = abs(Data2(c)-data3(c)); Var37 = Data2(c); Var38 = Data3(c); If abs(data4(c)-data8(c)) < mindiff Then { mindiff = abs(Data4(c)-data8(c)); Var37 = Data4(c); Var38 = Data8(c); } If abs(data5(c)-data9(c)) < mindiff Then { mindiff = abs(Data5(c)-data9(c)); Var37 = Data5(c); Var38 = Data9(c); } If abs(data6(c)-data10(c)) < mindiff Then { mindiff = abs(Data6(c)-data10(c)); Var37 = Data6(c); Var38 = Data10(c); } If abs(data7(c)-data11(c)) < mindiff Then { mindiff = abs(Data7(c)-data11(c)); Var37 = Data7(c); Var38 = Data11(c); } } ////현재가 plot4(c,"선물"); plot5(Var37,"콜"); plot6(-Var38,"풋"); } 즐거운 하루되세요 > yosong 님이 쓴 글입니다. > 제목 : 재문의 드립니다 ㅠㅠ > 답변 너무 감사드립니다. 주신 수식을 적용해 보았는데 콜과 풋이 하나로 움직이는 수식인데 가끔 콜이나 풋 둘중 하나에 가격만 변경되는 경우나 있네요... 이유를 도저히 모르겠습니다.. 그리고 작은 차이에도 변경이 되서 그러는데 시가에 한번만 변경하고 장중에는 유지 하거나 정말 가능하다면 1시간에 한번씩 아니면 2시간에 한번씩만 비교하고 싶습니다. 반복적으로 넣어야되면 제가 작성하겠습니다 ㅠㅠ 항상 도움 주셔서 감사합니다 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표 부탁드립니다 > 안녕하세요 예스스탁입니다. 1 if Var36=Var31 Then 랭귀지에서 같다라는 표현은 == 입니다. =은 변수에 값을 저장할 떄 사용합니다. 2 아래와 같이 2개의 데이타의 절대값으로 간단히 작성하시면 됩니다. var:opc(0),data2opc(0),data3opc(0),sbpbop(0),sscbop(0),hapsb(0),hapss(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0),var8(0),var9(0),var10(0),var11(0),var12(0),var13(0),var14(0),var15(0),var16(0),var17(0),var18(0) ,var19(0),var20(0),var21(0),var22(0); var:pungsb(0),pungss(0),var31(0),var32(0),var33(0),var34(0),var35(0),var36(0),var37(0),var38(0),var39(0); Input : Period1(20),Period2(10); var : mindiff(0); if stime >= 090000 and stime < 155500 then { mindiff = abs(Data2(c)-data3(c)); Var37 = Data2(c); Var38 = Data3(c); If abs(data4(c)-data8(c)) < mindiff Then { mindiff = abs(Data4(c)-data8(c)); Var37 = Data4(c); Var38 = Data8(c); } If abs(data5(c)-data9(c)) < mindiff Then { mindiff = abs(Data5(c)-data9(c)); Var37 = Data5(c); Var38 = Data9(c); } If abs(data6(c)-data10(c)) < mindiff Then { mindiff = abs(Data6(c)-data10(c)); Var37 = Data6(c); Var38 = Data10(c); } If abs(data7(c)-data11(c)) < mindiff Then { mindiff = abs(Data7(c)-data11(c)); Var37 = Data7(c); Var38 = Data11(c); } } ////현재가 plot4(c,"선물"); plot5(Var37,"콜"); plot6(-Var38,"풋"); 즐거운 하루되세요 > yosong 님이 쓴 글입니다. > 제목 : 지표 부탁드립니다 > var:opc(0),data2opc(0),data3opc(0),sbpbop(0),sscbop(0),hapsb(0),hapss(0),var1(0),var2(0),var3(0),var4(0),var5(0),var6(0),var7(0),var8(0),var9(0),var10(0),var11(0),var12(0),var13(0),var14(0),var15(0),var16(0),var17(0),var18(0) ,var19(0),var20(0),var21(0),var22(0); var:pungsb(0),pungss(0),var31(0),var32(0),var33(0),var34(0),var35(0),var36(0),var37(0),var38(0),var39(0); Input : Period1(20),Period2(10); if stime >= 090000 and stime < 155500 then { Var31=0; Var32=0; Var33=0; Var34=0; var35=0; ////시가 if data2(c)> data3(c) Then var31=Data2(c)/Data3(c); Else var31=Data3(c)/Data2(c); if data4(c)> data8(c) Then var32=Data4(c)/Data8(c); Else var32=Data8(c)/Data4(c); if data5(c)> data9(c) Then var33=Data5(c)/Data9(c); Else var33=Data9(c)/Data5(c); if data6(c)> data10(c) Then var34=Data6(c)/Data10(c); Else var34=Data10(c)/Data6(c); if data7(c)> data11(c) Then var35=Data7(c)/Data11(c); Else var35=Data11(c)/Data7(c); Var36=MinList(Var31,Var32,var33,var34,Var35); if Var36=Var31 Then Var37=Data2(c) ; Var38=Data3(c) ; if Var36=Var32 Then Var37=Data4(c) ; Var38=Data8(c) ; if Var36=Var33 Then Var37=Data5(c) ; Var38=Data9(c) ; if Var36=Var34 Then Var37=Data6(c) ; Var38=Data10(c) ; if Var36=Var35 Then Var37=Data7(c) ; Var38=Data11(c) ; ////현재가 plot4(c,"선물"); plot5(Var37,"콜"); plot6(-Var38,"풋"); ATM중 가장 값에 차이가 덜나는 값을 구하려고 위와 같은 식을 사용하였는데 맞을때도 있고 틀리게 나올때가 있네요 ATM 콜 3.00 ATM 풋 4.00 ATM+1 콜 7.00 ATM+1 풋 3.00 이럴때 ATM 콜 3.00 ATM 풋 4.00 값을 선택하게 하고 싶습니다 ATM 콜 Data2(c) ATM 풋 Data3(c) ATM+1 콜 Data4(c) ATM+1 풋Data8(c) ATM+2 콜 Data5(c) ATM+2 풋 Data9(c) ATM-1 콜 Data6(c) ATM-1 풋 Data10(c) ATM-2 콜 Data7(c) ATM-2 풋 Data11(c)