예스스탁
예스스탁 답변
2020-09-29 17:34:00
안녕하세요
예스스탁입니다.
1
기존식에 추가해드릴수 없습니다.
기존수식의 추세선을 지우는 내용떄문에 별도의 식으로 적용하셔야 합니다.
2
추세선으로 작성된 식은 지표사이에 채우기가 불가능합니다.
채우기는 plot함수로 출력된 선끼리만 비교해 채우기를 설정하실수 있고
3
지표의 채우기는 수식내에서 지정하는 부분이 아닙니다.
설정창에서 직접 하셔야 하는 부분입니다.
4
input : af(0.02), maxAF(0.2),선굵기(2);
var : T(0),cnt(0),TL(0),CSarv(0);
Array : HD[2](0),HT[2](0),HH[2](0),LD[2](0),LT[2](0),LL[2](0);
CSarv = CSar(af,maxAF);
if crossup(c,CSarv) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
for cnt = 1 to 1
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
}
if LL[0] > 0 Then
{
TL = TL_New(LD[0],LT[0],LL[0],HD[0],HT[0],HH[0]);
TL_SetColor(TL,RED);
TL_SetSize(TL,선굵기);
}
}
if CrossDown(c,CSarv) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 1
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if HH[0] > 0 Then
{
TL = TL_New(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]);
TL_SetColor(TL,BLUE);
TL_SetSize(TL,선굵기);
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
TL_SetEnd(TL,HD[0],HT[0],HH[0]);
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
TL_SetEnd(TL,LD[0],LT[0],LL[0]);
}
}
즐거운 하루되세요
> 대박대박 님이 쓴 글입니다.
> 제목 : 현재 첨부 수식을 선으로 변경
> input : af(0.02), maxAF(0.2);
input : 텍스트출력(1),선굵기(2);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
Array : HI[20](0),LI[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
HI[0] = index;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
HI[cnt] = HI[cnt-1][1];
}
if LL[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD[1],HT[1],HH[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(HH[1],2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLUE);
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,GRAY);
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,CYAN);
idx = abs(LI[0]-LI[cnt]);
tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx99,CYAN);
Text_SetStyle(tx99,0,2);
Text_SetBold(tx99,1);
}
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
LI[0] = index;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
LI[cnt] = LI[cnt-1][1];
}
if HH[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD[1],LT[1],LL[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(LL[1],2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,RED);
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,yellow);
idx = abs(HI[0]-HI[cnt]);
tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx99,CYAN);
Text_SetStyle(tx99,0,2);
Text_SetBold(tx99,1);
}
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,black);
TL_Delete(TL3);
Text_Delete(tx88);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
idx = abs(HI[0]-HI[cnt]);
tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx88,CYAN);
Text_SetStyle(tx88,0,2);
Text_SetBold(tx88,1);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
}
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,red);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
idx = abs(LI[0]-LI[cnt]);
tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx88,CYAN);
Text_SetStyle(tx88,0,2);
Text_SetBold(tx88,1);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
}
}
}
}
현재 수식은 고저점을 텍스트로 나옵니다
이걸 선으로 고점은 파랑 저점은 빨강으로 나오게 수정해주십요
그리고 채우기 기능을 추가로 해주시면 감사하겠습니다..
480틱차트에 사용할 계획입니다~~
늘 감사드립니다