커뮤니티

수식작성 부탁드립니다.

프로필 이미지
미르짱
2014-03-31 13:39:45
364
글번호 73976
답변완료

첨부 이미지

이평선이 골드일 때의 고점과 데드일 때 저점을 잇는 지그재그선입니다. 피보나치 선은 현재 파동이 진행중이므로 이전 파동의 크기로 계산을 합니다. [출처] 이평선 골든데드 이용한 지그재그선 + 피보나치 되돌림 선|작성자 수식지왕 Input:ShortPeriod(5),LongPeriod(20),선두께(2),선색(green); Var:j(0),ma1(0),ma2(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0),ZZ[20](0); Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0); r[0] = 0; r[1] = 0.236; r[2] = 0.382; r[3] = 0.50; r[4] = 0.618; r[5] = 0.764; r[6] = 1; For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } ma1 = ma(C,ShortPeriod); ma2 = ma(C,LongPeriod); If ma1 < ma2 Then { If ma1[1] >= ma2[1] Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; ZZ[j+1] = ZZ[j]; } LoVal[0] = L; LoBar[0] = 0; ZZ[0] = L; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]); TL_SetColor(TL2[j],red); } } Else If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; ZZ[0] = L; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { TL_SetEnd(TL2[j],date22,time22,fr[j]); } } } Else If ma1 > ma2 Then { If ma1[1] <= ma2[1] Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; ZZ[j+1] = ZZ[j]; } HiVal[0] = H; HiBar[0] = 0; ZZ[0] = H; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); TL3[j] = TL_New(date31,time31,fr[j],date32,time32,fr[j]); TL_SetColor(TL3[j],blue); } } Else If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; ZZ[0] = H; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; for j = 0 to 6 { TL_SetEnd(TL3[j],date32,time32,fr[j]); } } } TL_SetSize(TL1,선두께); TL_SetColor(TL1,선색); ********************************************************************************** 피보나치선을 채우기하고싶습니다. 수식변경이 가능할런지요?
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-03-31 18:37:02

안녕하세요 예스스탁입니다. 해당 식은 가능하지 않습니다. 또한 채우기는 수식내에서 지정할수 없습니다. 지표속성 화면표시탭에서 직접 지정하셔야 하는데 현재 해당식이 plot명령어로 작성이 되어 있지 않고 현재시점에서 과거봉부터 그려오기 위해 추세선으로 작성이 되어 있어 변경이 가능하지 않습니다. 과거봉부터 그려오기 위해서는 추세선을 사용하는 방법뿐이 없습니다. 즐거운 하루되세요 > 미르짱 님이 쓴 글입니다. > 제목 : 수식작성 부탁드립니다. > 이평선이 골드일 때의 고점과 데드일 때 저점을 잇는 지그재그선입니다. 피보나치 선은 현재 파동이 진행중이므로 이전 파동의 크기로 계산을 합니다. [출처] 이평선 골든데드 이용한 지그재그선 + 피보나치 되돌림 선|작성자 수식지왕 Input:ShortPeriod(5),LongPeriod(20),선두께(2),선색(green); Var:j(0),ma1(0),ma2(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0),ZZ[20](0); Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0); r[0] = 0; r[1] = 0.236; r[2] = 0.382; r[3] = 0.50; r[4] = 0.618; r[5] = 0.764; r[6] = 1; For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } ma1 = ma(C,ShortPeriod); ma2 = ma(C,LongPeriod); If ma1 < ma2 Then { If ma1[1] >= ma2[1] Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; ZZ[j+1] = ZZ[j]; } LoVal[0] = L; LoBar[0] = 0; ZZ[0] = L; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); TL2[j] = TL_New(date21,time21,fr[j],date22,time22,fr[j]); TL_SetColor(TL2[j],red); } } Else If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; ZZ[0] = L; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { TL_SetEnd(TL2[j],date22,time22,fr[j]); } } } Else If ma1 > ma2 Then { If ma1[1] <= ma2[1] Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; ZZ[j+1] = ZZ[j]; } HiVal[0] = H; HiBar[0] = 0; ZZ[0] = H; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); TL3[j] = TL_New(date31,time31,fr[j],date32,time32,fr[j]); TL_SetColor(TL3[j],blue); } } Else If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; ZZ[0] = H; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; for j = 0 to 6 { TL_SetEnd(TL3[j],date32,time32,fr[j]); } } } TL_SetSize(TL1,선두께); TL_SetColor(TL1,선색); ********************************************************************************** 피보나치선을 채우기하고싶습니다. 수식변경이 가능할런지요?