예스스탁
예스스탁 답변
2020-04-22 13:30:04
안녕하세요
예스스탁입니다.
올리신 수식1은 매봉 지표가 그려지는 수식입니다.
plot1과 plot2의 동작이 어떤 의미인지 알수 없습니다.
또한 수식2도 차트에 그려지는 모든 선이 추세선으로 그려지는 내용입니다.
여러 추세선 중에 어떤 추세선이 직전봉에만 있어야 하는지 알수 없습니다.
좀더 자세한 내용을 올려주시기 바랍니다/
즐거운 하루되세요
> 새벽에 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요?
아래수식의 plot1과plot2가 작동할시 직전봉에만 추세선이있을시만 알림음을받고싶습니다
도움주셔서 감사합니다
1.
Input : af(0.02), maxAF(0.2);
var1 = SAR(af,maxAF);
if crossup(c,var1) Then
{
value1 = var1;
}
if CrossDown(c,var1) Then
{
value2 = var1;
}
plot1(value1);
plot2(value2);
2.
input : Left(5),right(5),표시소숫점자리(2),굵기(1),연장(0);
var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0);
Array : SHD[5](0),SHT[5](0),SHV[5](0),SHTL[100](0),SHTX[100](0);
Array : SLD[5](0),SLT[5](0),SLV[5](0),SLTL[100](0),SLTX[100](0);
if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 then
{
var2 = 0;
var1 = var1+1;
if var1 == 1 then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
for cnt = 1 to 4
{
SHD[cnt] = SHD[cnt-1][1];
SHT[cnt] = SHT[cnt-1][1];
SHV[cnt] = SHV[cnt-1][1];
}
if SLV[0] > 0 Then
{
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,red);
}
if SHV[1] > 0 Then
{
#TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
TL_SetSize(HTL1,굵기);
}
}
if var1 >= 2 and H[right] > SHV[0] then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
if SLV[0] > 0 Then
{
TL_Delete(TL);
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,red);
}
if SHV[1] > 0 Then
{
#TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
TL_SetSize(HTL1,굵기);
}
}
SHTL[0] = TL_New(sdate[right],stime[right],H[right],sdate,stime,H[right]);
TL_SetColor(SHTL[0],RED);
TL_SetSize(SHTL[0],굵기);
SHTX[0] = Text_New(sdate,stime,H[right],NumToStr(H[right],표시소숫점자리));
Text_SetColor(SHTX[0],RED);
Text_SetStyle(SHTX[0],2,1);
for cnt = 1 to 99
{
SHTL[cnt] = SHTL[cnt-1][1];
SHTX[cnt] = SHTX[cnt-1][1];
}
}
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 then
{
#plot2(L,"2",blue);
var1 = 0;
var2 = var2+1;
if var2 == 1 then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
for cnt = 1 to 4
{
SLD[cnt] = SLD[cnt-1][1];
SLT[cnt] = SLT[cnt-1][1];
SLV[cnt] = SLV[cnt-1][1];
}
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,BLUE);
}
if SLV[1] > 0 Then
{
#TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
TL_SetSize(LTL1,굵기);
}
}
if var2 >= 2 and L[right] < SLV[0] then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
TL_Delete(TL);
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,blue);
}
if SLV[1] > 0 Then
{
#TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
TL_SetSize(LTL1,굵기);
}
}
SLTL[0] = TL_New(sdate[right],stime[right],L[right],sdate,stime,L[right]);
TL_SetColor(SLTL[0],BLUE);
TL_SetSize(SLTL[0],굵기);
SLTX[0] = Text_New(sdate,stime,L[right],NumToStr(L[right],표시소숫점자리));
Text_SetColor(SLTX[0],BLUE);
Text_SetStyle(SLTX[0],2,0);
for cnt = 1 to 99
{
SLTL[cnt] = SLTL[cnt-1][1];
SLTX[cnt] = SLTX[cnt-1][1];
}
}
for cnt = 0 to 99
{
if SHTL[cnt] > 0 then
{
TL_SetEnd(SHTL[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
if H >= TL_GetBeginVal(SHTL[cnt]) Then
SHTL[cnt] = 연장;
}
if SLTL[cnt] > 0 then
{
TL_SetEnd(SLTL[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
if L <= TL_GetBeginVal(SLTL[cnt]) Then
SLTL[cnt] = 연장;
}
if SHTL[cnt] > 0 Then
{
Text_SetLocation(SHTX[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
}
if SLTL[cnt] > 0 Then
{
Text_SetLocation(SLTX[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
}
}
예스스탁
예스스탁 답변
2020-04-22 14:02:33
안녕하세요
예스스탁입니다.
수식2의 추세선은 후행적으로 그려지는 선입니다.
고점은 일정봉갯수 상숭후에 일정봉갯수 하락
저점은 일장봉갯수 하락후에 일정봉갯수 상승할때 판단이 되므로
첨부하신 그림에서 고점 바로 다음봉에서는 실제로는 해당 고저점이 없습니다.
고점이나 저점이 그려진 봉을 기준으로 5봉 뒤에 최초 고점/저점이 확인되는 봉입니다.
고점저점이 확인된 봉에서 수식1의 plot1이나 plot2의 값이 변경이 있으면 소리를 출력하게 작성해 드립니다.
소리출력함수(playsound)는 함수내에 지정한 경로의 wav파일이 구동됩니다.
아래는 예스트레이더에 기본으로 제공되는 wav파일을 지정했습니다.
원하시는 wav파일의 경로와 이름으로 수정하시기 바랍니다.
게시판에서 식을 복사할 경우 경로명 중 ₩의 폰트가 깨질수 있으므로
₩는 다시 타이핑하시기 바랍니다.
input : Left(5),right(5),표시소숫점자리(2),굵기(1),연장(0);
var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0);
Array : SHD[5](0),SHT[5](0),SHV[5](0),SHTL[100](0),SHTX[100](0);
Array : SLD[5](0),SLT[5](0),SLV[5](0),SLTL[100](0),SLTX[100](0);
Input : af(0.02), maxAF(0.2);
var : sarv(0);
sarv = SAR(af,maxAF);
if crossup(c,sarv) Then
{
value1 = var1;
}
if CrossDown(c,var1) Then
{
value2 = sarv;
}
if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 then
{
if (value1 != value1[1] or value2 != value2[1]) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
var2 = 0;
var1 = var1+1;
if var1 == 1 then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
for cnt = 1 to 4
{
SHD[cnt] = SHD[cnt-1][1];
SHT[cnt] = SHT[cnt-1][1];
SHV[cnt] = SHV[cnt-1][1];
}
if SLV[0] > 0 Then
{
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,red);
}
if SHV[1] > 0 Then
{
#TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
TL_SetSize(HTL1,굵기);
}
}
if var1 >= 2 and H[right] > SHV[0] then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
if SLV[0] > 0 Then
{
TL_Delete(TL);
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,red);
}
if SHV[1] > 0 Then
{
#TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
TL_SetSize(HTL1,굵기);
}
}
SHTL[0] = TL_New(sdate[right],stime[right],H[right],sdate,stime,H[right]);
TL_SetColor(SHTL[0],RED);
TL_SetSize(SHTL[0],굵기);
SHTX[0] = Text_New(sdate,stime,H[right],NumToStr(H[right],표시소숫점자리));
Text_SetColor(SHTX[0],RED);
Text_SetStyle(SHTX[0],2,1);
for cnt = 1 to 99
{
SHTL[cnt] = SHTL[cnt-1][1];
SHTX[cnt] = SHTX[cnt-1][1];
}
}
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 then
{
if (value1 != value1[1] or value2 != value2[1]) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
#plot2(L,"2",blue);
var1 = 0;
var2 = var2+1;
if var2 == 1 then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
for cnt = 1 to 4
{
SLD[cnt] = SLD[cnt-1][1];
SLT[cnt] = SLT[cnt-1][1];
SLV[cnt] = SLV[cnt-1][1];
}
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,BLUE);
}
if SLV[1] > 0 Then
{
#TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
TL_SetSize(LTL1,굵기);
}
}
if var2 >= 2 and L[right] < SLV[0] then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
TL_Delete(TL);
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,blue);
}
if SLV[1] > 0 Then
{
#TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
TL_SetSize(LTL1,굵기);
}
}
SLTL[0] = TL_New(sdate[right],stime[right],L[right],sdate,stime,L[right]);
TL_SetColor(SLTL[0],BLUE);
TL_SetSize(SLTL[0],굵기);
SLTX[0] = Text_New(sdate,stime,L[right],NumToStr(L[right],표시소숫점자리));
Text_SetColor(SLTX[0],BLUE);
Text_SetStyle(SLTX[0],2,0);
for cnt = 1 to 99
{
SLTL[cnt] = SLTL[cnt-1][1];
SLTX[cnt] = SLTX[cnt-1][1];
}
}
for cnt = 0 to 99
{
if SHTL[cnt] > 0 then
{
TL_SetEnd(SHTL[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
if H >= TL_GetBeginVal(SHTL[cnt]) Then
SHTL[cnt] = 연장;
}
if SLTL[cnt] > 0 then
{
TL_SetEnd(SLTL[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
if L <= TL_GetBeginVal(SLTL[cnt]) Then
SLTL[cnt] = 연장;
}
if SHTL[cnt] > 0 Then
{
Text_SetLocation(SHTX[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
}
if SLTL[cnt] > 0 Then
{
Text_SetLocation(SLTX[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
}
}
즐거운 하루되세요
> 새벽에 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다
> 사진과같이 추세선이 직전봉에 형성되있을시만 plot1이나 plot2가작동시 소리음을 듣고싶습니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다
>
안녕하세요
예스스탁입니다.
올리신 수식1은 매봉 지표가 그려지는 수식입니다.
plot1과 plot2의 동작이 어떤 의미인지 알수 없습니다.
또한 수식2도 차트에 그려지는 모든 선이 추세선으로 그려지는 내용입니다.
여러 추세선 중에 어떤 추세선이 직전봉에만 있어야 하는지 알수 없습니다.
좀더 자세한 내용을 올려주시기 바랍니다/
즐거운 하루되세요
> 새벽에 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요?
아래수식의 plot1과plot2가 작동할시 직전봉에만 추세선이있을시만 알림음을받고싶습니다
도움주셔서 감사합니다
1.
Input : af(0.02), maxAF(0.2);
var1 = SAR(af,maxAF);
if crossup(c,var1) Then
{
value1 = var1;
}
if CrossDown(c,var1) Then
{
value2 = var1;
}
plot1(value1);
plot2(value2);
2.
input : Left(5),right(5),표시소숫점자리(2),굵기(1),연장(0);
var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0);
Array : SHD[5](0),SHT[5](0),SHV[5](0),SHTL[100](0),SHTX[100](0);
Array : SLD[5](0),SLT[5](0),SLV[5](0),SLTL[100](0),SLTX[100](0);
if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 then
{
var2 = 0;
var1 = var1+1;
if var1 == 1 then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
for cnt = 1 to 4
{
SHD[cnt] = SHD[cnt-1][1];
SHT[cnt] = SHT[cnt-1][1];
SHV[cnt] = SHV[cnt-1][1];
}
if SLV[0] > 0 Then
{
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,red);
}
if SHV[1] > 0 Then
{
#TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
TL_SetSize(HTL1,굵기);
}
}
if var1 >= 2 and H[right] > SHV[0] then
{
SHD[0] = sdate[right];
SHT[0] = stime[right];
SHV[0] = H[right];
if SLV[0] > 0 Then
{
TL_Delete(TL);
TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,red);
}
if SHV[1] > 0 Then
{
#TL_Delete(HTL1);
HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]);
TL_SetColor(HTL1,RED);
TL_SetSize(HTL1,굵기);
}
}
SHTL[0] = TL_New(sdate[right],stime[right],H[right],sdate,stime,H[right]);
TL_SetColor(SHTL[0],RED);
TL_SetSize(SHTL[0],굵기);
SHTX[0] = Text_New(sdate,stime,H[right],NumToStr(H[right],표시소숫점자리));
Text_SetColor(SHTX[0],RED);
Text_SetStyle(SHTX[0],2,1);
for cnt = 1 to 99
{
SHTL[cnt] = SHTL[cnt-1][1];
SHTX[cnt] = SHTX[cnt-1][1];
}
}
if SwingLow(1,L,Left,Right,Left+Right+1) != -1 then
{
#plot2(L,"2",blue);
var1 = 0;
var2 = var2+1;
if var2 == 1 then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
for cnt = 1 to 4
{
SLD[cnt] = SLD[cnt-1][1];
SLT[cnt] = SLT[cnt-1][1];
SLV[cnt] = SLV[cnt-1][1];
}
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,BLUE);
}
if SLV[1] > 0 Then
{
#TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
TL_SetSize(LTL1,굵기);
}
}
if var2 >= 2 and L[right] < SLV[0] then
{
SLD[0] = sdate[right];
SLT[0] = stime[right];
SLV[0] = L[right];
TL_Delete(TL);
if SHV[0] > 0 Then
{
TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]);
TL_SetSize(TL,굵기);
TL_SetColor(TL,blue);
}
if SLV[1] > 0 Then
{
#TL_Delete(LTL1);
LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]);
TL_SetColor(LTL1,BLUE);
TL_SetSize(LTL1,굵기);
}
}
SLTL[0] = TL_New(sdate[right],stime[right],L[right],sdate,stime,L[right]);
TL_SetColor(SLTL[0],BLUE);
TL_SetSize(SLTL[0],굵기);
SLTX[0] = Text_New(sdate,stime,L[right],NumToStr(L[right],표시소숫점자리));
Text_SetColor(SLTX[0],BLUE);
Text_SetStyle(SLTX[0],2,0);
for cnt = 1 to 99
{
SLTL[cnt] = SLTL[cnt-1][1];
SLTX[cnt] = SLTX[cnt-1][1];
}
}
for cnt = 0 to 99
{
if SHTL[cnt] > 0 then
{
TL_SetEnd(SHTL[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
if H >= TL_GetBeginVal(SHTL[cnt]) Then
SHTL[cnt] = 연장;
}
if SLTL[cnt] > 0 then
{
TL_SetEnd(SLTL[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
if L <= TL_GetBeginVal(SLTL[cnt]) Then
SLTL[cnt] = 연장;
}
if SHTL[cnt] > 0 Then
{
Text_SetLocation(SHTX[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt]));
}
if SLTL[cnt] > 0 Then
{
Text_SetLocation(SLTX[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt]));
}
}