예스스탁
예스스탁 답변
2024-09-04 15:32:05
안녕하세요
예스스탁입니다.
Input : 전환(0.15);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분("");
Array:고[10,4](0),저[10,4](0);
var : box(0), TL(0), TL9(0),TL1(0),TX(0),TXx(0),TX2(0);
var : ii(0),h700(0),L700(0);
var : h500(0),L500(0);
var : h400(0),L400(0);
var : h300(0),L300(0);
if Bdate != bdate[1] then
ii = 0;
Else
ii = ii +1;
if ii < 700 Then
{
h700 = DayHigh;
L700 = DayLow;
}
Else
{
h700 = highest(h,700);
L700 = lowest(L,700);
}
if ii < 500 Then
{
h500 = DayHigh;
L500 = DayLow;
}
Else
{
h500 = highest(h,500);
L500 = lowest(L,500);
}
if ii < 400 Then
{
h400 = DayHigh;
L400 = DayLow;
}
Else
{
h400 = highest(h,400);
L400 = lowest(L,400);
}
if ii < 300 Then
{
h300 = DayHigh;
L300 = DayLow;
}
Else
{
h300 = highest(h,300);
L300 = lowest(L,300);
}
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
고[1,3] = sDate;
고[1,4] = sTime;
저[1,1] = LL;
저[1,2] = 0;
저[1,3] = sDate;
저[1,4] = sTime;
}
If Index > 0 Then
{
hiBar = hiBar + 1;
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1]+전환 <= HH and hiBar == 0;
Condition2 = 고[1,1]-전환 >= LL and loBar == 0;
처리구분 = "";
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
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
TL = TL_New_Self(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL,1);
TL_SetColor(TL,RED);
if 저[1,1] <=h700-0.8 and 저[1,1] <=L400+0.15 and 저[1,1] <= 저[2,1] + PriceScale* 1 and 저[1,1] >= 저[2,1] - PriceScale* 1 Then
{
tx2 = Text_New_Self(저[1,3],저[1,4],저[1,1]-0.12,"●");
Text_SetStyle(tx2,2,2);
Text_SetColor(tx2,Magenta);
Text_SetSize(tx2,20);
}
}
Else If 고[1,1] < HH[hiBar] Then
{
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
Plot1(고[1,1]);
NoPlot(2);
}
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
if 고[1,1] >= L500+0.8 and 고[1,1] >= H300-0.1 and 고[1,1] <= 고[2,1] + PriceScale* 1 and 고[1,1] >= 고[2,1] - PriceScale* 1 Then
{
tx2 = Text_New_Self(고[1,3],고[1,4],고[1,1]+0.12,"●");
Text_SetStyle(tx2,2,2);
Text_SetColor(tx2,Green);
Text_SetSize(tx2,15);
}
TL = TL_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL,1);
TL_SetColor(TL,Green);
}
Else If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
Plot2(저[1,1]);
NoPlot(1);
}
즐거운 하루되세요
> 고성 님이 쓴 글입니다.
> 제목 : 쌍바닥 쌍봉 봉수 별도
> Input : 전환(0.15);
Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분("");
Array:고[10,4](0),저[10,4](0);
var : box(0), TL(0), TL9(0),TL1(0),TX(0),TXx(0),TX2(0);
var : ii(0),h700(0),L700(0);
if Bdate != bdate[1] then
ii = 0;
Else
ii = ii +1;
if ii < 700 Then
h700 = DayHigh;
Else
h700 = highest(h,700);
if Bdate != bdate[1] then
ii = 0;
Else
ii = ii +1;
if ii < 700 Then
L700 = DayLow;
Else
L700 = lowest(L,700);
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
고[1,2] = 0;
고[1,3] = sDate;
고[1,4] = sTime;
저[1,1] = LL;
저[1,2] = 0;
저[1,3] = sDate;
저[1,4] = sTime;
}
If Index > 0 Then
{
hiBar = hiBar + 1;
loBar = loBar + 1;
}
If HH[hiBar] < HH Then hiBar = 0;
If LL[loBar] > LL Then loBar = 0;
Condition1 = 저[1,1]+전환 <= HH and hiBar == 0;
Condition2 = 고[1,1]-전환 >= LL and loBar == 0;
처리구분 = "";
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
{
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
TL = TL_New_Self(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL,1);
TL_SetColor(TL,RED);
if 저[1,1] <=h700-0.8 and 저[1,1] <=L700+0.15 and 저[1,1] <= 저[2,1] + PriceScale* 1 and 저[1,1] >= 저[2,1] - PriceScale* 1 Then
{
tx2 = Text_New_Self(저[1,3],저[1,4],저[1,1]-0.12,"●");
Text_SetStyle(tx2,2,2);
Text_SetColor(tx2,Magenta);
Text_SetSize(tx2,20);
}
}
Else If 고[1,1] < HH[hiBar] Then
{
고[1,1] = HH[hiBar];
고[1,2] = Index - hiBar;
고[1,3] = sDate[hiBar];
고[1,4] = sTime[hiBar];
hiBar = -1;
loBar = -1;
TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
Plot1(고[1,1]);
NoPlot(2);
}
If 처리구분 == "저점처리" Then
{
If 최종꼭지점 == "고점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
if 고[1,1] >= L700+0.8 and 고[1,1] >= H700-0.1 and 고[1,1] <= 고[2,1] + PriceScale* 1 and 고[1,1] >= 고[2,1] - PriceScale* 1 Then
{
tx2 = Text_New_Self(고[1,3],고[1,4],고[1,1]+0.12,"●");
Text_SetStyle(tx2,2,2);
Text_SetColor(tx2,Green);
Text_SetSize(tx2,15);
}
TL = TL_New_Self(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL,1);
TL_SetColor(TL,Green);
}
Else If 저[1,1] > LL[loBar] Then
{
저[1,1] = LL[loBar];
저[1,2] = Index - loBar;
저[1,3] = sDate[loBar];
저[1,4] = sTime[loBar];
hiBar = -1;
loBar = -1;
TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
Plot2(저[1,1]);
NoPlot(1);
}
쌍바닥 쌍봉 모두, 직전 700봉 중에서를,
쌍바닥은 직전 700봉중 최고점 -0.8 아래, 직전 400봉중 최저점 +0.15 아래에서만.
쌍봉은 직전 500봉중 최저점 +0.8 위, 직전 300봉중 최고점 -0.1 위에서만으로 각각 설정. 감사합니다.