커뮤니티
문의
2026-01-26 18:05:33
95
글번호 230096
60틱 챠트에서 외부변수로 조정을 해서 360틱 스톡케스틱 챠트를 구현 해보고 싶습니다,
답변 1
예스스탁 예스스탁 답변
2026-01-27 16:51:04
안녕하세요
예스스탁입니다.
N에 기본차트의 배수로 지정하시면 됩니다,.
60틱에서 360틱이므로 6이라고 지정하시면 됩니다.
input : N(6);#틱봉기본차트 6배주기
input : Sto1(10),Sto2(5),Sto3(5);
var : D1(0),idx(0),TF(0),bar(0);
var : cnt(0), Hv(0), LV(0), FK(0), SK(0), SD(0);
var : Ep1(0), EP2(0), JISU(0), DINDEX(0), PreSK(0), PreSD(0);
Array : HH[100](0),LL[10](0);
Ep1 = 2/(sto2+1);
Ep2 = 2/(sto3+1);
if Bdate != Bdate[1] 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]) Then
{
bar = bar+1;
for cnt = 99 downto 1
{
HH[cnt] = HH[cnt-1];
LL[cnt] = LL[cnt-1];
}
HH[0] = H;
LL[0] = L;
PreSK = SK[1];
PreSD = SD[1];
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if bar >= Sto1 then
{
Hv = 0;
LV = 0;
for cnt = 0 to sto1-1
{
if HV == 0 or (HV > 0 and HH[cnt] > Hv) then
Hv = HH[cnt];
if LV == 0 or (LV > 0 and LL[cnt] < LV) then
LV = LL[cnt];
}
FK = (C-LV)/(HV-LV)*100;
if bar >= Sto1 then
{
if bar == sto1 Then
{
SK = FK;
SD = SK;
}
else
{
SK = FK * EP1 + PreSK * (1-EP1);
SD = SK * EP2 + PreSD * (1-EP2);
}
plot1(SK);
plot2(SD);
PlotBaseLine1(20);
PlotBaseLine2(80);
}
}
}
즐거운 하루되세요
다음글