예스스탁
예스스탁 답변
2021-07-12 10:49:59
안녕하세요
예스스탁입니다.
1
PriceScale*40[간격]
와 같이 고정숫자 뒤나 PriceScale와 같은 고정값 뒤에 이전값 참조는 의미가 없습니다.
LOWER[간격]-PriceScale*40와 같이 처리하셔야 합니다.
INPUT: MALEN(10),CONST(0.8),ATRs(0);
VAR: CENTLINE(0), AVGRANGE(0), UPPER(0), LOWER(0);
CENTLINE=KeltnerChannel(Close, MALEN, ATRs);
AVGRANGE=Ma(TRUERANGE(),MALEN);
UPPER=CENTLINE+(AVGRANGE*CONST);
LOWER=CENTLINE-(AVGRANGE*CONST);
PLOT1(CENTLINE,"CENTLINE");
PLOT2(UPPER-PriceScale*40,"UPPER");
PLOT3(LOWER-PriceScale*40,"LOWER");
input : 간격(5),갯수(0),색상(BLACk);
input: bb(25) ;
var : T(0),cnt(0);
var : HH1(0),HI1(0),HI2(0),LL1(0),LI1(0),LI2(0);
var : LD(0),LT(0),LL(0),HD(0),HT(0),HH(0),TX(0);
Array : HTL[100](0),LTL[100](0);
if LOWER[간격]-PriceScale*40 > Highest(LOWER-PriceScale*40,간격) and LOWER[간격]-PriceScale*40 > Highest(LOWER-PriceScale*40,간격)[간격+1] Then
{
T = 1;
HH1 = LOWER[간격]-PriceScale*40;
Hi1 = index[간격];
Hi2 = HI1[1];
HTL[0] = TL_New_Self(sdate[간격],stime[간격],HH1,sdate,stime,HH1);
TL_SetColor(HTL[0],색상);
TL_SetExtRight(HTL[0],true);
TX = Text_New_Self(sdate[간격],stime[간격],HH1,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
TL_SetSize(TX,1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
HTL[cnt] = HTL[cnt-1][1];
}
TL_Delete(HTL[갯수]);
if t == t[1] then
{
LD = 0;
LT = 0;
LL = 0;
for cnt = index-HI1 to index-HI2
{
if LL == 0 or (LL > 0 and LOWER[cnt]-PriceScale*40 < LL) Then
{
LL = LOWER[cnt]-PriceScale*40;
LD = sdate[cnt];
LT = stime[cnt];
}
}
LTL[0] = TL_New_Self(ld,lt,ll,sdate,stime,ll);
TL_SetColor(LTL[0],색상);
TL_SetExtRight(LTL[0],true);
TX = Text_New_Self(LD,LT,LL,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
LTL[cnt] = LTL[cnt-1][1];
}
TL_Delete(LTL[갯수]);
}
}
if LOWER[간격]-PriceScale*40 < Lowest(LOWER-PriceScale*40,간격) and LOWER[간격] -PriceScale*40< Lowest(LOWER-PriceScale*40,간격)[간격+1] Then
{
T = -1;
LL1 = LOWER[간격]-PriceScale*40;
LI1 = index[간격];
LI2 = LI1[1];
LTL[0] = TL_New_Self(sdate[간격],stime[간격],LL1,sdate,stime,LL1);
TL_SetColor(LTL[0],색상);
TL_SetExtRight(LTL[0],true);
TX = Text_New(sdate[간격],stime[간격],LL1,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
LTL[cnt] = LTL[cnt-1][1];
}
TL_Delete(LTL[갯수]);
if t == t[1] then
{
HD = 0;
HT = 0;
HH = 0;
for cnt = index-LI1 to index-LI2
{
if HH == 0 or (HH > 0 and LOWER[cnt]-PriceScale*40 > HH) Then
{
HH = LOWER[cnt]-PriceScale*40;
HD = sdate[cnt];
HT = stime[cnt];
}
}
HTL[0] = TL_New_Self(HD,HT,HH,sdate,stime,HH);
TL_SetColor(HTL[0],색상);
TL_SetExtRight(HTL[0],true);
TX = Text_New_Self(HD,HT,HH,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
HTL[cnt] = HTL[cnt-1][1];
}
TL_Delete(HTL[갯수]);
}
}
2
B수식의 출력값은 위치는 LRLv2[15]입니다.
해당값 저장해서 var1이 돌파할때로 조건만드시면 됩니다.
var : TX68(0) ;
/*A수식*/
var1 = ma(c,5) ;
/*B수식*/
if LRLv5 <= LRLv1 Then
{
Var2 = LRLv2[15];
TX68 = Text_New(sdate,stime, LRLv2[15] , "●" );
Text_SetStyle(TX68,2,2);
Text_SetColor(TX68,RED);
Text_SetSize(TX68,20);
}
if CrossUp(var1,Var2 ) Then
{
TX68 = Text_New(sdate,stime, LRLv2[15] , "●" );
Text_SetStyle(TX68,2,2);
Text_SetColor(TX68,BLACK);
Text_SetSize(TX68,40);
}
즐거운 하루되세요
> 요타 님이 쓴 글입니다.
> 제목 : 수식 좀 요청 드립니다.
> * 항상 많은 도움에 고맙 습니다.
* 두가지좀 요청 드립니다.
<요청1 >아래 수식 점찍기에서 점을 "LOWER-PriceScale*40" 선에 찍고 싶은데 error 가 납니다.
어느부분이 잘못 되었나요?
INPUT: MALEN(10),CONST(0.8),ATRs(0);
VAR: CENTLINE(0), AVGRANGE(0), UPPER(0), LOWER(0);
CENTLINE=KeltnerChannel(Close, MALEN, ATRs);
AVGRANGE=Ma(TRUERANGE(),MALEN);
UPPER=CENTLINE+(AVGRANGE*CONST);
LOWER=CENTLINE-(AVGRANGE*CONST);
PLOT1(CENTLINE,"CENTLINE");
PLOT2(UPPER-PriceScale*40,"UPPER");
PLOT3(LOWER-PriceScale*40,"LOWER");
input : 간격(5),갯수(0),색상(BLACk);
input: bb(25) ;
var : T(0),cnt(0);
var : HH1(0),HI1(0),HI2(0),LL1(0),LI1(0),LI2(0);
var : LD(0),LT(0),LL(0),HD(0),HT(0),HH(0),TX(0);
Array : HTL[100](0),LTL[100](0);
if LOWER-PriceScale*40[간격] > Highest(LOWER-PriceScale*40,간격) and LOWER-PriceScale*40[간격] > Highest(LOWER-PriceScale*40,간격)[간격+1] Then
{
T = 1;
HH1 = LOWER-PriceScale*40[간격];
Hi1 = index[간격];
Hi2 = HI1[1];
HTL[0] = TL_New_Self(sdate[간격],stime[간격],HH1,sdate,stime,HH1);
TL_SetColor(HTL[0],색상);
TL_SetExtRight(HTL[0],true);
TX = Text_New_Self(sdate[간격],stime[간격],HH1,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
TL_SetSize(TX,1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
HTL[cnt] = HTL[cnt-1][1];
}
TL_Delete(HTL[갯수]);
if t == t[1] then
{
LD = 0;
LT = 0;
LL = 0;
for cnt = index-HI1 to index-HI2
{
if LL == 0 or (LL > 0 and LOWER-PriceScale*40[cnt] < LL) Then
{
LL = LOWER-PriceScale*40[cnt];
LD = sdate[cnt];
LT = stime[cnt];
}
}
LTL[0] = TL_New_Self(ld,lt,ll,sdate,stime,ll);
TL_SetColor(LTL[0],색상);
TL_SetExtRight(LTL[0],true);
TX = Text_New_Self(LD,LT,LL,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
LTL[cnt] = LTL[cnt-1][1];
}
TL_Delete(LTL[갯수]);
}
}
if LOWER-PriceScale*40[간격] < Lowest(LOWER-PriceScale*40,간격) and LOWER-PriceScale*40[간격] < Lowest(LOWER-PriceScale*40,간격)[간격+1] Then
{
T = -1;
LL1 = LOWER-PriceScale*40[간격];
LI1 = index[간격];
LI2 = LI1[1];
LTL[0] = TL_New_Self(sdate[간격],stime[간격],LL1,sdate,stime,LL1);
TL_SetColor(LTL[0],색상);
TL_SetExtRight(LTL[0],true);
TX = Text_New(sdate[간격],stime[간격],LL1,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
LTL[cnt] = LTL[cnt-1][1];
}
TL_Delete(LTL[갯수]);
if t == t[1] then
{
HD = 0;
HT = 0;
HH = 0;
for cnt = index-LI1 to index-LI2
{
if HH == 0 or (HH > 0 and LOWER-PriceScale*40[cnt] > HH) Then
{
HH = LOWER-PriceScale*40[cnt];
HD = sdate[cnt];
HT = stime[cnt];
}
}
HTL[0] = TL_New_Self(HD,HT,HH,sdate,stime,HH);
TL_SetColor(HTL[0],색상);
TL_SetExtRight(HTL[0],true);
TX = Text_New_Self(HD,HT,HH,"●");
Text_SetColor(TX,색상);
Text_SetStyle(TX,0,2+1);
Text_SetSize(Tx,bb);
for cnt = 1 to 99
{
HTL[cnt] = HTL[cnt-1][1];
}
TL_Delete(HTL[갯수]);
}
}
<요청2> 아래 수식에서 점찍기 표시좀 부탁 드립니다.
두개 수식을 합처서 점찍기 하려는데 어떻게 해야 하나요?
즉 5이평선이 점으로된선(LRLv5<= LRLv1)을 크로스업 할때 큰점을 찍고 싶습니다.
근데 B수식을 어떻게 처리 해야 A수식이 B수식 점선을 크로스업 할 때 큰점을 찍을수 있나요??
▶ B수식 을 선으로 표현 하는 방법좀 알려 주십시요.
var : TX68(0) ;
/*A수식*/ var1 = ma(c,5) ;
/*B수식*/ if LRLv5 <= LRLv1 Then {TX68 = Text_New(sdate,stime, LRLv2[15] , "●" ); Text_SetStyle(TX68,2,2); Text_SetColor(TX68,RED); Text_SetSize(TX68,20); }
if CrossUp( A수식 , B수식 ) Then {TX68 = Text_New(sdate,stime, LRLv2[15] , "●" ); Text_SetStyle(TX68,2,2); Text_SetColor(TX68,BLACK); Text_SetSize(TX68,40); }
* 매번 고맙습니다. 수고하십시요.