커뮤니티
함수요청
2018-08-31 15:27:53
136
글번호 121787
안녕하세요?
함수요청드립니다.
A = 당일시가 + {당일제외 과거 10일 (고가-시가)의 평균}
B = 당일시가 + {당일제외 과거 10일 (시가-저가)의 평균}
C = 전일종가 + {당일제외 과거 10일 (전영업일 종가-당영업일 시가)의 절대값의 평균}
D = 전일종가 + {당일제외 과거 10일 (전영업일 종가-당영업일 고가)의 절대값의 평균}
E = 전일종가 + {당일제외 과거 10일 (전영업일 종가-당영업일 저가)의 절대값의 평균}
당일 시가 발생시 A,B,C,D,E 값이 도출되면
매수: A~E 사이에 시가에 제일 가까운 값보다 작은 값 터치시 익봉 시가에 진입
매도: A~E 사이에 시가에 제일 가까운 값보다 큰 값 터치시 익봉 시가에 진입
손절: 매수가 아랫 가격, 매도가 아랫가격
당일 종가 강제청산
가령,
A =100
B = 90
C = 80
D = 70
E = 60
이고 당일 시가가 77이라면 현재가가 90터치시 익봉 시가에 매도 신호
70터치시 익봉 시가에 매수 신호 발생, 매도진입시 손절은 100에, 매수진입시 손절은 60입니다. 손절조건이 만족하지 않을 시 당일 종가에 강제 청산하고자합니다.
답변 1
예스스탁 예스스탁 답변
2018-08-31 16:35:24
안녕하세요
예스스탁입니다.
input : N(10);
var : cnt(0);
var : sum1(0),sum2(0),sum3(0),sum4(0),sum5(0);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0);
Array : value[5](0);
if bdate != bdate[1] then
{
sum1 = 0;
sum2 = 0;
sum3 = 0;
sum4 = 0;
sum5 = 0;
for cnt = 1 to N
{
sum1 = sum1 + (DayHigh(cnt)-DayOpen(cnt));
sum2 = sum2 + (DayOpen(cnt)-DayLow(cnt));
sum3 = sum3 + abs(DayOpen(cnt)-DayClose(cnt+1));
sum4 = sum4 + abs(DayHigh(cnt)-DayClose(cnt+1));
sum5 = sum5 + abs(DayLow(cnt)-DayClose(cnt+1));
}
mav1 = sum1/N;
mav2 = sum2/N;
mav3 = sum3/N;
mav4 = sum4/N;
mav5 = sum5/N;
value[0] = DayOpen(0)+mav1;
value[1] = DayOpen(0)+mav2;
value[2] = DayClose(1)+mav3;
value[3] = DayClose(1)+mav4;
value[4] = DayClose(1)+mav5;
var1 = 0;
var2 = 0;
value1 = 0;
value2 = 0;
for cnt = 0 to 4
{
if value[cnt] > dayopen Then
{
if var1 == 0 or (var1 > 0 and abs(value[cnt]-dayopen) < var1) Then
{
var1 = abs(value[cnt]-dayopen);
value1 = value[cnt];
}
}
if value[cnt] < dayopen Then
{
if var2 == 0 or (var2 > 0 and abs(value[cnt]-dayopen) < var2) Then
{
var2 = abs(value[cnt]-dayopen);
value2 = value[cnt];
}
}
}
}
if MarketPosition <= 0 and value1 > 0 and crossup(c,value1) Then
buy("b",AtMarket);
if MarketPosition <= 0 and value2 > 0 and CrossDown(c,value2) Then
sell("s",AtMarket);
if MarketPosition == 1 and value2[BarsSinceEntry] > 0 Then
ExitLong("bx",AtStop,value2[BarsSinceEntry]);
if MarketPosition == -1 and value1[BarsSinceEntry] > 0 Then
ExitShort("sx",AtStop,value1[BarsSinceEntry]);
SetStopEndofday(152500);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
함수요청드립니다.
A = 당일시가 + {당일제외 과거 10일 (고가-시가)의 평균}
B = 당일시가 + {당일제외 과거 10일 (시가-저가)의 평균}
C = 전일종가 + {당일제외 과거 10일 (전영업일 종가-당영업일 시가)의 절대값의 평균}
D = 전일종가 + {당일제외 과거 10일 (전영업일 종가-당영업일 고가)의 절대값의 평균}
E = 전일종가 + {당일제외 과거 10일 (전영업일 종가-당영업일 저가)의 절대값의 평균}
당일 시가 발생시 A,B,C,D,E 값이 도출되면
매수: A~E 사이에 시가에 제일 가까운 값보다 작은 값 터치시 익봉 시가에 진입
매도: A~E 사이에 시가에 제일 가까운 값보다 큰 값 터치시 익봉 시가에 진입
손절: 매수가 아랫 가격, 매도가 아랫가격
당일 종가 강제청산
가령,
A =100
B = 90
C = 80
D = 70
E = 60
이고 당일 시가가 77이라면 현재가가 90터치시 익봉 시가에 매도 신호
70터치시 익봉 시가에 매수 신호 발생, 매도진입시 손절은 100에, 매수진입시 손절은 60입니다. 손절조건이 만족하지 않을 시 당일 종가에 강제 청산하고자합니다.