답변완료
추세선 피보나치
input : Period(350),선두께(3);
Var:상승색(Gold), 하락색(Cyan);
Var:j(0),T(0),txx(0),txxx(0);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
var : box(0),box1(0);
var : upt(0),dnt(0);
Plot1(value12);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_Delete(tl);
TL = TL_New_Self(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New_Self(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,하락색);
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
Text_Delete(dnt);
var1 = loval[0]-loval[1];
dnt = Text_New_Self(date12,time12,value12,NewLine+NumToStr(abs(var1/PriceScale),0)+" "+NewLine);
Text_SetColor(dnt,iff(var1>0,Magenta,Blue));
Text_SetStyle(dnt,1,2);
Text_SetSize(dnt,35);
Text_SetBold(dnt,1);
box = Box_New_Self(date11,time11,Value11,date12,time12,Value12);
Text_SetSize(tx,25);
if abs(value12[1]-value11[1]) < 0.5 Then
Text_Delete(tx);
tx = Text_New_Self(sDate,stime,value12,NumToStr(value12-value11,2)+" ");
Text_SetColor(Tx,Blue);
Text_SetStyle(tx,1,0);
Text_SetSize(tx,25);
Text_SetBold(tx,1);
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
var1 = loval[0]-loval[1];
Text_SetLocation(dnt,date12,time12,value12);
Text_SetString(dnt,NewLine+NumToStr(abs(var1/PriceScale),0)+" ");
Text_SetColor(dnt,iff(var1>0,Magenta,Blue));
Text_SetStyle(dnt,1,2);
Text_SetSize(dnt,35);
Text_SetBold(dnt,1);
Box_SetEnd(box,date12,time12,Value12);
Text_SetString(tx,NumToStr(value12-value11,2)+" ");
Text_SetLocation(tx,sDate,sTime,value12);
}
if value12 > value11-0.7 Then
{
Box_SetColor(box,LCyan);
Box_SetFill(box,true,0);
}
else if value12 <= value11-0.7 and value12 > value11-1 Then
{
Box_SetColor(box,Yellow);
Box_SetFill(box,true,100);
}
else if value12 <= value11-1 and value12 > value11-1.3 Then
{
Box_SetColor(box,Lime);
Box_SetFill(box,true,70);
}
else if value12 <= value11-1.3 and value12 > value11-1.7 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,50);
}
else
{
Box_SetColor(box,Blue);
Box_SetFill(box,true,25);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_Delete(tl);
TL = TL_New_Self(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New_Self(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,상승색);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
Text_Delete(upt);
var1 = hival[0]-hival[1];
upt = Text_New_Self(date12,time12,value12,NumToStr(abs(var1/PriceScale),0)+" "+NewLine);
Text_SetColor(upt,iff(var1>0,Magenta,Blue));
Text_SetStyle(upt,1,2);
Text_SetSize(upt,35);
Text_SetBold(upt,1);
Text_SetSize(tx,25);
if abs(value12[1]-value11[1]) < 0.5 Then
Text_Delete(tx);
tx = Text_New_Self(sDate,stime,value12,NumToStr(value12-value11,2)+" ");
Text_SetColor(Tx,Red);
Text_SetStyle(tx,1,1);
Text_SetSize(tx,25);
Text_SetBold(tx,1);
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
var1 = hival[0]-hival[1];
Text_SetLocation(upt,date12,time12,value12);
Text_SetString(upt,NumToStr(abs(var1/PriceScale),0)+" "+NewLine);
Text_SetColor(upt,iff(var1>0,Magenta,Blue));
Text_SetStyle(upt,1,2);
Text_SetSize(upt,35);
Text_SetBold(upt,1);
Text_SetString(tx,NumToStr(value12-value11,2)+" ");
Text_SetLocation(tx,sDate,sTime,value12);
}
}
Text_SetColor(Txxx,Black);
Text_SetSize(txxx,30);
TL_SetSize(TL1,선두께);
당일 고점 1p 아래에서 추세선이 음전환되면, 하락추세선 상단을 당일 고점으로부터,
a. 38.2%로 가정하고 아래로 61.8% 지점에 네모 표시 추가.
b. 50%로 가정하고 아래로 50% 지점에 네모 표시 추가. 감사합니다.
2023-03-27
2354
글번호 167577
지표
답변완료
도움을 요청합니다.
안녕하세요?
아래 내용은 81338 관련 내용입니다.
바쁘신 중에도 성의를 다해주셔서 진심으로 감사드립니다.
그런데요 제안해 주신 1, 2안 모두 반응을 하지 않습니다.
즉 기존 수식만 나타날 뿐입니다.
다음은 데이터2의 실거래량지표입니다.
var : C2(0,Data2),H2(0,Data2),L2(0,Data2),cnt(0,Data2);
var : Sidx(0,Data2),Sidx1(0,Data2),Eidx(0,Data2),Eidx1(0,Data2),Pre1(0,Data2);
C2 = Data2(c);
if Data2(Bdate != Bdate[1]) Then
{
H2 = C2;
L2 = C2;
Sidx = data2(Index);
Sidx1 = Sidx[1];
Eidx1 = Eidx[1];
}
Eidx = data2(Index);
if data2(Bdate != Bdate[1] or (Bdate == bdate[1] and C2 > h2)) Then
h2 = C2;
if data2(Bdate != Bdate[1] or (Bdate == Bdate[1] and C2 < l2)) Then
l2 = C2;
if Sidx1 > 0 Then
{
pre1 = 0;
For cnt = data2(Index)-Eidx1 to data2(Index)-Sidx1
{
if data2(sDate[cnt] < sDate and sTime[cnt] <= sTime) Then
{
pre1 = C2[cnt];
cnt = data2(Index-Sidx1+1);
}
}
}
if CurrentDate == sDate and Data1(sDate) == Data2(sDate) Then
{
Plot1(C2,"참조",IFf(C2 >0,RGB(0,0,0),RGB(0,0,0)));
Plot2(H2,"최고");
Plot3(L2,"최저");
Plot4(pre1,"전일");
PlotBaseLine1(0);
제가 도움을 청하는건 data1(Upvol-DownVol)+data2(상기 수식에서의 실거래량)입니다.
제가 로직에 표현력이 없어 위와같이 표현합니다.
다시한번 검토를 청해봅니다.
오늘도 즐거운 시간 되세요.
감사합니다.
===================
안녕하세요
예스스탁입니다.
참조데이터2의 거래량을 더하시는 부분이
해당식에 동일내용으로 data2의 내용을 추가하시는건지
아니면 기존 계산내용에 data2(upvol-downvol)을 추가하고자 하시는지
불분명해 식 2개를 작성해 드립니다.
1. data2의 내용을 추가
input : R1(200),G1(0),B1(0);
input : R2(0),G2(0),B2(200);
var : V1(0,Data1),i1(0,Data1),h1(0,Data1),l1(0,Data1);
var : V2(0,Data2),i2(0,Data2),h2(0,Data2),l2(0,Data2);
if data1(Bdate != Bdate[1]) Then
{
v1 = data1(Upvol-DownVol);
i1 = data1(Upvol-DownVol);
h1 = v1;
l1 = v1;
}
Else
{
v1 = v1 + Data1(Upvol-DownVol);
if v1 > h1 Then
h1 = v1;
if v1 < l1 Then
l1 = v1;
}
if CurrentDate == sDate Then
{
Plot1(v1,"당일실매수거래량",iff(v1 > 0,RGB(0,0,0),RGB(0,0,0)));
plot2(i1,"첫봉종가");
Plot3(h1,"최고");
plot4(l1,"최저");
plot5(l1+(h1-l1)*0.236,"23.6%");
plot6(l1+(h1-l1)*0.382,"38.2%");
plot7(l1+(h1-l1)*0.500,"50.0%");
plot8(l1+(h1-l1)*0.618,"61.8%");
plot9(l1+(h1-l1)*0.714,"71.4%");
plot10(l1+(h1-l1)*0.500+150,"+150");
PlotBaseLine1(0);
}
if data2(Bdate != Bdate[1]) Then
{
v2 = data2(Upvol-DownVol);
i2 = data2(Upvol-DownVol);
h2 = v2;
l2 = v2;
}
Else
{
v2 = v2 + Data2(Upvol-DownVol);
if v2 > h2 Then
h2 = v2;
if v2 < l2 Then
l2 = v2;
}
if CurrentDate == sDate Then
{
Plot11(v2,"당일실매수거래량",iff(v1 > 0,RGB(0,0,0),RGB(0,0,0)));
plot12(i2,"첫봉종가");
Plot13(h2,"최고");
plot14(l2,"최저");
plot15(l2+(h2-l2)*0.236,"23.6%");
plot16(l2+(h2-l2)*0.382,"38.2%");
plot17(l2+(h2-l2)*0.500,"50.0%");
plot18(l2+(h2-l2)*0.618,"61.8%");
plot19(l2+(h2-l2)*0.714,"71.4%");
plot20(l2+(h2-l2)*0.500+150,"+150");
}
2. data1(Upvol-DownVol)+data2(Upvol-DownVol)로 계산
input : R1(200),G1(0),B1(0);
input : R2(0),G2(0),B2(200);
var : V1(0,Data1),i1(0,Data1),h1(0,Data1),l1(0,Data1);
if data1(Bdate != Bdate[1]) Then
{
v1 = data1(Upvol-DownVol)+data2(Upvol-DownVol);
i1 = data1(Upvol-DownVol)+data2(Upvol-DownVol);
h1 = v1;
l1 = v1;
}
Else
{
v1 = v1 + (Data1(Upvol-DownVol)+data2(Upvol-DownVol));
if v1 > h1 Then
h1 = v1;
if v1 < l1 Then
l1 = v1;
}
if CurrentDate == sDate Then
{
Plot1(v1,"당일실매수거래량",iff(v1 > 0,RGB(0,0,0),RGB(0,0,0)));
plot2(i1,"첫봉종가");
Plot3(h1,"최고");
plot4(l1,"최저");
plot5(l1+(h1-l1)*0.236,"23.6%");
plot6(l1+(h1-l1)*0.382,"38.2%");
plot7(l1+(h1-l1)*0.500,"50.0%");
plot8(l1+(h1-l1)*0.618,"61.8%");
plot9(l1+(h1-l1)*0.714,"71.4%");
plot10(l1+(h1-l1)*0.500+150,"+150");
PlotBaseLine1(0);
}
즐거운 하루되세요
> 포보스 님이 쓴 글입니다.
> 제목 : 도와주세요
> 안녕하세요?
아래 실거래량 지표에 참조데이터2의 거래량을 더한 수식을 만들고자합니다.
또 미리 감사드리며 오늘하루도 즐거운시간 되시길 바랍니다.
===============
input : R1(200),G1(0),B1(0);
input : R2(0),G2(0),B2(200);
var : hh(0),ll(0);
if Bdate != Bdate[1] Then
{
var1 = 0;
Var2 = Upvol-DownVol;
}
var1 = var1 + (Upvol-DownVol);
if CurrentDate == sDate Then
Plot1(var1,"당일실매수거래량",iff(var1 > 0,RGB(0,0,0),RGB(0,0,0)));
if CurrentDate == sDate Then
plot2(Var2,"첫봉종가");
if Bdate != Bdate[1] Then
{
hh = var1;
ll = var1;
}
Else
{
if var1 > hh Then
hh = var1;
if var1 < ll Then
ll = var1;
}
if CurrentDate == sDate Then
{
Plot3(hh,"최고");
plot4(ll,"최저");
plot5(ll+(hh-ll)*0.236,"23.6%");
plot6(ll+(hh-ll)*0.382,"38.2%");
plot7(ll+(hh-ll)*0.500,"50.0%");
plot8(ll+(hh-ll)*0.618,"61.8%");
plot9(ll+(hh-ll)*0.714,"71.4%");
plot10(ll+(hh-ll)*0.500+150,"+150");
}
if CurrentDate == sDate Then
{
PlotBaseLine1(0);
}
2023-03-27
1914
글번호 167551
지표