예스스탁
예스스탁 답변
2022-01-12 13:40:51
안녕하세요
예스스탁입니다.
1
식을 합칠경우 겹치는 변수가 있으면 변경하셔야 합니다.
2
같은색의 라인이 겹치면 보이지 않아(빨강,파랑) 색을 구분해 드립니다.
3
Input : short(12), long(26), signal(9);
Var : MACDv(0), MACDs(0),macdo(0),HH(0),LL(0);
var : d1(0),t1(0),tl1(0),tl2(0);
Var : T(0),HV(0),LV(0),tl3(0),tl4(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if Bdate != Bdate[1] Then
{
d1 = sDate;
t1 = sTime;
HH = 0;
LL = 0;
Condition1 = False;
}
if d1 > 0 Then
{
if macdo > hh Then
hh = macdo;
if macdo < ll Then
ll = macdo;
if Condition1 == False and hh >= ll+0.5 Then
{
Condition1 = true;
var1 = DayHigh;
Var2 = DayLow;
TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1);
TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2);
TL_SetColor(TL1,RED);
TL_SetColor(TL2,RED);
}
if Condition1 == true Then
{
TL_SetEnd(TL1,sDate,sTime,var1);
TL_SetEnd(TL2,sDate,sTime,var2);
}
}
if Bdate != Bdate[1] Then
{
d1 = sDate;
t1 = sTime;
T = 0;
if MACDO > 0 Then
{
T = 1;
HV = H;
LV = L;
}
if MACDO < 0 Then
{
T = -1;
HV = H;
LV = L;
}
}
Else
{
if ABS(T) < 2 Then
{
if H > HV Then
HV = H;
if L < LV Then
LV = L;
}
if T == 1 and CrossUp(MACDO,0) Then
{
T = 2;
var3 = HV;
Var4 = LV;
TL3 = TL_New(d1,t1,var3,sDate,sTime,var3);
TL4 = TL_New(d1,t1,var4,sDate,sTime,var4);
TL_SetColor(TL3,BLUE);
TL_SetColor(TL4,BLUE);
}
if T == -1 and CrossDown(MACDO,0) Then
{
T = -2;
var3 = HV;
Var4 = LV;
TL3 = TL_New(d1,t1,var3,sDate,sTime,var3);
TL4 = TL_New(d1,t1,var4,sDate,sTime,var4);
TL_SetColor(TL3,BLUE);
TL_SetColor(TL4,BLUE);
}
if T == 2 or T == -2 Then
{
TL_SetEnd(TL3,sDate,sTime,var3);
TL_SetEnd(TL4,sDate,sTime,var4);
}
}
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래의 지표를 연결선물 3분봉에 적용하고 싶습니다.
75023번 74425번 각각 적용하면 원하는 지표로 나옵니다.
문제는 2개의 지표를 같이 적용하면 지표선이 틀어집니다.
나와야 할 지표가 안나오거나 잘못 그려집니다.
한개의 스크립트로 작성 요청드립니다.
감사합니다.
===================================================================================
[지표 75023]
Input : short(12), long(26), signal(9);
Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0);
var : d1(0),t1(0),tl1(0),tl2(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if Bdate != Bdate[1] Then
{
d1 = sDate;
t1 = sTime;
HH = 0;
LL = 0;
Condition1 = False;
}
if d1 > 0 Then
{
if macdo > hh Then
hh = macdo;
if macdo < ll Then
ll = macdo;
if Condition1 == False and hh >= ll+0.5 Then
{
Condition1 = true;
var1 = DayHigh;
Var2 = DayLow;
TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1);
TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2);
}
if Condition1 == true Then
{
TL_SetEnd(TL1,sDate,sTime,var1);
TL_SetEnd(TL2,sDate,sTime,var2);
}
}
[지표 74425]
Input : short(12), long(26), signal(9);
Var : MACDv(0), MACDs(0),macdo(0),T(0),HV(0),LV(0);
var : d1(0),t1(0),tl1(0),tl2(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if Bdate != Bdate[1] Then
{
d1 = sDate;
t1 = sTime;
T = 0;
if MACDO > 0 Then
{
T = 1;
HV = H;
LV = L;
}
if MACDO < 0 Then
{
T = -1;
HV = H;
LV = L;
}
}
Else
{
if ABS(T) < 2 Then
{
if H > HV Then
HV = H;
if L < LV Then
LV = L;
}
if T == 1 and CrossUp(MACDO,0) Then
{
T = 2;
var1 = HV;
Var2 = LV;
TL1 = TL_New(d1,t1,var1,sDate,sTime,var1);
TL2 = TL_New(d1,t1,var2,sDate,sTime,var2);
}
if T == -1 and CrossDown(MACDO,0) Then
{
T = -2;
var1 = HV;
Var2 = LV;
TL1 = TL_New(d1,t1,var1,sDate,sTime,var1);
TL2 = TL_New(d1,t1,var2,sDate,sTime,var2);
}
if T == 2 or T == -2 Then
{
TL_SetEnd(TL1,sDate,sTime,var1);
TL_SetEnd(TL2,sDate,sTime,var2);
}
}