예스스탁
예스스탁 답변
2022-04-28 13:14:05
안녕하세요
예스스탁입니다.
c[1] < c[2] <c[3] <c[4] <c5]
c[1]> c[2] > c[3] >c[4] c[5]
올리신 내용은 전봉대비 등락으로 표현된 내용입니다.
양봉/음봉이 아닌데 아마 전봉대비 종가상 상승하면 양봉, 하락하면 음봉이고
전봉대비 가격이 같으면 직전 양/음봉 유지로 보시는것 같습니다.
위 내용으로 작성해 드립니다.
C[5] < O[5] and C[4] > O[4] and C[3] > O[3] and C[2] > O[2] and C[1] > O[1]
만약 위 내용이 아니면 위와 같이 양봉봉 지정해서 각봉 나열해서 지정하셔야 합니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0),t(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 d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
}
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 d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
if C > C[1] Then
T = 1;
if C < C[1] Then
T = 1;
Condition1 = (T[5] == 1 and T[4] == 1 and T[3] == -1 and T[2] == -1 and T[1] == -1) Or
(T[5] == 1 and T[4] == 1 and T[3] == -1 and T[2] == -1 and T[1] == -1);
Condition2 = (T[5] == -1 and T[4] == 1 and T[3] == 1 and T[2] == 1 and T[1] == 1) Or
(T[5] == -1 and T[4] == 1 and T[3] == -1 and T[2] == -1 and T[1] == 1);
if t == 1 and t != t[1] and Condition1 == true Then
buy("b1");
if t == -1 and t != t[1] and Condition2 == true Then
sell("bx1");
즐거운 하루되세요
> 반갑 님이 쓴 글입니다.
> 제목 : 수식 문의 합니다.
> 안녕하세요.
아래 지그재그 수식에서 추가하려고 하거든요.
매수조건에서
신호 직전봉까지 양봉-양봉-음봉-음봉-음봉 또는 양봉-양봉-음봉-음봉-양봉 순서이면 매수
음봉-양봉-양봉-양봉-양봉 또는 음봉-양봉-음봉-음봉-양봉 순서이면 매도
수식으로 가능 할까요?
만약 직전 3번째 봉이 양봉이고 직전 2번째 봉이 가격이 같으면 2번째 봉은 양봉처리하고
위와 같은 조건을 10개정도 추가 하려고 하거든요. 풀어서 작성 부탁드려요 감사합니다.
if (t == 1 and t != t[1] and c[1] < c[2] <c[3] <c[4] <c5] or (t == 1 and t != t[1] c[1]> c[2] > c[3] >c[4] c[5] Then
buyl("b1");
위와 같이 추가 하니 잘 안되서요.
감사합니다.
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(0),t(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 d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
}
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 d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
if t == 1 and t != t[1] Then
buyl("b1");
if t == -1 and t != t[1] Then
sell("bx1");