예스스탁
예스스탁 답변
2024-10-29 11:47:39
안녕하세요
예스스탁입니다.
1
input : P1(5),P2(20);
var : m1(0),m2(0),T(0),HH(0),LL(0);
var : upd(0),upt(0),dnd(0),dnt(0),TL1(0),TL2(0);
m1 = ma(C,P1);
m2 = ma(C,P2);
#이평
Plot1(m1);
plot2(m2);
if CrossUp(m1,m2) Then
{
T = 1;
upd = sDate;
upt = sTime;
value1 = hh;
Value2 = ll;
#직전 데드와 골드사이에는 추세선으로 출력
TL1 = TL_New(dnd,dnt,hh,upd,upt,hh);
TL2 = TL_New(dnd,dnt,ll,upd,upt,ll);
}
if CrossDown(m1,m2) Then
{
T = -1;
hh = h;
ll = l;
dnd = sDate;
dnt = sTime;
}
if t == -1 Then
{
if h > hh Then
hh = h;
if l < ll Then
ll = l;
}
#골드이후는 plot2으로 출력
plot3(value1);
plot4(Value2);
2
input : P1(5),P2(20);
var : m1(0),m2(0),T(0),HH(0),LL(0);
var : upd(0),upt(0),uph(0),dnd(0),dnt(0),dnh(0),TL1(0),TL2(0);
m1 = ma(C,P1);
m2 = ma(C,P2);
#이평
Plot1(m1);
plot2(m2);
if CrossUp(m1,m2) Then
{
T = 1;
upd = sDate;
upt = sTime;
uph = h;
#down 을 한 시점의 고가보다 UP 시점에서의 고가가 더 클때만
#value1,vlaue2에 데드구간 최고가와 최저가 저장하고
#데드와 골드구가 사이에 추세선으로 출력
if upt > dnh Then
{
value1 = hh;
Value2 = ll;
#직전 데드와 골드사이에는 추세선으로 출력
TL1 = TL_New(dnd,dnt,value1,upd,upt,value1);
TL2 = TL_New(dnd,dnt,Value2,upd,upt,Value2);
}
Else
{
value1 = 0;
Value2 = 0;
}
}
if CrossDown(m1,m2) Then
{
T = -1;
hh = h;
ll = l;
dnd = sDate;
dnt = sTime;
dnh = h;
}
#데드구란 최고가 최저가 계산
if t == -1 Then
{
if h > hh Then
hh = h;
if l < ll Then
ll = l;
}
#골드이후는 plot으로 출력
if value1 > 0 and Value2 > 0 Then
{
plot3(value1);
plot4(Value2);
}
Else
{
NoPlot(3);
NoPlot(4);
}
3
input : P1(5),P2(20);
var : m1(0),m2(0),T(0),HH(0),LL(0);
var : upd(0),upt(0),dnd(0),dnt(0),dni(0),cnt(0),TL1(0),TL2(0);
m1 = ma(C,P1);
m2 = ma(C,P2);
#이평
Plot1(m1);
plot2(m2);
if CrossUp(m1,m2) Then
{
T = 1;
upd = sDate;
upt = sTime;
#두 지점의 봉 간격이 20개봉 이상일때 봉의 고가 값이 MA5 보다 큰 봉이 3개 이상일때만
#value1,vlaue2에 데드구간 최고가와 최저가 저장하고
#데드와 골드구가 사이에 추세선으로 출력
if dni >= 20 and cnt >= 3 Then
{
value1 = hh;
Value2 = ll;
TL1 = TL_New(dnd,dnt,hh,upd,upt,hh);
TL2 = TL_New(dnd,dnt,ll,upd,upt,ll);
}
Else
{
value1 = 0;
Value2 = 0;
}
}
if CrossDown(m1,m2) Then
{
T = -1;
hh = h;
ll = l;
dnd = sDate;
dnt = sTime;
dni = 0;
cnt = 0;
}
#데드구간 최고가 최저가 계산
if t == -1 Then
{
dni = dni+1;
if h > m1 Then
cnt = cnt+1;
if h > hh Then
hh = h;
if l < ll Then
ll = l;
}
#골드이후는 plot2으로 출력
if value1 > 0 and Value2 > 0 Then
{
plot3(value1);
plot4(Value2);
}
Else
{
NoPlot(3);
NoPlot(4);
}
4
var : N(0),cnt(0),hh(0),hb(0),ll(0),lb(0);
var : dd(0),tt(0),vv(0),ii(0),dd1(0),tt1(0),vv1(0),ii1(0),TL(0);
N=10;
if CountIf(H>L*1.13,n) >= 1 Then
{
hh = 0;
hb = 0;
ll = 0;
lb = 0;
For cnt = 0 to N-1
{
if hh == 0 or (hh > 0 and h[cnt] > hh) Then
{
hh = h[cnt];
hb = cnt;
}
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
}
}
plot1(hh);
dd = sDate;
tt = sTime;
vv = hh;
ii = Index;
dd1 = dd[1];
tt1 = tt[1];
vv1 = vv[1];
ii1 = ii[1];
#현재 조건만족봉과 직전조건만족봉의 인덱스차이가 2이상이면(단절)
#직전조건만족봉와 현재 조건만족봉의 갑을 연결
if ii1 > 0 and ii >= ii1+2 Then
{
TL = TL_New(dd1,tt1,vv1,dd,tt,vv);
TL_SetColor(TL,Orange);
}
Else #연속구간이면
{
#추세선 마지막값을 현재봉값으로 변경
TL_SetEnd(TL,dd,tt,vv);
}
}
즐거운 하루되세요
> yamu 님이 쓴 글입니다.
> 제목 : 수식 몇 가지 부탁드립니다~
> 안녕하세요
주말 잘 보내셨길 바랍니다
수식 작성 몇 가지 부탁 드릴게요
1. 최고가 최저가 관련
MA5 가 MA 20 을 크로스 down을 한뒤 이후에 크로스 up 하기까지의 구간에서
최고가 최저가를 구하고 싶습니다
질문2. 1번과 같은 조건인데 down 을 한 시점의 고가보다 UP 시점에서의 고가가 더 클때만 최고가 최저가 수식을 부탁드립니다
질문3. 두 지점의 봉 간격이 20개봉 이상일때 봉의 고가 값이 MA5 보다 큰 봉이 3개 이상일때만
출력이 되게 하고 싶습니다
질문4.
(수식은 아래에 첨부하였습니다)
수식에서의 HH 값을 스샷 오렌지 선처럼 추세선으로 표현하고 싶은데요
스샷에서 HH 를 일자 그래프로 나타냈는데 (파란색)
한 구간 (HH가 끊김없이 연속적으로 발생할때를 하나의 구간으로 잡을때) 마지막 값과 그 다음 구간의 마지막값을 추세선으로 연결 할 수 있을까요???
연결할때는 마지막값 그대로 사용할 수 있을까요
스샷에서처럼 1구간의 마지막값은 그 봉보다 높은 지점에 있습니다
안된다면 그냥 해당봉들의 고가값으로 연결해주셔도 좋습니다.
매번 감사드립니다
좋은 하루 되세요
var : N(0),cnt(0),hh(0),hb(0),ll(0),lb(0);
N=10;
if CountIf(H>L*1.13,n) >= 1 Then
{
hh = 0;
hb = 0;
ll = 0;
lb = 0;
For cnt = 0 to N-1
{
if hh == 0 or (hh > 0 and h[cnt] > hh) Then
{
hh = h[cnt];
hb = cnt;
}
if ll == 0 or (ll > 0 and l[cnt] < ll) Then
{
ll = l[cnt];
lb = cnt;
}
}
}