안녕하세요. 시스템 수식관련 문의사항이 있어 글을 올립니다.
바쁘신데 불구하고 항상 세심하게 알려주심에 감사의 말씀드립니다.
​
1. 1) 5분봉 차트에서 봉 종가가 15일 최고값 돌파했을때 and
2) 5분봉 상태에서 타주기(30분봉) macd 기준선(0) 이하
두 조건 모두 충족시 매수
2. 5분봉 차트에서 매4분마다 체크하여, 1틱 체결금액이 1억원 이상 체결이
3회 이상이면 매수
(만약 1틱 체결금액 1억원이상 누적 카운트 조건이 구현이 안 된다면,
1틱 체결금액 1억원 이상 체결이 있으면 매수로 부탁드립니다.)
그럼 부탁드리겠습니다.
즐거운 하루 되세요.^^
답변 1
예스스탁
예스스탁 답변
2020-04-02 16:16:34
안녕하세요
예스스탁입니다.
1
input : N(15);
input : short(12),long(26),sig(9),ntime(30);
var : HH(0),cnt(0);
var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0),MACDO(0);
var : TF(0),xma1(0),xma2(0),idx(0),Prexma1(0),Prexma2(0),MACDV(0),MACDS(0),PreMACDS(0);
HH = DayHigh(1);
for cnt = 1 to N
{
if DayHigh(cnt) > HH Then
HH = DayHigh(cnt);
}
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
idx = idx + 1;
Prexma1 = xma1[1];
Prexma2 = xma2[1];
PreMACDS = MACDS[1];
}
if idx <= 1 then {
xma1 = C;
xma2 = C;
MACDV = xma1-xma2;
MACDS = MACDV;
MACDO = MACDV-MACDS;
}
else{
xma1 = C * EP1 + Prexma1 * (1-EP1);
xma2 = C * EP2 + Prexma2 * (1-EP2);
MACDV = xma1-xma2;
MACDS = MACDV * EP3 + PreMACDS * (1-EP3);
MACDO = MACDV-MACDS;
}
if crossup(c,HH) and MACDV < 0 Then
buy();
}
2
문의하신 내용은 랭귀지로 구현이 불가능합니다.
랭귀지는 봉의 최종값만 사용이 가능합니다.
봉완성시 최종거래량이나 거래대금만 알수 있습니다.
하나의 봉 내부의 값을 세분화해서 알수가 없습니다
즐거운 하루되세요
> 호호 님이 쓴 글입니다.
> 제목 : 수식관련 문의드립니다.
> 안녕하세요. 시스템 수식관련 문의사항이 있어 글을 올립니다.
바쁘신데 불구하고 항상 세심하게 알려주심에 감사의 말씀드립니다.
​
1. 1) 5분봉 차트에서 봉 종가가 15일 최고값 돌파했을때 and
2) 5분봉 상태에서 타주기(30분봉) macd 기준선(0) 이하
두 조건 모두 충족시 매수
2. 5분봉 차트에서 매4분마다 체크하여, 1틱 체결금액이 1억원 이상 체결이
3회 이상이면 매수
(만약 1틱 체결금액 1억원이상 누적 카운트 조건이 구현이 안 된다면,
1틱 체결금액 1억원 이상 체결이 있으면 매수로 부탁드립니다.)
그럼 부탁드리겠습니다.
즐거운 하루 되세요.^^