예스스탁
예스스탁 답변
2024-04-23 15:06:49
안녕하세요
예스스탁입니다.
배경색을 변경하는 기능은 없어 박스함수로 처리해 드립니다.
지표식으로 작성해 적용하시면 됩니다.
input : 분(5),분2(30),분3(60),분4(240);
input : short(12),long(26),sig(9);
var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0),T(0),box(0);
var : TF1(0),i1(0),xma11(0),xma12(0),Prexma11(0),Prexma12(0),MACDV1(0),MACDS1(0),PreMACDS1(0);
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 분 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or
(Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then
{
i1 = i1 + 1;
Prexma11 = xma11[1];
Prexma12 = xma12[1];
PreMACDS1 = MACDS1[1];
}
if i1 <= 1 then
{
xma11 = C;
xma12 = C;
MACDV1 = xma11-xma12;
MACDS1 = MACDV1;
}
else
{
xma11 = C * EP1 + Prexma11 * (1-EP1);
xma12 = C * EP2 + Prexma12 * (1-EP2);
MACDV1 = xma11-xma12;
MACDS1 = MACDV1 * EP3 + PreMACDS1 * (1-EP3);
}
Plot1(macdv1);
Plot2(macds1);
PlotBaseLine1(0);
if CrossUp(macdv1,macds1) Then
{
T = 1;
}
if CrossDown(macdv1,macds1) Then
{
T = -1;
}
if T == 1 Then
{
if T != T[1] Then
{
box = Box_New(sDate,sTime,0,NextBarSdate,NextBarStime,999999999);
Box_SetColor(box,Red);
Box_SetFill(box,true);
}
Else
Box_SetEnd(box,NextBarSdate,NextBarStime,999999999);
}
if T == -1 Then
{
if T != T[1] Then
{
box = Box_New(sDate,sTime,0,NextBarSdate,NextBarStime,999999999);
Box_SetColor(box,Blue);
Box_SetFill(box,true);
}
Else
Box_SetEnd(box,NextBarSdate,NextBarStime,999999999);
}
}
즐거운 하루되세요
> 강장군 님이 쓴 글입니다.
> 제목 : 1분 차트에 5분 MACD 매수매도 표시
> 1분봉과 5분봉 차트에서
5분봉의 MACD 매수,매도(MACD와 시그널 골든크로스, 데드크로스)를 1분봉 차트에 배경 색상 변화로 표시하는 지표식을 작성할 수 있을까요?
감사합니다.