커뮤니티

TrendLine 수식 재문의 입니다.

프로필 이미지
무지개나날들
2013-07-12 19:21:47
258
글번호 65297
답변완료
답변 중에서 ================================================================ 안녕하세요 예스스탁입니다. 1. var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2; if var1 > var1[1] and var1[1] < var1[2] Then{ value1 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(value1,blue); } if var1 < var1[1] and var1[1] > var1[2] Then{ value2 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(value2,RED); } plot1(var1,"기준선"); ================================================================== 수식이 안 그려 주는 건 부등호가 약간 오류가 있어서 바로 잡았습니다만. 제가 원하는 건 기준선이 하락하다가 최초로 상승개시하는 캔들에 수직선을 한번씩만 그리고 다시 하락 할 경우에 최초의 하락개시캔들에만 한번씩만 그리는 수식을 부탁드렸습니다. 그런데 보내주신 수식은 하락하는 캔들 마다, 상승하는 캔들마다 모든 연속된 캔들에 그리는 바람에 화면이 어지럽습니다. 그래서 나름 한번만 그리도록 다음과 같이 고안 해 봤는데 별 효과가 없습니다. 문의 드린 내용에 맞도록 수정 부탁드립니다. ================================================================= var : TL1(0),TL2(0),flag(0); var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2; if var1[1] <= var1[2] then flag = -1; //하락 중 if flag = -1 Then { if var1 > var1[1] Then { TL1 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(TL1, rgb(120,86,7)); TL_SetSize(TL1,0); TL_SetStyle(TL1,3); flag = 1; //상승개시 첫캔들에만 그릴 것 } } if var1[1] >= var1[2] then flag = 1; //상승 중 if flag = 1 Then { if var1 < var1[1] Then { TL2 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(TL2, rgb(120,86,7)); TL_SetSize(TL2,0); TL_SetStyle(TL2,3); flag = -1; //하락개시 첫 캔들에만 그릴 것 } } ==========================================================
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-07-15 09:56:41

안녕하세요 예스스탁입니다. if 문에서 2개의 값이 같다라는 표현은 == 입니다. =은 오른쪽의 값을 왼족에 저장한다는 표현입니다. if var1[1] < var1[2] then flag = -1; //하락 중 if var1[1] > var1[2] then flag = 1; //상승 중 또한 하락중 상승중 표현에 =은 제외하셔야 합니다. 기준선 값이 값이 동일하게 유지되는 구간이 많이 발생하는데 상승하다가 값이 유지되거나 하락하다 유지되는 구간 모두 flag가 1로 저장이 됩니다. var : TL1(0),TL2(0),flag(0); var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2; if var1[1] < var1[2] then flag = -1; //하락 중 if flag == -1 Then { if var1 > var1[1] Then { TL1 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(TL1, rgb(120,86,7)); TL_SetSize(TL1,0); TL_SetStyle(TL1,3); flag = 1; //상승개시 첫캔들에만 그릴 것 } } if var1[1] > var1[2] then flag = 1; //상승 중 if flag == 1 Then { if var1 < var1[1] Then { TL2 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(TL2, rgb(120,86,7)); TL_SetSize(TL2,0); TL_SetStyle(TL2,3); flag = -1; //하락개시 첫 캔들에만 그릴 것 } } 즐거운 하루되세요 > 무지개나날들 님이 쓴 글입니다. > 제목 : TrendLine 수식 재문의 입니다. > 답변 중에서 ================================================================ 안녕하세요 예스스탁입니다. 1. var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2; if var1 > var1[1] and var1[1] < var1[2] Then{ value1 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(value1,blue); } if var1 < var1[1] and var1[1] > var1[2] Then{ value2 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(value2,RED); } plot1(var1,"기준선"); ================================================================== 수식이 안 그려 주는 건 부등호가 약간 오류가 있어서 바로 잡았습니다만. 제가 원하는 건 기준선이 하락하다가 최초로 상승개시하는 캔들에 수직선을 한번씩만 그리고 다시 하락 할 경우에 최초의 하락개시캔들에만 한번씩만 그리는 수식을 부탁드렸습니다. 그런데 보내주신 수식은 하락하는 캔들 마다, 상승하는 캔들마다 모든 연속된 캔들에 그리는 바람에 화면이 어지럽습니다. 그래서 나름 한번만 그리도록 다음과 같이 고안 해 봤는데 별 효과가 없습니다. 문의 드린 내용에 맞도록 수정 부탁드립니다. ================================================================= var : TL1(0),TL2(0),flag(0); var1 = (Highest(High, 26) + Lowest(Low, 26)) / 2; if var1[1] <= var1[2] then flag = -1; //하락 중 if flag = -1 Then { if var1 > var1[1] Then { TL1 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(TL1, rgb(120,86,7)); TL_SetSize(TL1,0); TL_SetStyle(TL1,3); flag = 1; //상승개시 첫캔들에만 그릴 것 } } if var1[1] >= var1[2] then flag = 1; //상승 중 if flag = 1 Then { if var1 < var1[1] Then { TL2 = TL_New(sdate,stime,0,sdate,stime,99999999); TL_SetColor(TL2, rgb(120,86,7)); TL_SetSize(TL2,0); TL_SetStyle(TL2,3); flag = -1; //하락개시 첫 캔들에만 그릴 것 } } ==========================================================