예스스탁
예스스탁 답변
2023-05-16 11:35:23
안녕하세요
예스스탁입니다.
1
현재 수식이 지정한 배수 위의 틱차트의 하켄아쉬를 그리는 식이 맞습니다.
다만 낮은 주기에서 높은 주기를 계산하므로 그때그때봉에서의 상태로 색상이 변경이 됩니다.
PlotPaintBar가 그려지는 고가와 저가만 하켄아쉬 고가와 저가로 변경해 드립니다.
해당 부분 외에 추가로 수정해 드릴부분이 없습니다.
input : n(10);
var : D1(0),idx(0),TF(0),T(0),T1(0),tx(0);
var : oo(0),hh(0),ll(0),cc(0);
var : xopen(0),xhigh(0),xlow(0),xclose(0);
var : xopen1(0),xhigh1(0),xlow1(0),xclose1(0);
if Bdate != Bdate[1] or Index == 0 Then
{
D1 = sdate;
idx = 0;
}
Else
idx = idx+1;
if D1 > 0 Then
{
TF = idx%n;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) or Index == 0 Then
{
oo = o;
hh = h;
ll = l;
value1 = value1+1;
xopen1 = xopen;
xclose1 = xclose;
xhigh1 = xhigh;
xlow1 = xlow;
T1 = T[1];
}
if hh > 0 and h > hh Then
hh = h;
if ll > 0 and l < ll Then
ll = l;
cc = c;
if value1 == 1 then
{
xOpen = oo;
xClose = (oo+hh+ll+cc)/4;
xHigh = MaxList(hh, xOpen, xClose);
xLow = MinList(ll, xOpen,xClose);
}
if value1 > 1 then
{
xClose = (oo+hh+ll+cc)/4;
xOpen = (xOpen1 + xClose1)/2 ;
xHigh = MaxList(hh, xOpen, xClose) ;
xLow = MinList(ll, xOpen, xClose) ;
}
if XClose > Xopen Then
{
T = 1;
PlotPaintBar(xHigh,xLow,"강조",Red);
}
else if XClose < Xopen Then
{
T = -1;
PlotPaintBar(xHigh,xLow,"강조",Blue);
}
else
{
T = 0;
PlotPaintBar(xHigh,xLow,"강조",GREEN);
}
if T != T[1] Then
{
if T == -1 Then
{
tx = Text_New(sDate,sTime,H+0.1,"■");
Text_SetColor(tx,Blue);
Text_SetStyle(tx,2,2);
}
if T == 1 and Xclose < DayHigh-0.9 Then
{
tx = Text_New(sDate,sTime,L-0.1,"■");
Text_SetColor(tx,Red);
Text_SetStyle(tx,2,2);
}
}
}
2
올려주신 내용은 작성해 드리기 어렵습니다.
수식답변은 답변에 일정 시간이상 요구되는 내용은 저희가 작성해 드리지 않습니다.
기존 답변받으신 수식들을 참고하셔서 작성해 가시기 바랍니다.
즐거운 하루되세요
> 고성 님이 쓴 글입니다.
> 제목 : 하이킨 아시 타주기
> input : n(10);
var : D1(0),idx(0),TF(0),T(0),T1(0),tx(0);
var : oo(0),hh(0),ll(0),cc(0);
var : xopen(0),xhigh(0),xlow(0),xclose(0);
var : xopen1(0),xhigh1(0),xlow1(0),xclose1(0);
if Bdate != Bdate[1] or Index == 0 Then
{
D1 = sdate;
idx = 0;
}
Else
idx = idx+1;
if D1 > 0 Then
{
TF = idx%n;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) or Index == 0 Then
{
oo = o;
hh = h;
ll = l;
value1 = value1+1;
xopen1 = xopen;
xclose1 = xclose;
xhigh1 = xhigh;
xlow1 = xlow;
T1 = T[1];
}
if hh > 0 and h > hh Then
hh = h;
if ll > 0 and l < ll Then
ll = l;
cc = c;
if value1 == 1 then
{
xOpen = oo;
xClose = (oo+hh+ll+cc)/4;
xHigh = MaxList(hh, xOpen, xClose);
xLow = MinList(ll, xOpen,xClose);
}
if value1 > 1 then
{
xClose = (oo+hh+ll+cc)/4;
xOpen = (xOpen1 + xClose1)/2 ;
xHigh = MaxList(hh, xOpen, xClose) ;
xLow = MinList(ll, xOpen, xClose) ;
}
if XClose > Xopen Then
{
T = 1;
PlotPaintBar(h,l,"강조",Red);
}
else if XClose < Xopen Then
{
T = -1;
PlotPaintBar(h,l,"강조",Blue);
}
else
{
T = 0;
PlotPaintBar(h,l,"강조",GREEN);
}
if T != T[1] Then
{
if T == -1 Then
{
tx = Text_New(sDate,sTime,H+0.1,"■");
Text_SetColor(tx,Blue);
Text_SetStyle(tx,2,2);
}
if T == 1 and Xclose < DayHigh-0.9 Then
{
tx = Text_New(sDate,sTime,L-0.1,"■");
Text_SetColor(tx,Red);
Text_SetStyle(tx,2,2);
}
}
}
그림 위는 현 수식의 타주기 15틱 차트이고,아래는 150틱 차트의 일반 하이킨 아시입니다.
15틱 차트에서 아래 그림처럼 150틱 bar를 보고 싶습니다.
현 수식을 15틱 차트에서, 아래 그림같이 150틱 차트의 일반 하이킨 아시 차트와 같은 모양이 나타나게 변경 부탁 드립니다. (차트는 15틱, bar는 150틱)
2번 수식
input : MaPeriod(3),MaPeriod2(1);
var : maOpen(0),maClose(0),maLow(0),maHigh(0);
var : haOpen(0),haClose(0),haLow(0),haHigh(0);
var : ExtMapBuffer1(0),ExtMapBuffer2(0),ExtMapBuffer3(0),ExtMapBuffer4(0);
var : ExtMapBuffer5(0),ExtMapBuffer6(0),ExtMapBuffer7(0),ExtMapBuffer8(0);
var : r(0),g(0),b(0);
if Index == 0 Then
{
maOpen=Open;
maClose=Close;
maLow=Low;
maHigh=High;
}
Else
{
maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod;
maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod;
maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod;
maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod;
haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2;
haClose=(maOpen+maHigh+maLow+maClose)/4;
haHigh=Max(maHigh, Max(haOpen, haClose));
haLow=Min(maLow, Min(haOpen, haClose));
if (haOpen<haClose) then
{
r=255;
g=10;
b=0;
ExtMapBuffer7=haLow;
ExtMapBuffer8=haHigh;
}
else
{
r=0;
g=191;
b=255;
ExtMapBuffer7=haHigh;
ExtMapBuffer8=haLow;
}
ExtMapBuffer5=haOpen;
ExtMapBuffer6=haClose;
ExtMapBuffer1=WMA(ExtMapBuffer7,MAperiod2);
ExtMapBuffer2=WMA(ExtMapBuffer8,MAperiod2);
ExtMapBuffer3=WMA(ExtMapBuffer5,MAperiod2);
ExtMapBuffer4=WMA(ExtMapBuffer6,MAperiod2);
}
PlotPaintBar(ExtMapBuffer2,ExtMapBuffer1,ExtMapBuffer3,ExtMapBuffer4,"강조",Rgb(r,g,b));
1번 수식과 같은 원리로,
a,상승시 네모, 하락 전환시 네모 표시.
b,타주기(6배):15틱 차트에서 90틱 bar를 보는 타주기. 감사합니다.