커뮤니티

작은 크기 피보나치 생략

프로필 이미지
고성
2022-08-18 06:04:03
1376
글번호 161573
답변완료
Input : af(0.02), AFmax(0.2),per1(0.309),per2(0.618),per3(1.000),per4(1.618); Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0),CSarv(0); var : box(0); if Index == 0 or (Bdate != Bdate[1]) Then { Direction = 0; SAR_Value = C; AF_Value = 0.02; HighValue = H; LowValue = L; EP = 0; } if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Close < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = low; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Close > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = High; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if Close > Close[1] then Direction = 1; else if Close < Close[1] then Direction = -1; } else { if Direction == 1 then { if Close < Close[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if Close > Close[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(Low, LowValue); HighValue = max(High, HighValue); } } If crossup(c,CSarv) Then { value1 = CSarv; value2 = value1[1]; Value3 = abs(value1-Value2); } If CrossDown(c,CSarv) Then { value1 = Csarv; value2 = Value1[1]; Value3 = abs(value1-Value2); } if value1 > 0 and Value2 > 0 Then { Plot1(max(value1,Value2)+Value3*per1); Plot2(max(value1,Value2)+Value3*per2); Plot3(max(value1,Value2)+Value3*per3); Plot4(max(value1,Value2)+Value3*per4); Plot5(min(value1,Value2)-Value3*per1); Plot6(min(value1,Value2)-Value3*per2); Plot7(min(value1,Value2)-Value3*per3); Plot8(min(value1,Value2)-Value3*per4); } 종가파라볼릭의 크기를 측정해,방향 전환시 위아래로 피보나치 일정 비율을 표시해주는 수식인데,작은 크기도 표시되다보니 너무 복잡하여, 0.65P 이상(변경가능) 크기의 종가파라볼릭만 방향 전환시 출력하고 0.65P 이하는 출력이 안되게 하고 싶습니다.감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-08-18 11:06:31

안녕하세요 예스스탁입니다. Input : af(0.02), AFmax(0.2),per1(0.309),per2(0.618),per3(1.000),per4(1.618),x(0.65); Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0),CSarv(0); var : box(0); if Index == 0 or (Bdate != Bdate[1]) Then { Direction = 0; SAR_Value = C; AF_Value = 0.02; HighValue = H; LowValue = L; EP = 0; } if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Close < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = low; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Close > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = High; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if Close > Close[1] then Direction = 1; else if Close < Close[1] then Direction = -1; } else { if Direction == 1 then { if Close < Close[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if Close > Close[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(Low, LowValue); HighValue = max(High, HighValue); } } If crossup(c,CSarv) Then { value1 = CSarv; value2 = value1[1]; Value3 = abs(value1-Value2); } If CrossDown(c,CSarv) Then { value1 = Csarv; value2 = Value1[1]; Value3 = abs(value1-Value2); } if value1 > 0 and Value2 > 0 and max(value1,Value2) >= min(value1,Value2)+X Then { Plot1(max(value1,Value2)+Value3*per1); Plot2(max(value1,Value2)+Value3*per2); Plot3(max(value1,Value2)+Value3*per3); Plot4(max(value1,Value2)+Value3*per4); Plot5(min(value1,Value2)-Value3*per1); Plot6(min(value1,Value2)-Value3*per2); Plot7(min(value1,Value2)-Value3*per3); Plot8(min(value1,Value2)-Value3*per4); } Else { NoPlot(1); NoPlot(2); NoPlot(3); NoPlot(4); NoPlot(5); NoPlot(6); NoPlot(7); NoPlot(8); } 즐거운 하루되세요 > 고성 님이 쓴 글입니다. > 제목 : 작은 크기 피보나치 생략 > Input : af(0.02), AFmax(0.2),per1(0.309),per2(0.618),per3(1.000),per4(1.618); Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0),CSarv(0); var : box(0); if Index == 0 or (Bdate != Bdate[1]) Then { Direction = 0; SAR_Value = C; AF_Value = 0.02; HighValue = H; LowValue = L; EP = 0; } if EP != 0 Then { if Direction == 1 then { EP = HighValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Close < SAR_Value then { Direction = -1; SAR_Value = EP; AF_Value = 0; EP = 0; LowValue = low; } } else { EP = LowValue; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + Af; if AF_Value >= AFMAX then AF_Value = AFMAX; } if Close > SAR_Value then { Direction = 1; SAR_Value = EP; AF_Value = 0; EP = 0; HighValue = High; } } CSarv = SAR_Value; } else { if SAR_Value != 0 && EP == 0 then { if Direction == 1 then { EP = HighValue; AF_Value = AF; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if High > HighValue then { HighValue = High; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } else { EP = LowValue; AF_Value = Af; SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value); if Low < LowValue then { LowValue = Low; AF_Value = AF_Value + AF; if AF_Value >= AFMAX then AF_Value = AFMAX; } } CSarv = SAR_Value; } else { if Direction == 0 then { if Close > Close[1] then Direction = 1; else if Close < Close[1] then Direction = -1; } else { if Direction == 1 then { if Close < Close[1] then { Direction = -1; SAR_Value = HighValue; CSarv = SAR_Value; } } if Direction == -1 then { if Close > Close[1] then { Direction = 1; SAR_Value = LowValue; CSarv = SAR_Value; } } } LowValue = min(Low, LowValue); HighValue = max(High, HighValue); } } If crossup(c,CSarv) Then { value1 = CSarv; value2 = value1[1]; Value3 = abs(value1-Value2); } If CrossDown(c,CSarv) Then { value1 = Csarv; value2 = Value1[1]; Value3 = abs(value1-Value2); } if value1 > 0 and Value2 > 0 Then { Plot1(max(value1,Value2)+Value3*per1); Plot2(max(value1,Value2)+Value3*per2); Plot3(max(value1,Value2)+Value3*per3); Plot4(max(value1,Value2)+Value3*per4); Plot5(min(value1,Value2)-Value3*per1); Plot6(min(value1,Value2)-Value3*per2); Plot7(min(value1,Value2)-Value3*per3); Plot8(min(value1,Value2)-Value3*per4); } 종가파라볼릭의 크기를 측정해,방향 전환시 위아래로 피보나치 일정 비율을 표시해주는 수식인데,작은 크기도 표시되다보니 너무 복잡하여, 0.65P 이상(변경가능) 크기의 종가파라볼릭만 방향 전환시 출력하고 0.65P 이하는 출력이 안되게 하고 싶습니다.감사합니다.