예스스탁
예스스탁 답변
2022-11-18 15:39:02
안녕하세요
예스스탁입니다.
plot갯수를 변동적으로 가져갈수 없어 상승, 하락한 모든 값을 출력하게 작성해 드릴수는 없습니다.
당일 var1 중 최고가가와 당일 var1중 최저가를 그리게 작성해 드립니다.
최고가는 첫번쨰 종가보다 클경우에만 최저가는 작을경우에만 출력됩니다.
input : ntime(5);
var : S1(0),D1(0),TM(0),TF(0),B(0);
var : idx(0),idx1(0),idx2(0),tx(0);
var : C1(0),hh(0),ll(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
var1 = 0;
c1 = 0;
hh = 0;
ll = 0;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
B = B+1;
idx = 0;
idx1 = idx[1];
idx2 = idx1[1];
tx = Text_New(sDate,sTime,L,NumToStr(1,0));
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Red);
Text_SetBold(tx,1);
}
idx = idx+1;
Text_SetString(tx,NumToStr(idx,0));
Text_SetLocation(tx,sDate,sTime,L);
if B >= 3 and idx > max(idx1,idx2) Then
{
if var1 == 0 Then
{
c1 = c;
hh = C;
ll = C;
}
var1 = C;
if var1 > hh Then
hh = var1;
if var1 < ll Then
ll = var1;
}
if var1 > 0 Then
{
Plot1(var1);
Plot2(c1,"c1",Green);
}
Else
{
NoPlot(1);
NoPlot(2);
}
if var1 > 0 and hh > var1 Then
Plot3(hh,"hh",Red);
Else
NoPlot(3);
if var1 > 0 and ll < var1 Then
Plot4(ll,"ll",Blue);
Else
NoPlot(4);
}
즐거운 하루되세요
> jdavid 님이 쓴 글입니다.
> 제목 : 당일 종가선 색깔
> 감사합니다.
아래는 틱차트에서 5분주기 전봉전전봉갯수를 돌파할 때 종가를 표시하는 수식입니다.
이 수식이 나타내는 종가에서
1.
장시작 후 처음 나타난 종가를 저장하고 장마지막까지 지표값을 표시. 녹색
2.
장시작 후 처음 나타난 종가보다 상승한 종가 또는
이전 종가보다 상승한 종가를 저장하고 각각 장마지막까지 지표값을 표시. 빨강
3.
장시작 후 처음 나타난 종가보다 하락한 종가 또는
이전 종가보다하락한 종가를 저장하고 각각 장마지막까지 지표값을 교시. 파랑
input : ntime(5);
var : S1(0),D1(0),TM(0),TF(0),B(0);
var : idx(0),idx1(0),idx2(0),tx(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
var1 = 0;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
B = B+1;
idx = 0;
idx1 = idx[1];
idx2 = idx1[1];
tx = Text_New(sDate,sTime,L,NumToStr(1,0));
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Red);
Text_SetBold(tx,1);
}
idx = idx+1;
Text_SetString(tx,NumToStr(idx,0));
Text_SetLocation(tx,sDate,sTime,L);
if B >= 3 and idx > max(idx1,idx2) Then
var1 = C;
if var1 > 0 Then
Plot1(var1);
Else
NoPlot(1);
}