예스스탁
예스스탁 답변
2022-02-21 16:21:34
안녕하세요
예스스탁입니다.
매일표시되면서 일간으로 초기화하게 작성해 드리기 어렵습니다.
수식을 당일 첫봉부터 계산되어 표시되게 수정해 드립니다.
이전일에는 표시되지 않습니다.
Input: Length(5),굵(1),별(0),별1(0);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),tx1(0),tx2(0),tx3(0),tx4(0),s(0);
Array:고[10,4](0),저[10,4](0);
HH = H;
LL = L;
if sDate == CurrentDate Then
{
If Bdate != Bdate[1] 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]);
TL_SetColor(TL1,YELLOW);
TL_SetSize(tl1,굵);
if 고[4,1] > 0 and 고[4,1] < 고[3,1] and 고[3,1] > 고[2,1] Then
{
var1 = abs(고[3,1]-저[2,1]);
tx1 = Text_New(저[1,3],저[1,4],저[1,1]+var1,"★");
tx2 = Text_New(저[1,3],저[1,4],저[1,1]-var1,"★");
Text_SetStyle(tx1,2,2);
Text_SetStyle(tx2,2,2);
Text_SetColor(tx1,BLUE);
Text_SetColor(tx2,BLUE);
Text_SetSize(tx1,별);
Text_SetSize(tx2,별);
}
S = 0;
if 저[3,1] > 0 and 저[3,1] > 저[2,1] and 저[2,1] < 저[1,1] Then
{
S = -1;
tx4 = Text_New(저[1,3],저[1,4],저[1,1],"▲");
Text_SetStyle(tx4,2,0);
Text_SetColor(tx4,RED);
Text_SetSize(tx4,별1);
PlaySound("C:예스트레이더dataSound1point.wav");
}
}
Else If 고[1,1] < HH Then
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
}
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]);
TL_SetColor(TL1,CYAN);
TL_SetSize(tl1,굵);
if 저[4,1] > 0 and 저[4,1] > 저[3,1] and 저[3,1] < 저[2,1] Then
{
var1 = abs(저[3,1]-고[2,1]);
tx1 = Text_New(고[1,3],고[1,4],고[1,1]+var1,"★");
tx2 = Text_New(고[1,3],고[1,4],고[1,1]-var1,"★");
Text_SetStyle(tx1,2,2);
Text_SetStyle(tx2,2,2);
Text_SetColor(tx1,MAGENTA);
Text_SetColor(tx2,MAGENTA);
Text_SetSize(tx1,별);
Text_SetSize(tx2,별);
}
S = 0;
if 고[3,1] > 0 and 고[3,1] < 고[2,1] and 고[2,1] > 고[1,1] Then
{
S = 1;
tx3 = Text_New(고[1,3],고[1,4],고[1,1],"▼");
Text_SetStyle(tx3,2,1);
Text_SetColor(tx3,BLUE);
PlaySound("C:예스트레이더dataSound1point.wav");
Text_SetSize(tx3,별1);
}
}
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]);
}
최종꼭지점 = "저점";
}
}
즐거운 하루되세요
> 크라켄 님이 쓴 글입니다.
> 제목 : 수정부탁드립니다
> $,안녕하세요
계속되는 질문에 송구하고,답변에 항상 감사합니다
아래식에서 조건만족 적용 기간을 장종료후 초기화되어서 당일조건에 한해서 적용되게
수정부탁드립니다.현재식은 전일과 당일포함해서 조건만족이 적용되거든요,이식을
당일에만 조건이 적용되고 장끝나면 초기화되어서 익일은 익일장에만 적용되게 하길
원합니다.도움 부탁드립니다.
Input: Length(5),굵(1),별(0),별1(0);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),tx1(0),tx2(0),tx3(0),tx4(0),s(0);
Array:고[10,4](0),저[10,4](0);
HH = H;
LL = L;
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]);
TL_SetColor(TL1,YELLOW);
TL_SetSize(tl1,굵);
if 고[4,1] > 0 and 고[4,1] < 고[3,1] and 고[3,1] > 고[2,1] Then
{
var1 = abs(고[3,1]-저[2,1]);
tx1 = Text_New(저[1,3],저[1,4],저[1,1]+var1,"★");
tx2 = Text_New(저[1,3],저[1,4],저[1,1]-var1,"★");
Text_SetStyle(tx1,2,2);
Text_SetStyle(tx2,2,2);
Text_SetColor(tx1,BLUE);
Text_SetColor(tx2,BLUE);
Text_SetSize(tx1,별);
Text_SetSize(tx2,별);
}
S = 0;
if 저[3,1] > 0 and 저[3,1] > 저[2,1] and 저[2,1] < 저[1,1] Then
{
S = -1;
tx4 = Text_New(저[1,3],저[1,4],저[1,1],"▲");
Text_SetStyle(tx4,2,0);
Text_SetColor(tx4,RED);
Text_SetSize(tx4,별1);
PlaySound("C:예스트레이더dataSound1point.wav");
}
}
Else If 고[1,1] < HH Then
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
}
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]);
TL_SetColor(TL1,CYAN);
TL_SetSize(tl1,굵);
if 저[4,1] > 0 and 저[4,1] > 저[3,1] and 저[3,1] < 저[2,1] Then
{
var1 = abs(저[3,1]-고[2,1]);
tx1 = Text_New(고[1,3],고[1,4],고[1,1]+var1,"★");
tx2 = Text_New(고[1,3],고[1,4],고[1,1]-var1,"★");
Text_SetStyle(tx1,2,2);
Text_SetStyle(tx2,2,2);
Text_SetColor(tx1,MAGENTA);
Text_SetColor(tx2,MAGENTA);
Text_SetSize(tx1,별);
Text_SetSize(tx2,별);
}
S = 0;
if 고[3,1] > 0 and 고[3,1] < 고[2,1] and 고[2,1] > 고[1,1] Then
{
S = 1;
tx3 = Text_New(고[1,3],고[1,4],고[1,1],"▼");
Text_SetStyle(tx3,2,1);
Text_SetColor(tx3,BLUE);
PlaySound("C:예스트레이더dataSound1point.wav");
Text_SetSize(tx3,별1);
}
}
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]);
}
최종꼭지점 = "저점";
}
$$,아울러 질문#76027 확인부탁드립니다.
감사합니다.