예스스탁
예스스탁 답변
2023-04-24 17:11:42
안녕하세요
예스스탁입니다.
첨부된 그림과 같이
지표 2개를 적용하시고 다른 지표로 옮기실때
Y축표시방법에서 다음항목과 공유를 선택하시고
지표명을 지정해 주시면 됩니다.
즐거운 하루되세요
> bestkim 님이 쓴 글입니다.
> 제목 : y축일치
> 안녕하세요 아래 2가지 지표식을 동일차트에서 구현하는데 두 지표식의 Y축 지표값이 일치하지 않아서 따로 따로 작동하는데 두 지표식의 y축값을 일치 시킬 수 있는 방법을 문의드립니다
참고로 2지표식을 한 지표식으로 만들면 너무 양이 많아서 동작이 잘 안될때가 많아서 따로 분리해서 많들었습니다
지표식1:
Input: Period1(1),Period2(2);
Variables: TLen1(0),TRIma1(0);
TLen1 = Ceiling((Period1 + 1) * .5);
TRIma1 =Ema(Ema(C, TLen1), TLen1);
var5 = bids-asks;#잔량차(매수호가잔량-매도호가잔량)
plot1(Var5[1],"O일자",Yellow,Def,0);
if TRIma1 >= H[1] Then
plot2(Var5[1]+200,"O일자",White,Def,0);
Else
NoPlot(2);
if TRIma1 >= H[1] Then
plot3(Var5[1]+400,"O일자",White,Def,0);
Else
NoPlot(3);
if TRIma1 >= H[1] Then
plot4(Var5[1]+600,"O일자",White,Def,0);
Else
NoPlot(4);
if TRIma1 >= H[1] Then
plot5(Var5[1]+800,"O일자",White,Def,0);
Else
NoPlot(5);
if TRIma1 >= H[1] Then
plot6(Var5[1]+1000,"O일자",White,Def,0);
Else
NoPlot(6);
if TRIma1 >= H[1] Then
plot7(Var5[1]+1200,"O일자",White,Def,0);
Else
NoPlot(7);
if TRIma1 >= H[1] Then
plot8(Var5[1]+1400,"O일자",White,Def,0);
Else
NoPlot(8);
if TRIma1 >= H[1] Then
plot9(Var5[1]+1600,"O일자",White,Def,0);
Else
NoPlot(9);
if TRIma1 <= L[1] Then
plot12(Var5[1]-200,"O일자",White,Def,0);
Else
NoPlot(12);
if TRIma1 <= L[1] Then
plot14(Var5[1]-400,"O일자",White,Def,0);
Else
NoPlot(14);
if TRIma1 <= L[1] Then
plot15(Var5[1]-600,"O일자",White,Def,0);
Else
NoPlot(15);
if TRIma1 <= L[1] Then
plot16(Var5[1]-800,"O일자",White,Def,0);
Else
NoPlot(16);
if TRIma1 <= L[1] Then
plot17(Var5[1]-1000,"O일자",White,Def,0);
Else
NoPlot(17);
if TRIma1 <= L[1] Then
plot18(Var5[1]-1200,"O일자",White,Def,0);
Else
NoPlot(18);
if TRIma1 <= L[1] Then
plot19(Var5[1]-1400,"O일자",White,Def,0);
Else
NoPlot(19);
if TRIma1 <= L[1] Then
plot20(Var5[1]-1600,"O일자",White,Def,0);
Else
NoPlot(20);
지표식2:
#==========================================#
# 지 표 명 : 고저라인 지그재그 파동선
# 버 전 : 1.2
# 작 성 자 : 수식지왕
# 블 로 그 : http://yahoosir.blog.me
# 업데이트 : 2017-03-10
#==========================================#
Input: Period1(1),length(2),종가사용여부(0),파동선두께(2),수치표시(1);
Variables: TLen1(0),TRIma1(0),j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
TLen1 = Ceiling((Period1 + 1) * .5);
TRIma1 =Ema(Ema(C, TLen1), TLen1);
var5 = bids-asks;#잔량차(매수호가잔량-매도호가잔량)
var1 = 고[1,1] - var5 ;
var2 = var5 - 저[1,1] ;
HH = Var5;
LL = Var5;
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,RED);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2));
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLUE);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2));
}
}
최종꼭지점 = "저점";
}
plot1(고[1,1],"고일자",iff(H<H[1],rgb(0,255,0),White),DEf,IFf(Var5 < Var5[1] ,8,0));
plot2(저[1,1],"저일자",iff(L>L[1],Magenta,Black),DEf,IFf(Var5 > Var5[1],8,0));
if Var5 >Var5[1] Then
plot3(Var5,"호가선",Red,DEF,IFf(TRIma1 >= H[1] and TRIma1 == H,1,0));
Else
plot3(Var5,"호가선",Blue,DEF,IFf( TRIma1 <= L[1] and TRIma1 == L,1,0));
if Var5 >Var5[1] Then
plot11(Var5,"호가상일자",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,IFF(TRIma1 >= H[1] and TRIma1 == H,3,1));
Else
NoPlot(11);
If Var5 > Var5[1] and TRIma1 > H[1] and TRIma1 == H Then
plot19(Var5, "속1=H일자",Yellow,DEF,1);
Else
NoPlot(19);
if Var5 <Var5[1] Then
plot34(Var5,"호가하일자",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,IFF(TRIma1 <= L[1] and TRIma1 == L,3,1));
Else
NoPlot(34);
If Var5 < Var5[1] and TRIma1 < L[1] and TRIma1 == L Then
plot35(Var5, "속1=L일자",Cyan,DEF,1);
Else
NoPlot(35);
If Var5 <Var5[1] Then
plot4(고[1,1]-((고[1,1]-Var5)*1/8), "하1/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,11,4));
Else
NoPlot(4);
If Var5 <Var5[1] Then
plot5(고[1,1]-((고[1,1]-Var5)*2/8), "하2/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,10,4));
Else
NoPlot(5);
If Var5 <Var5[1] Then
plot6(고[1,1]-((고[1,1]-Var5)*3/8), "하3/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,9,4));
Else
NoPlot(6);
If Var5 <Var5[1] Then
plot7(고[1,1]-((고[1,1]-Var5)*4/8), "하4/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,8,4));
Else
NoPlot(7);
If Var5 <Var5[1] Then
plot8(고[1,1]-((고[1,1]-Var5)*5/8), "하5/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,7,4));
Else
NoPlot(8);
If Var5 <Var5[1] Then
plot9(고[1,1]-((고[1,1]-Var5)*6/8), "하6/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,6,4));
Else
NoPlot(9);
If Var5 <Var5[1] Then
plot10(고[1,1]-((고[1,1]-Var5)*7/8), "하7/8점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,iff(TRIma1 <= L[1] and TRIma1 == L,5,4));
Else
NoPlot(10);
If Var5 >Var5[1] Then
plot12(저[1,1]+((Var5-저[1,1])*1/8), "상1/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,11,4));
Else
NoPlot(12);
If Var5 >Var5[1] Then
plot13(저[1,1]+((Var5-저[1,1])*2/8), "상2/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,10,4));
Else
NoPlot(13);
If Var5 >Var5[1] Then
plot14(저[1,1]+((Var5-저[1,1])*3/8), "상3/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,9,4));
Else
NoPlot(14);
If Var5 >Var5[1] Then
plot15(저[1,1]+((Var5-저[1,1])*4/8), "상4/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,8,4));
Else
NoPlot(15);
If Var5 >Var5[1] Then
plot16(저[1,1]+((Var5-저[1,1])*5/8), "상5/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,7,4));
Else
NoPlot(16);
If Var5 >Var5[1] Then
plot17(저[1,1]+((Var5-저[1,1])*6/8), "상6/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,6,4));
Else
NoPlot(17);
If Var5 >Var5[1] Then
plot18(저[1,1]+((Var5-저[1,1])*7/8), "상7/8점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,iff(TRIma1 >= H[1] and TRIma1 == H,5,4));
Else
NoPlot(18);
If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then
plot20(저[1,1]+((Var5-저[1,1])*7/8), "속1>=H점",Yellow,DEF,2);
Else
NoPlot(20);
If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then
plot21(저[1,1]+((Var5-저[1,1])*6/8), "속1>=H점",Yellow,DEF,3);
Else
NoPlot(21);
If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then
plot22(저[1,1]+((Var5-저[1,1])*5/8), "속1>=H점",Yellow,DEF,4);
Else
NoPlot(22);
If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then
plot23(저[1,1]+((Var5-저[1,1])*4/8), "속1>=H점",Yellow,DEF,5);
Else
NoPlot(23);
If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then
plot24(저[1,1]+((Var5-저[1,1])*3/8), "속1>=H점",Yellow,DEF,6);
Else
NoPlot(24);
If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then
plot25(저[1,1]+((Var5-저[1,1])*2/8), "속1>=H점",Yellow,DEF,7);
Else
NoPlot(25);
If Var5 >Var5[1] and TRIma1 > H[1] and TRIma1 == H Then
plot26(저[1,1]+((Var5-저[1,1])*1/8), "속1>=H점",Yellow,DEF,8);
Else
NoPlot(26);
If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then
plot27(고[1,1]-((고[1,1]-Var5)*7/8), "속1<=L점",Cyan,DEF,2);
Else
NoPlot(27);
If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then
plot28(고[1,1]-((고[1,1]-Var5)*6/8), "속1<=L점",Cyan,DEF,3);
Else
NoPlot(28);
If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then
plot29(고[1,1]-((고[1,1]-Var5)*5/8), "속1<=L점",Cyan,DEF,4);
Else
NoPlot(29);
If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then
plot30(고[1,1]-((고[1,1]-Var5)*4/8), "속1<=L점",Cyan,DEF,5);
Else
NoPlot(30);
If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then
plot31(고[1,1]-((고[1,1]-Var5)*3/8), "속1<=L점",Cyan,DEF,6);
Else
NoPlot(31);
If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then
plot32(고[1,1]-((고[1,1]-Var5)*2/8), "속1<=L점",Cyan,DEF,7);
Else
NoPlot(32);
If Var5 <Var5[1] and TRIma1 < L[1] and TRIma1 == L Then
plot33(고[1,1]-((고[1,1]-Var5)*1/8), "속1<=L점",Cyan,DEF,8);
Else
NoPlot(33);
If Var5 > Var5[1] Then
Plot37(Var5,"호가1점",iff(TRIma1 >= H[1] and TRIma1 == H,red,Rgb(255,94,0)),DEF,4);
Else
NoPlot(37);
If Var5 < Var5[1] Then
Plot36(Var5,"호가1점",iff(TRIma1 <= L[1] and TRIma1 == L,Blue,Rgb(54,138,255)),DEF,4);
Else
NoPlot(36);
If Var5 > Var5[1] Then
Plot38(Var5,"호가속상점",Yellow,DEF,IFF(TRIma1 > H[1] and TRIma1 == H,2,0));
Else
NoPlot(38);
If Var5 < Var5[1] Then
Plot39(Var5,"호가1속하점",Cyan,DEF,IFF(TRIma1 < L[1] and TRIma1 == L,2,0));
Else
NoPlot(39);