커뮤니티

수식 부탁드립니다

프로필 이미지
카르페diem
2019-09-22 15:03:04
176
글번호 132143
답변완료
안녕하세요? 수식을 부탁드립니다. 해외선물 1분봉 차트에서 TL_New() 함수로 아래의 내용을 1분봉 차트에 표시하고 싶습니다. ** 라인의 우측 끝에 해당 라인의 주석을 표시하고 싶습니다. (주봉 시고저종, 일봉 시고저종, 240분봉의 20이평 등등) 1. 직전 주봉의 시 고 저 종가 2. 직전 일봉의 시 고 저 종가 3. 직전 240분봉의 20, 60, 240 이평값 4. 직전 60분봉의 20, 60, 240 이평값 감사합니다. 수고하세요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-09-24 12:48:38

안녕하세요 예스스탁입니다. 이전 차트에 모두 표시가 되기를 원하시면 수식내에 TL_delet, text_delete를 모두 삭제하시면 됩니다. 1 주 input : n(1); var : cnt(0); var : tl1(0),tl2(0),tl3(0),tl4(0); var : tx1(0),tx2(0),tx3(0),tx4(0); Array : weeko[10](0),weekh[10](0),weekl[10](0),weekc[10](0); if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then { weeko[0] = o; weekh[0] = h; weekl[0] = l; for cnt = 1 to 9 { weeko[cnt] = weeko[cnt-1][1]; weekh[cnt] = weekh[cnt-1][1]; weekl[cnt] = weekl[cnt-1][1]; weekc[cnt] = weekc[cnt-1][1]; } if weeko[n] > 0 then { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); tl1 = TL_New(sdate[1],stime[1],weeko[n],sdate,stime,weeko[n]); tl2 = TL_New(sdate[1],stime[1],weekh[n],sdate,stime,weekh[n]); tl3 = TL_New(sdate[1],stime[1],weekl[n],sdate,stime,weekl[n]); tl4 = TL_New(sdate[1],stime[1],weekc[n],sdate,stime,weekc[n]); Text_Delete(Tx1); Text_Delete(Tx2); Text_Delete(Tx3); Text_Delete(Tx4); tx1 = Text_New(sdate,stime,weeko[n],NumToStr(n,0)+"주전시가"); tx2 = Text_New(sdate,stime,weekh[n],NumToStr(n,0)+"주전고가"); tx3 = Text_New(sdate,stime,weekl[n],NumToStr(n,0)+"주전저가"); tx4 = Text_New(sdate,stime,weekc[n],NumToStr(n,0)+"주전종가"); } } weekc[0] = c; if h > weekh[0] Then weekh[0] = h; if l < weekl[0] Then weekl[0] = l; if weeko[n] > 0 then { TL_SetEnd(tl1,sdate,stime,weeko[n]); TL_SetBegin(tl2,TL_GetBeginDate(tl2),TL_GetBeginTime(tl2),weekh[n]); TL_SetEnd(tl2,sdate,stime,weekh[n]); TL_SetBegin(tl3,TL_GetBeginDate(tl3),TL_GetBeginTime(tl3),weekl[n]); TL_SetEnd(tl3,sdate,stime,weekl[n]); TL_SetBegin(tl4,TL_GetBeginDate(tl4),TL_GetBeginTime(tl4),weekc[n]); TL_SetEnd(tl4,sdate,stime,weekc[n]); Text_SetLocation(tx1,sdate,stime,weeko[n]); Text_SetLocation(tx2,sdate,stime,weekh[n]); Text_SetLocation(tx3,sdate,stime,weekl[n]); Text_SetLocation(tx4,sdate,stime,weekc[n]); } 2 일 input : n(1); var : tl1(0),tl2(0),tl3(0),tl4(0); var : tx1(0),tx2(0),tx3(0),tx4(0); if bdate != bdate[1] Then { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); tl1 = TL_New(sdate[1],stime[1],DayOpen(n),sdate,stime,DayOpen(n)); tl2 = TL_New(sdate[1],stime[1],DayHigh(n),sdate,stime,DayHigh(n)); tl3 = TL_New(sdate[1],stime[1],DayLow(n),sdate,stime,DayLow(n)); tl4 = TL_New(sdate[1],stime[1],DayClose(n),sdate,stime,DayClose(n)); Text_Delete(Tx1); Text_Delete(Tx2); Text_Delete(Tx3); Text_Delete(Tx4); tx1 = Text_New(sdate,stime,DayOpen(n),NumToStr(n,0)+"일전시가"); tx2 = Text_New(sdate,stime,DayHigh(n),NumToStr(n,0)+"일전고가"); tx3 = Text_New(sdate,stime,DayLow(n),NumToStr(n,0)+"일전저가"); tx4 = Text_New(sdate,stime,DayClose(n),NumToStr(n,0)+"일전종가"); } if dayopen(n) > 0 then { TL_SetEnd(tl1,sdate,stime,DayOpen(n)); TL_SetBegin(tl2,TL_GetBeginDate(tl2),TL_GetBeginTime(tl2),DayHigh(n)); TL_SetEnd(tl2,sdate,stime,DayHigh(n)); TL_SetBegin(tl3,TL_GetBeginDate(tl3),TL_GetBeginTime(tl3),DayLow(n)); TL_SetEnd(tl3,sdate,stime,DayLow(n)); TL_SetBegin(tl4,TL_GetBeginDate(tl4),TL_GetBeginTime(tl4),DayClose(n)); TL_SetEnd(tl4,sdate,stime,DayClose(n)); Text_SetLocation(tx1,sdate,stime,Dayopen(n)); Text_SetLocation(tx2,sdate,stime,DayHigh(n)); Text_SetLocation(tx3,sdate,stime,Daylow(n)); Text_SetLocation(tx4,sdate,stime,DayClose(n)); } 3, 4 3번과 4번은 같은식입니다. 외부변수에서 분과 이평기간만 다르게 지정해서 적용하시면 됩니다. input : 타주기분(60),P1(20),P2(60),P3(240),n(1); var : S1(0),D1(0),TM(0),TF(0),date1(0),time1(0); var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0); var : tl1(0),tl2(0),tl3(0); var : tx1(0),tx2(0),tx3(0); Array : C1[100](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%타주기분; Condition1 = false; if Bdate != Bdate[1] or (타주기분 != 1 and Bdate == Bdate[1] and TF < TF[1]) or (타주기분 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then { Condition1 = true; for cnt = 1 to 99 { C1[cnt] = C1[cnt-1][1]; } } C1[0] = C; if C1[P1-1+n] > 0 then { sum1 = 0; for cnt = n to P1-1+n { sum1 = sum1+C1[cnt]; } mav1 = sum1/P1; if Condition1 == true then { TL_Delete(TL1); Text_Delete(tx1); TL1 = TL_New(sdate,stime[1],mav1,sdate,stime,mav1); tx1 = Text_New(sdate,stime,mav1,NumToStr(타주기분,0)+"분의"+NumToStr(n,0)+"봉전"+NumToStr(P1,0)+"이평"); } Else { TL_SetBegin(tl1,TL_GetBeginDate(tl1),TL_GetBeginTime(tl1),mav1); TL_SetEnd(tl1,sdate,stime,mav1); Text_SetLocation(tx1,sdate,stime,mav1); } } if C1[P2-1+n] > 0 then { sum2 = 0; for cnt = n to P2-1+n { sum2 = sum2+C1[cnt]; } mav2 = sum2/P2; if Condition1 == true then { TL_Delete(TL2); Text_Delete(tx2); TL2 = TL_New(sdate,stime[1],mav2,sdate,stime,mav2); tx2 = Text_New(sdate,stime,mav2,NumToStr(타주기분,0)+"분의"+NumToStr(n,0)+"봉전"+NumToStr(P2,0)+"이평"); } Else { TL_SetBegin(tl2,TL_GetBeginDate(tl2),TL_GetBeginTime(tl2),mav2); TL_SetEnd(tl2,sdate,stime,mav2); Text_SetLocation(tx2,sdate,stime,mav2); } } if C1[P3-1+n] > 0 then { sum3 = 0; for cnt = n to P3-1+n { sum3 = sum3+C1[cnt]; } mav3 = sum3/P3; if Condition1 == true then { TL_Delete(TL3); Text_Delete(tx3); TL3 = TL_New(sdate,stime[1],mav3,sdate,stime,mav3); tx3 = Text_New(sdate,stime,mav3,NumToStr(타주기분,0)+"분의"+NumToStr(n,0)+"봉전"+NumToStr(P3,0)+"이평"); } Else { TL_SetBegin(tl3,TL_GetBeginDate(tl3),TL_GetBeginTime(tl3),mav3); TL_SetEnd(tl3,sdate,stime,mav3); Text_SetLocation(tx3,sdate,stime,mav3); } } } plot1(mav1); plot2(mav2); plot3(mav3); 즐거운 하루되세요 > 카르페diem 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 안녕하세요? 수식을 부탁드립니다. 해외선물 1분봉 차트에서 TL_New() 함수로 아래의 내용을 1분봉 차트에 표시하고 싶습니다. ** 라인의 우측 끝에 해당 라인의 주석을 표시하고 싶습니다. (주봉 시고저종, 일봉 시고저종, 240분봉의 20이평 등등) 1. 직전 주봉의 시 고 저 종가 2. 직전 일봉의 시 고 저 종가 3. 직전 240분봉의 20, 60, 240 이평값 4. 직전 60분봉의 20, 60, 240 이평값 감사합니다. 수고하세요.