예스스탁
예스스탁 답변
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 이하는 출력이 안되게 하고 싶습니다.감사합니다.