예스스탁
예스스탁 답변
2023-01-26 11:26:11
안녕하세요
예스스탁입니다.
아래 내용 참고하셔서 수식에 직접 보완해 사용하셔야 합니다.
1-1
텍스트는 수식안에서 text_setcolor함수로 색상을 지정해야 합니다.
속성에서 지정한 plot의 색상을 인지를 할수 없습니다.
수식하단에 아래 내용 추가하셔서 각 텍스트에 대한 색상을 색상예약어로 각각 모두 지정하셔합니다.
Text_SetColor(tx1,red);
1-2
Y축에는 표시가 가능하지 않습니다.
1-3
외부변수로 변수처리해서 표시여부 지정할 수 있습니다.
즉 텍스트의 색상이나 크기등을 설정창에서 설정하시려면
모두 변수처리해서 설정창의 변수탭에서 변경하게 작성하셔야 합니다.
1-5번 답변글 참고하시기 바랍니다.
1-4
tx1 = Text_New(nextbarsdate,nextbarstime,DayOpen(0),"당일고가");
텍스트는 위와 같이 Text_new함수에 날짜, 시간, 가격, 표시내용을 지정해
해당 위치에 내용을 표시하게 되어 있습니다.
해당텍스트는 변수(tx1)에 아이디를 저장한 이후
해당 아이디로 색상이나 크기등을 지정합니다.
텍스트위 좌우 상하 정렬은 Text_SetStyle로 지정하고
텍스트의 크기는 text_setsize함수로 지정할 수 있습니다.
현재 답변드린 수식에서 차트 마지막봉 위치에
최대한 오른쪽으로 정렬해서 표시되게 되어 있습니다.
Text_SetStyle(tx1,0,2);
만약 텍스트가 봉을 가리면 아래와 같이 표시내용에 공백을 추가해서
좀더 오른쪽에 표시되게 하셔야 합니다.
tx1 = Text_New(nextbarsdate,nextbarstime,DayOpen(0)," 당일고가");
5
기존답변드린 수식에 각 텍스트의 표시여부, 색상, 크기를 설정창
변수탭에서 변경하게 수정해 드립니다.
해당식 참고하셔서 다른식에 응용하시기 바랍니다.
5-1
input : af(0.02),maxaf(0.2);
input : p1(5),p2(20),p3(60),p4(120);
#표시는 1이면 표시, 0이면 표시안함
input : 표시1(1),표시2(1),표시3(1),표시4(1),표시5(1);
input : 표시6(1),표시7(1),표시8(1),표시9(1),표시10(1);
input : 표시11(1),표시12(1),표시13(1),표시14(1);
#크기
input : 크기1(1),크기2(1),크기3(1),크기4(1),크기5(1);
input : 크기6(1),크기7(1),크기8(1),크기9(1),크기10(1);
input : 크기11(1),크기12(1),크기13(1),크기14(1);
#색상
input : 색상1(gray),색상2(gray),색상3(gray),색상4(gray),색상5(gray);
input : 색상6(gray),색상7(gray),색상8(gray),색상9(gray),색상10(gray);
input : 색상11(gray),색상12(gray),색상13(gray),색상14(gray);
var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0);
var : tx6(0),tx7(0),tx8(0),tx9(0),tx10(0);
var : tx11(0),tx12(0),tx13(0),tx14(0);
var1 = sar(af,maxaf);
value1 = ma(c,p1);
value2 = ma(c,p2);
value3 = ma(c,p3);
value4 = ma(c,p4);
Plot1(DayOpen(0),"당일시가");
Plot2(DayHigh(0),"당일고가");
Plot3(DayLow(0),"당일저가");
Plot4((DayHigh(0)+DayLow(0))/2,"당일중심");
Plot5(DayOpen(1),"전일시가");
Plot6(DayHigh(1),"전일고가");
Plot7(DayLow(1),"전일저가");
Plot8((DayHigh(1)+DayLow(1))/2,"전일중심");
Plot9(DayClose(1),"전일종가");
Plot10(var1,"파라볼릭",IFf(C>var1,Red,Blue));
Plot11(value1,"이평1");
Plot12(value2,"이평2");
Plot13(value3,"이평3");
Plot14(value4,"이평4");
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
Text_Delete(tx5);
Text_Delete(tx6);
Text_Delete(tx7);
Text_Delete(tx8);
Text_Delete(tx9);
Text_Delete(tx10);
Text_Delete(tx11);
Text_Delete(tx12);
Text_Delete(tx13);
Text_Delete(tx14);
if 표시1 == 1 Then tx1 = Text_New(nextbarsdate,nextbarstime,DayOpen(0),"당일고가");
if 표시2 == 1 Then tx2 = Text_New(nextbarsdate,nextbarstime,DayHigh(0),"당일저가");
if 표시3 == 1 Then tx3 = Text_New(nextbarsdate,nextbarstime,DayLow(0),"당일종가");
if 표시4 == 1 Then tx4 = Text_New(nextbarsdate,nextbarstime,(DayHigh(0)+DayLow(0))/2,"당일중심");
if 표시5 == 1 Then tx5 = Text_New(nextbarsdate,nextbarstime,DayOpen(1),"전일고가");
if 표시6 == 1 Then tx6 = Text_New(nextbarsdate,nextbarstime,DayHigh(1),"전일저가");
if 표시7 == 1 Then tx7 = Text_New(nextbarsdate,nextbarstime,DayLow(1),"전일종가");
if 표시8 == 1 Then tx8 = Text_New(nextbarsdate,nextbarstime,(DayHigh(1)+DayLow(1))/2,"전일중심");
if 표시9 == 1 Then tx9 = Text_New(nextbarsdate,nextbarstime,DayClose(1),"전일종가");
if 표시10 == 1 Then tx10 = Text_New(nextbarsdate,nextbarstime,var1,"파라볼릭");
if 표시11 == 1 Then tx11 = Text_New(nextbarsdate,nextbarstime,value1,NumToStr(P1,0)+"이평");
if 표시12 == 1 Then tx12 = Text_New(nextbarsdate,nextbarstime,value2,NumToStr(P2,0)+"이평");
if 표시13 == 1 Then tx13 = Text_New(nextbarsdate,nextbarstime,value3,NumToStr(P3,0)+"이평");
if 표시14 == 1 Then tx14 = Text_New(nextbarsdate,nextbarstime,value4,NumToStr(P4,0)+"이평");
#각 텍스트 좌우 상하 정렬
Text_SetStyle(tx1,0,2);
Text_SetStyle(tx2,0,2);
Text_SetStyle(tx3,0,2);
Text_SetStyle(tx4,0,2);
Text_SetStyle(tx5,0,2);
Text_SetStyle(tx6,0,2);
Text_SetStyle(tx7,0,2);
Text_SetStyle(tx8,0,2);
Text_SetStyle(tx9,0,2);
Text_SetStyle(tx10,0,2);
Text_SetStyle(tx11,0,2);
Text_SetStyle(tx12,0,2);
Text_SetStyle(tx13,0,2);
Text_SetStyle(tx14,0,2);
#각 텍스트 색상
Text_SetColor(tx1,색상1);
Text_SetColor(tx2,색상2);
Text_SetColor(tx3,색상3);
Text_SetColor(tx4,색상4);
Text_SetColor(tx5,색상5);
Text_SetColor(tx6,색상6);
Text_SetColor(tx7,색상7);
Text_SetColor(tx8,색상8);
Text_SetColor(tx9,색상9);
Text_SetColor(tx10,색상10);
Text_SetColor(tx11,색상11);
Text_SetColor(tx12,색상12);
Text_SetColor(tx13,색상13);
Text_SetColor(tx14,색상14);
#각 텍스트의 크기
Text_SetSize(tx1,크기1);
Text_SetSize(tx2,크기2);
Text_SetSize(tx3,크기3);
Text_SetSize(tx4,크기4);
Text_SetSize(tx5,크기5);
Text_SetSize(tx6,크기6);
Text_SetSize(tx7,크기7);
Text_SetSize(tx8,크기8);
Text_SetSize(tx9,크기9);
Text_SetSize(tx10,크기10);
Text_SetSize(tx11,크기11);
Text_SetSize(tx12,크기12);
Text_SetSize(tx13,크기13);
Text_SetSize(tx14,크기14);
5-2 일
input : P1(5),P2(10),P3(20),P4(60),P5(120),P6(240);
#표시는 1이면 표시, 0이면 표시안함
input : 표시1(1),표시2(1),표시3(1),표시4(1),표시5(1);
input : 표시6(1),표시7(1),표시8(1),표시9(1),표시10(1);
input : 표시11(1),표시12(1),표시13(1),표시14(1);
#크기
input : 크기1(1),크기2(1),크기3(1),크기4(1),크기5(1);
input : 크기6(1),크기7(1),크기8(1),크기9(1),크기10(1);
input : 크기11(1),크기12(1),크기13(1),크기14(1);
#색상
input : 색상1(gray),색상2(gray),색상3(gray),색상4(gray),색상5(gray);
input : 색상6(gray),색상7(gray),색상8(gray),색상9(gray),색상10(gray);
input : 색상11(gray),색상12(gray),색상13(gray),색상14(gray);
var : cnt(0);
var : sumV1(0),sumV2(0),sumV3(0),sumV4(0),sumV5(0),sumV6(0);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0);
var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0);
sumV1 = 0;
sumV2 = 0;
sumV3 = 0;
sumV4 = 0;
sumV5 = 0;
sumV6 = 0;
for cnt = 0 to P6
{
if cnt < P1 Then
sumV1 = sumV1+DayClose(cnt);
if cnt < P2 Then
sumV2 = sumV2+DayClose(cnt);
if cnt < P3 Then
sumV3 = sumV3+DayClose(cnt);
if cnt < P4 Then
sumV4 = sumV4+DayClose(cnt);
if cnt < P5 Then
sumV5 = sumV5+DayClose(cnt);
if cnt < P6 Then
sumV6 = sumV6+DayClose(cnt);
}
maV1 = sumV1 / P1;
maV2 = sumV2 / P2;
maV3 = sumV3 / P3;
maV4 = sumV4 / P4;
maV5 = sumV5 / P5;
maV6 = sumV6 / P6;
if DayClose(P1-1) > 0 Then
plot1(mav1,"이평1");
if DayClose(P2-1) > 0 Then
plot2(mav2,"이평2");
if DayClose(P3-1) > 0 Then
plot3(mav3,"이평3");
if DayClose(P4-1) > 0 Then
plot4(mav4,"이평4");
if DayClose(P5-1) > 0 Then
plot5(mav5,"이평5");
if DayClose(P6-1) > 0 Then
plot6(mav6,"이평6");
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
Text_Delete(tx5);
Text_Delete(tx6);
if mav1 > 0 and 표시1 == 1 Then
tx1 = Text_New(nextbarsdate,nextbarstime,mav1,NumToStr(P1,0)+"일");
if mav2 > 0 and 표시2 == 1 Then
tx2 = Text_New(nextbarsdate,nextbarstime,mav2,NumToStr(P2,0)+"일");
if mav3 > 0 and 표시3 == 1 Then
tx3 = Text_New(nextbarsdate,nextbarstime,mav3,NumToStr(P3,0)+"일");
if mav4 > 0 and 표시4 == 1 Then
tx4 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P4,0)+"일");
if mav5 > 0 and 표시5 == 1 Then
tx5 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P5,0)+"일");
if mav6 > 0 and 표시6 == 1 Then
tx6 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P6,0)+"일");
#각 텍스트 좌우 상하 정렬
Text_SetStyle(tx1,0,2);
Text_SetStyle(tx2,0,2);
Text_SetStyle(tx3,0,2);
Text_SetStyle(tx4,0,2);
Text_SetStyle(tx5,0,2);
Text_SetStyle(tx6,0,2);
#각 텍스트 색상
Text_SetColor(tx1,색상1);
Text_SetColor(tx2,색상2);
Text_SetColor(tx3,색상3);
Text_SetColor(tx4,색상4);
Text_SetColor(tx5,색상5);
Text_SetColor(tx6,색상6);
#각 텍스트의 크기
Text_SetSize(tx1,크기1);
Text_SetSize(tx2,크기2);
Text_SetSize(tx3,크기3);
Text_SetSize(tx4,크기4);
Text_SetSize(tx5,크기5);
Text_SetSize(tx6,크기6);
5-3 주
input : P1(5),P2(10),P3(20),P4(60),P5(120),P6(200);
#표시는 1이면 표시, 0이면 표시안함
input : 표시1(1),표시2(1),표시3(1),표시4(1),표시5(1);
input : 표시6(1),표시7(1),표시8(1),표시9(1),표시10(1);
input : 표시11(1),표시12(1),표시13(1),표시14(1);
#크기
input : 크기1(1),크기2(1),크기3(1),크기4(1),크기5(1);
input : 크기6(1),크기7(1),크기8(1),크기9(1),크기10(1);
input : 크기11(1),크기12(1),크기13(1),크기14(1);
#색상
input : 색상1(gray),색상2(gray),색상3(gray),색상4(gray),색상5(gray);
input : 색상6(gray),색상7(gray),색상8(gray),색상9(gray),색상10(gray);
input : 색상11(gray),색상12(gray),색상13(gray),색상14(gray);
var : cnt(0),count(0);
var : sum1(0),sum2(0),sum3(0),sum4(0),sum5(0),sum6(0);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0);
var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0);
Array : CC[300](0);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then
{
for cnt = 299 downto 1
{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P1-1] > 0 Then
{
sum1 = 0;
for count = 0 to P1-1
{
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
plot1(mav1);
}
if CC[P2-1] > 0 Then
{
sum2 = 0;
for count = 0 to P2-1
{
sum2 = sum2+CC[count];
}
mav2 = sum2/P2;
plot2(mav2);
}
if CC[P3-1] > 0 Then
{
sum3 = 0;
for count = 0 to P3-1
{
sum3 = sum3+CC[count];
}
mav3 = sum3/P3;
plot3(mav3);
}
if CC[P4-1] > 0 Then
{
sum4 = 0;
for count = 0 to P4-1
{
sum4 = sum4+CC[count];
}
mav4 = sum4/P4;
plot4(mav4);
}
if CC[P5-1] > 0 Then
{
sum5 = 0;
for count = 0 to P5-1
{
sum5 = sum5+CC[count];
}
mav5 = sum5/P5;
plot5(mav5);
}
if CC[P6-1] > 0 Then
{
sum6 = 0;
for count = 0 to P6-1
{
sum6 = sum6+CC[count];
}
mav6 = sum6/P6;
plot6(mav6);
}
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
Text_Delete(tx5);
Text_Delete(tx6);
if mav1 > 0 and 표시1 == 1 Then
tx1 = Text_New(nextbarsdate,nextbarstime,mav1,NumToStr(P1,0)+"주");
if mav2 > 0 and 표시2 == 1 Then
tx2 = Text_New(nextbarsdate,nextbarstime,mav2,NumToStr(P2,0)+"주");
if mav3 > 0 and 표시3 == 1 Then
tx3 = Text_New(nextbarsdate,nextbarstime,mav3,NumToStr(P3,0)+"주");
if mav4 > 0 and 표시4 == 1 Then
tx4 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P4,0)+"주");
if mav5 > 0 and 표시5 == 1 Then
tx5 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P5,0)+"주");
if mav6 > 0 and 표시6 == 1 Then
tx6 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P6,0)+"주");
#각 텍스트 좌우 상하 정렬
Text_SetStyle(tx1,0,2);
Text_SetStyle(tx2,0,2);
Text_SetStyle(tx3,0,2);
Text_SetStyle(tx4,0,2);
Text_SetStyle(tx5,0,2);
Text_SetStyle(tx6,0,2);
#각 텍스트 색상
Text_SetColor(tx1,색상1);
Text_SetColor(tx2,색상2);
Text_SetColor(tx3,색상3);
Text_SetColor(tx4,색상4);
Text_SetColor(tx5,색상5);
Text_SetColor(tx6,색상6);
#각 텍스트의 크기
Text_SetSize(tx1,크기1);
Text_SetSize(tx2,크기2);
Text_SetSize(tx3,크기3);
Text_SetSize(tx4,크기4);
Text_SetSize(tx5,크기5);
Text_SetSize(tx6,크기6);
5-4 월
input : P1(5),P2(10),P3(20),P4(60),P5(120),P6(200);
#표시는 1이면 표시, 0이면 표시안함
input : 표시1(1),표시2(1),표시3(1),표시4(1),표시5(1);
input : 표시6(1),표시7(1),표시8(1),표시9(1),표시10(1);
input : 표시11(1),표시12(1),표시13(1),표시14(1);
#크기
input : 크기1(1),크기2(1),크기3(1),크기4(1),크기5(1);
input : 크기6(1),크기7(1),크기8(1),크기9(1),크기10(1);
input : 크기11(1),크기12(1),크기13(1),크기14(1);
#색상
input : 색상1(gray),색상2(gray),색상3(gray),색상4(gray),색상5(gray);
input : 색상6(gray),색상7(gray),색상8(gray),색상9(gray),색상10(gray);
input : 색상11(gray),색상12(gray),색상13(gray),색상14(gray);
var : cnt(0),count(0);
var : sum1(0),sum2(0),sum3(0),sum4(0),sum5(0),sum6(0);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0);
var : tx1(0),tx2(0),tx3(0),tx4(0),tx5(0),tx6(0);
Array : CC[300](0);
if Bdate > Bdate[1]+30 Then
{
for cnt = 299 downto 1
{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P1-1] > 0 Then
{
sum1 = 0;
for count = 0 to P1-1
{
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
plot1(mav1);
}
if CC[P2-1] > 0 Then
{
sum2 = 0;
for count = 0 to P2-1
{
sum2 = sum2+CC[count];
}
mav2 = sum2/P2;
plot2(mav2);
}
if CC[P3-1] > 0 Then
{
sum3 = 0;
for count = 0 to P3-1
{
sum3 = sum3+CC[count];
}
mav3 = sum3/P3;
plot3(mav3);
}
if CC[P4-1] > 0 Then
{
sum4 = 0;
for count = 0 to P4-1
{
sum4 = sum4+CC[count];
}
mav4 = sum4/P4;
plot4(mav4);
}
if CC[P5-1] > 0 Then
{
sum5 = 0;
for count = 0 to P5-1
{
sum5 = sum5+CC[count];
}
mav5 = sum5/P5;
plot5(mav5);
}
if CC[P6-1] > 0 Then
{
sum6 = 0;
for count = 0 to P6-1
{
sum6 = sum6+CC[count];
}
mav6 = sum6/P6;
plot6(mav6);
}
Text_Delete(tx1);
Text_Delete(tx2);
Text_Delete(tx3);
Text_Delete(tx4);
Text_Delete(tx5);
Text_Delete(tx6);
if mav1 > 0 and 표시1 == 1 Then
tx1 = Text_New(nextbarsdate,nextbarstime,mav1,NumToStr(P1,0)+"월");
if mav2 > 0 and 표시2 == 1 Then
tx2 = Text_New(nextbarsdate,nextbarstime,mav2,NumToStr(P2,0)+"월");
if mav3 > 0 and 표시3 == 1 Then
tx3 = Text_New(nextbarsdate,nextbarstime,mav3,NumToStr(P3,0)+"월");
if mav4 > 0 and 표시4 == 1 Then
tx4 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P4,0)+"월");
if mav5 > 0 and 표시5 == 1 Then
tx5 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P5,0)+"월");
if mav6 > 0 and 표시6 == 1 Then
tx6 = Text_New(nextbarsdate,nextbarstime,mav4,NumToStr(P6,0)+"월");
#각 텍스트 좌우 상하 정렬
Text_SetStyle(tx1,0,2);
Text_SetStyle(tx2,0,2);
Text_SetStyle(tx3,0,2);
Text_SetStyle(tx4,0,2);
Text_SetStyle(tx5,0,2);
Text_SetStyle(tx6,0,2);
#각 텍스트 색상
Text_SetColor(tx1,색상1);
Text_SetColor(tx2,색상2);
Text_SetColor(tx3,색상3);
Text_SetColor(tx4,색상4);
Text_SetColor(tx5,색상5);
Text_SetColor(tx6,색상6);
#각 텍스트의 크기
Text_SetSize(tx1,크기1);
Text_SetSize(tx2,크기2);
Text_SetSize(tx3,크기3);
Text_SetSize(tx4,크기4);
Text_SetSize(tx5,크기5);
Text_SetSize(tx6,크기6);
즐거운 하루되세요
> chochobo 님이 쓴 글입니다.
> 제목 : 재문의 드립니다.
>
80461 에서
1-1. 차트상에 출력되는 텍스트(당일시가, 당일고가 등등)가 선의 색깔과 동일하게 표시하려면 어떻게 해야 되는건가요?
예를들어,
"당일시가"를 빨간색 선으로 출력하게끔 선택하면..
"당일시가"라는 텍스트가 차트에 표시될때 빨간색 글자로 표시
1-2. 아울러 차트의 y축(수치표시영역)에 지표의 텍스트를 위치 시킬수는 없는 건가요?
1-3. "당일시가"의 값은 선으로 출력하되, "당일시가"라는 텍스트만 출력여부를 제가 임의로 선택여부를 결정할 수 있게 할 수 있을가요?
즉, "당일시가"라는 텍스트와 선을 구별하여 임의로 제가 선택여부를 결정하는 방법이 있을까요?
1-4. 끝으로, 텍스트의 크기와 위치를 조절하는 방법이 있다면 함께 알고 싶습니다 ^^