예스스탁
예스스탁 답변
2023-02-16 11:42:42
안녕하세요
예스스탁입니다.
input:length(6),글자크기(14),라인표시(1);#라인표시0으면 표시안함
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),
Text1(0),처리구분(""),t(0),text2(0);
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],
NumToStr((고점[1,1]-저점[1,1]),2)+NewLine+ NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
Text_SetSize(text1,12);
Text_SetColor(text1,Blue);
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],
NumToStr((고점[1,1]-저점[1,1]),2)+NewLine+
NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
Text_SetSize(text1,글자크기);
Text_SetColor(text1,Red);
}
}
TL_SetSize(TL1,2);
TL_SetColor(TL1,LightGray);
var : text3(0),text4(0),text5(0),text6(0),text7(0),text8(0),text9(0);
var : Endval(0),폭(0),간격(0);
Text_Delete(text2);
Text_Delete(text3);
Text_Delete(text4);
Text_Delete(text5);
Text_Delete(text6);
Text_Delete(text7);
Text_Delete(text8);
Text_Delete(text9);
if T == 1 Then
{
Endval = TL_GetEndVal(TL1);
폭 = abs(고점[1,1]-저점[1,1]);
간격 = round(폭*0.125,3);#폭의 12.5%
Text2 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*1," 2["+NumToStr(간격*1,2)+"]="+NumToStr(EndVal-간격*1,2));
Text3 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*2," 3["+NumToStr(간격*2,2)+"]="+NumToStr(EndVal-간격*2,2));
Text4 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*3," 4["+NumToStr(간격*3,2)+"]="+NumToStr(EndVal-간격*3,2));
Text5 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*4," 5["+NumToStr(간격*4,2)+"]="+NumToStr(EndVal-간격*4,2));
Text6 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*5," 6["+NumToStr(간격*5,2)+"]="+NumToStr(EndVal-간격*5,2));
Text7 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*6," 7["+NumToStr(간격*6,2)+"]="+NumToStr(EndVal-간격*6,2));
Text8 = Text_New(sDate[eBar],sTime[eBar],EndVal-간격*7," 8["+NumToStr(간격*7,2)+"]="+NumToStr(EndVal-간격*7,2));
Text_SetStyle(Text2,0,2) ;
Text_SetStyle(Text3,0,2) ;
Text_SetStyle(Text4,0,2) ;
Text_SetStyle(Text5,0,2) ;
Text_SetStyle(Text6,0,2) ;
Text_SetStyle(Text7,0,2) ;
Text_SetStyle(Text8,0,2) ;
if 라인표시 == 1 Then
{
Plot1(EndVal-간격*1);
Plot2(EndVal-간격*2);
Plot3(EndVal-간격*3);
Plot4(EndVal-간격*4);
Plot5(EndVal-간격*5);
Plot6(EndVal-간격*6);
Plot7(EndVal-간격*7);
}
}
Else
{
Endval = TL_GetEndVal(TL1);
폭 = abs(고점[1,1]-저점[1,1]);
간격 = 폭*0.125;
Text2 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*7," 8["+NumToStr(간격*7,2)+"]="+NumToStr(EndVal+간격*7,2));
Text3 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*6," 7["+NumToStr(간격*6,2)+"]="+NumToStr(EndVal+간격*6,2));
Text4 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*5," 6["+NumToStr(간격*5,2)+"]="+NumToStr(EndVal+간격*5,2));
Text5 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*4," 5["+NumToStr(간격*4,2)+"]="+NumToStr(EndVal+간격*4,2));
Text6 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*3," 4["+NumToStr(간격*3,2)+"]="+NumToStr(EndVal+간격*3,2));
Text7 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*2," 3["+NumToStr(간격*2,2)+"]="+NumToStr(EndVal+간격*2,2));
Text8 = Text_New(sDate[eBar],sTime[eBar],EndVal+간격*1," 2["+NumToStr(간격*1,2)+"]="+NumToStr(EndVal+간격*1,2));
Text_SetStyle(Text2,0,2) ;
Text_SetStyle(Text3,0,2) ;
Text_SetStyle(Text4,0,2) ;
Text_SetStyle(Text5,0,2) ;
Text_SetStyle(Text6,0,2) ;
Text_SetStyle(Text7,0,2) ;
Text_SetStyle(Text8,0,2) ;
if 라인표시 == 1 Then
{
Plot1(EndVal+간격*1);
Plot2(EndVal+간격*2);
Plot3(EndVal+간격*3);
Plot4(EndVal+간격*4);
Plot5(EndVal+간격*5);
Plot6(EndVal+간격*6);
Plot7(EndVal+간격*7);
}
}
Text_SetSize(text2,10);
Text_SetSize(text3,10);
Text_SetSize(text4,10);
Text_SetSize(text5,10);
Text_SetSize(text6,10);
Text_SetSize(text7,10);
Text_SetSize(text8,10);
즐거운 하루되세요.
> 호정0688 님이 쓴 글입니다.
> 제목 : 지표
> 항상감사합니다.
수식감사합니다.
80793
저+25.0%:317.70
저+12.5%:317.63
진동폭82.75라면
챠트상표시는[진동폭/8.75의값]= + 2[72.43]=4176.17
[진동폭/7.50의값]= + 3[62.08]=4165.82
[진동폭/6.25의값]= + 4[51.73]=4155.48
[진동폭/5.00의값]= =5[41.38]=4145.13
[진동폭/3.75의값]= -4[31.04]=4134.78
[진동폭/2.50의값]= -3[20,69]=4207.19
[진동폭/1.25의값]= -2[10.35]=4196.85
1.25%=10.35입니다.
82.75의 8등분된 진동폭 표시입니다.
저+1.25.0%:대신
1]진동폭[10.35]표시가능할까요!
부탁드립니다.
챠트상표시는 2[72.43]=4176.17
3[62.08]=4165.82
4[51.73]=4155.48
5[41.38]=4145.13
6[31.04]=4134.78
7[20,69]=4207.19
8[10.35]=4196.85
2]속성에서 라인표시가능부탁드립니다
지금은 라인이 없어서 채우기를 활용할수가 없어서요