안녕하세요
타 수식을 예스수식으로 변경중 막히는 부분이 있어 문의드립니다
<함수>
if(dayhigh>dayhigh[15],highest(dayhigh,15),if(dayhigh>dayhigh[30],highest(dayhigh,30),if(dayhigh>dayhigh[60],highest(dayhigh,60),if(dayhigh>dayhigh[120],highest(dayhigh,120),highest(dayhigh,240)))));
이걸 함수 A로 저장해두고 지표수식에서 불러오고싶습니다.
<지표>
분봉에서 함수A값을 불러와서
최근 5일봉중 최고가가 A값보다 크면서 + 당일 일봉이 음봉이 아닐때를 B라고 하면
IF(B,DAYHIGH,HIGHESTSINCE(1,B,DAYHIGH));
#B를 만족하면 당일고가, 만족하지 않으면 가장 최근에 B를 만족했었던 때의 일봉상 고가
라는 지표를 분봉에서 구현할수 있을까요?
타 증권사 개념으로 적어봤는데 예스트레이더 형식으로 변환부탁드립니다
답변 1
예스스탁
예스스탁 답변
2021-09-28 09:14:01
안녕하세요
예스스탁입니다.
전략실행차트는 최대 1만개봉까지만 조회가 됩니다.
분봉이하주기의 차트에는 첫봉의 날짜 + 99일치의 일간데이타가 추가로 제공되어 사용이 가능하지만
차트의 주기가 짧은 주기이면 해당 차트에서 총 240일치의 일간데이타가 확보되지 않을 수 있습니다.
분봉에서 필요한 일간데이타값이 확보되지 않으면 지표는 -1을 그리게 됩니다.
1. 사용자함수
함수명 : A
반환값형 : 숫자형
var : h15(0),H30(0),H60(0),h120(0),h240(0);
var : cnt(0);
h15 = DayHigh;
h30 = DayHigh;
h60 = DayHigh;
h120 = DayHigh;
h240 = DayHigh;
For cnt = 0 to 240
{
if cnt < 15 and DayHigh(cnt) > h15 Then
h15 = DayHigh;
if cnt < 30 and DayHigh(cnt) > h30 Then
h30 = DayHigh;
if cnt < 60 and DayHigh(cnt) > h60 Then
h60 = DayHigh;
if cnt < 120 and DayHigh(cnt) > h120 Then
h120 = DayHigh;
if cnt < 240 and DayHigh(cnt) > h240 Then
h240 = DayHigh;
}
if DayHigh(239) > 0 Then
{
A = iff(dayhigh>dayhigh(15),H15,
iff(dayhigh>dayhigh(30),H30,
iff(dayhigh>dayhigh(60),H60,
iff(dayhigh>dayhigh(120),H120,H240))));
}
Else
A = -1;
2. 지표
var : cnt(0),hh(0);
hh = DayHigh;
For cnt = 0 to 4
{
if DayHigh(cnt) > hh Then
hh = DayHigh(cnt);
}
if Bdate != Bdate[1] Then
var1 = value1[1];
if A > 0 Then
{
if hh > A and DayClose(0) >= DayOpen(0) Then
value1 = DayHigh;
Else
value1 = var1;
}
Else
value1 = -1;
Plot1(value1);
즐거운 하루되세요
> 하누왕 님이 쓴 글입니다.
> 제목 : 함수 작성 문의드립니다
> 안녕하세요
타 수식을 예스수식으로 변경중 막히는 부분이 있어 문의드립니다
<함수>
if(dayhigh>dayhigh[15],highest(dayhigh,15),if(dayhigh>dayhigh[30],highest(dayhigh,30),if(dayhigh>dayhigh[60],highest(dayhigh,60),if(dayhigh>dayhigh[120],highest(dayhigh,120),highest(dayhigh,240)))));
이걸 함수 A로 저장해두고 지표수식에서 불러오고싶습니다.
<지표>
분봉에서 함수A값을 불러와서
최근 5일봉중 최고가가 A값보다 크면서 + 당일 일봉이 음봉이 아닐때를 B라고 하면
IF(B,DAYHIGH,HIGHESTSINCE(1,B,DAYHIGH));
#B를 만족하면 당일고가, 만족하지 않으면 가장 최근에 B를 만족했었던 때의 일봉상 고가
라는 지표를 분봉에서 구현할수 있을까요?
타 증권사 개념으로 적어봤는데 예스트레이더 형식으로 변환부탁드립니다