커뮤니티
수식 문의드립니다.
2011-05-25 17:29:38
641
글번호 39060
안녕하세요. 이제갓 시스템 시작한 초보입니다.
초보이다보니 기본식조차 너무 어렵게 느껴지네요.
문의코자 하는 것은 선물 당일 1분봉, 2분동, 3분봉 이평 기준으로 데이트레이딩시
관련식 문의를 드리고자 합니다.
일단 기준 이평은 당일 기준 이평으로 사용하고,
장중 9시 20분까지는 거래 무시, 이후 9시 20분부터 10시까지 1분봉기준 봉완성(종가)
기준 으로 20MA 위(5MA, 20MA 정배열 조건충족시)에 있으면 매수진입, 밑(5MA, 20MA 역
배열 조건 충족시)에 있으면 매도진입 그리고 1분봉 종가 기준으로 10시 까지 진입조
건 중 하나 만 달라져도 청산(매수진입후 봉완성(종가)기준으로 20MA 아래 또는 5MA,
20MA 데드크로스 발생시 청산, 매도진입도 20MA위 또는 골든크로스 발생시 청산.
10시까지 청산되지 않은 보유분이 있을시에는 10시 이후부터는 1분봉완성기준으로 매수
잔고 보유시에는 60MA아래에 있게되면 청산, 매도 잔고보유시에는 60MA위에 있게되면
청산.
10시부터 12시까지 진입방법은 2분봉기준으로 10시이전 방법과 동일하게 진입 및 청산
(단, 10시이전 진입 보유 분 있을시에는 진입 하지 않음)
10시에서 12시 사이 진입 보유분 12시까지 미청산시 역시 12시이후 부터는 2분봉 60MA
기준 청산.
12시부터 2시까지는 동일한 기준으로 3분봉완성기준으로 진입 및 청산.(12시이전 진입
보유 분 있을시에는 진입 하지 않음)
2시까지 잔고 보유시 장마감까지 역시 3분봉 60MA기준 청산
2시이후 부터 3시까지 진입기준은 1분봉기준 기간20개봉(현재봉 포함) 중 최고가 달성
시(봉완성기준이 아닌 최고가 달성하면 바로진입) 매수, 최저가 달성시 매도
(2시이전 진입보유분 있을시 진입 하지 않음)
청산기준은 매수진입 후 1분봉 기준 기간 10개봉(현재봉 포함) 중 최저가 달성시(달
성즉시) 청산, 매도진입 후에는 반대로 최고가 달성 즉시 청산.
장종료시 당일 진입 분은 무조건 동시호가에서 청산
쓰다보니 글이 너무 장황해지고 복잡해졌는데요. 초보라 말이 두서없었습니다.
수식 부탁드리며, 앞으로도 많은 지도 편달 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2011-05-26 10:34:33
안녕하세요
예스스탁입니다.
차트의 주기는 수식으로 변동되게 작성할 수 없습니다.
1분봉에서 2분봉과 3분봉의 이평을 계산하도록 작성되었습니다.
1분봉에 적용하시면 됩니다.
동시호가에는 시스템에서 주문이 가능하지 않습니다.
당일청산을 정규장내 시간으로 하셔야 합니다.
input : Atime1(2),Atime2(3),P1(5),P2(20),P3(60);
var : cnt1(0),count(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
var : cnt3(0),count3(0),sum11(0),mav11(0),sum22(0),mav22(0),sum33(0),mav33(0);
Array : CC3[100](0),CC[100](0);
var1 = ma(C,P1);
var2 = ma(C,P2);
var3 = ma(c,P3);
#1분봉에서 2분봉 이평계산
value1 = TimeToMinutes(stime)%Atime1;
if dayindex() == 0 or value1 <= value1[1] Then{
CC[1] = C[1];
for cnt1 = 2 to 99{
CC[cnt1] = CC[cnt1-1][1];
}
sum1 = 0;
sum2 = 0;
sum3 = 0;
for count = 1 to P3{
if count < P1 Then
sum1 = sum1+CC[count];
if count < P2 Then
sum2 = sum2+CC[count];
if count < P3 Then
sum3 = sum3+CC[count];
}
}
mav1 = (C+sum1)/P1;
mav2 = (C+sum2)/P2;
mav3 = (C+sum3)/P3;
#1분봉에서 3분봉 이평계산
value2 = TimeToMinutes(stime)%Atime2;
if dayindex() == 0 or value2 <= value2[1] Then{
CC3[1] = C[1];
for cnt3 = 2 to 99{
CC3[cnt3] = CC3[cnt3-1][1];
}
sum11 = 0;
sum22 = 0;
sum33 = 0;
for count3 = 1 to P3{
if count3 < P1 Then
sum11 = sum11+CC3[count3];
if count3 < P2 Then
sum22 = sum22+CC3[count3];
if count3 < P3 Then
sum33 = sum33+CC3[count3];
}
}
mav11 = (C+sum11)/P1;
mav22 = (C+sum22)/P2;
mav33 = (C+sum33)/P3;
if stime >= 92000 and stime < 100000 then{
if MarketPosition == 0 and C > var2 and var1 > var2 Then
buy("b1");
if MarketPosition == 0 and C < var2 and var1 > var2 Then
sell("s1");
if !(C > var2 and var1 > var2) Then
ExitLong();
if !(C < var2 and var1 > var2) Then
ExitShort();
}
if stime >= 100000 and MarketPosition != 0 and EntryTime < 100000 Then{
if MarketPosition == 1 and c < var3 Then
exitlong();
if MarketPosition == 1 and c > var3 Then
ExitShort();
}
if stime >= 100000 and stime < 120000 then{
if MarketPosition == 0 and C > mav2 and mav1 > mav2 Then
buy("b2");
if MarketPosition == 0 and C < mav2 and mav1 > mav2 Then
sell("s2");
if EntryTime >= 100000 and !(C > mav2 and mav1 > mav2) Then
ExitLong();
if EntryTime >= 100000 and !(C < mav2 and mav1 > mav2) Then
ExitShort();
}
if stime >= 120000 and MarketPosition != 0 and EntryTime >= 100000 and EntryTime < 120000 Then{
if MarketPosition == 1 and c < mav3 Then
exitlong();
if MarketPosition == 1 and c > mav3 Then
ExitShort();
}
if stime >= 120000 and stime < 140000 then{
if MarketPosition == 0 and C > mav22 and mav11 > mav22 Then
buy("b3");
if MarketPosition == 0 and C < mav22 and mav11 > mav22 Then
sell("s3");
if EntryTime >= 120000 and !(C > mav22 and mav11 > mav22) Then
ExitLong();
if EntryTime >= 120000 and !(C < mav22 and mav11 > mav22) Then
ExitShort();
}
if stime >= 140000 and MarketPosition != 0 and EntryTime >= 120000 and EntryTime < 140000 Then{
if MarketPosition == 1 and c < mav33 Then
exitlong();
if MarketPosition == 1 and c > mav33 Then
ExitShort();
}
if stime >= 140000 Then{
if MarketPosition == 0 and stime < 150000 Then{
buy("b4",AtStop,highest(H,20));
Sell("S4",AtStop,Lowest(L,20));
}
if MarketPosition == 1 Then{
ExitLong("bx",AtStop,lowest(L,10));
ExitShort("sx",AtStop,highest(H,10));
}
}
SetStopEndofday(150000);
즐거운 하루되세요
> 에리얀 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 안녕하세요. 이제갓 시스템 시작한 초보입니다.
초보이다보니 기본식조차 너무 어렵게 느껴지네요.
문의코자 하는 것은 선물 당일 1분봉, 2분동, 3분봉 이평 기준으로 데이트레이딩시
관련식 문의를 드리고자 합니다.
일단 기준 이평은 당일 기준 이평으로 사용하고,
장중 9시 20분까지는 거래 무시, 이후 9시 20분부터 10시까지 1분봉기준 봉완성(종가)
기준 으로 20MA 위(5MA, 20MA 정배열 조건충족시)에 있으면 매수진입, 밑(5MA, 20MA 역
배열 조건 충족시)에 있으면 매도진입 그리고 1분봉 종가 기준으로 10시 까지 진입조
건 중 하나 만 달라져도 청산(매수진입후 봉완성(종가)기준으로 20MA 아래 또는 5MA,
20MA 데드크로스 발생시 청산, 매도진입도 20MA위 또는 골든크로스 발생시 청산.
10시까지 청산되지 않은 보유분이 있을시에는 10시 이후부터는 1분봉완성기준으로 매수
잔고 보유시에는 60MA아래에 있게되면 청산, 매도 잔고보유시에는 60MA위에 있게되면
청산.
10시부터 12시까지 진입방법은 2분봉기준으로 10시이전 방법과 동일하게 진입 및 청산
(단, 10시이전 진입 보유 분 있을시에는 진입 하지 않음)
10시에서 12시 사이 진입 보유분 12시까지 미청산시 역시 12시이후 부터는 2분봉 60MA
기준 청산.
12시부터 2시까지는 동일한 기준으로 3분봉완성기준으로 진입 및 청산.(12시이전 진입
보유 분 있을시에는 진입 하지 않음)
2시까지 잔고 보유시 장마감까지 역시 3분봉 60MA기준 청산
2시이후 부터 3시까지 진입기준은 1분봉기준 기간20개봉(현재봉 포함) 중 최고가 달성
시(봉완성기준이 아닌 최고가 달성하면 바로진입) 매수, 최저가 달성시 매도
(2시이전 진입보유분 있을시 진입 하지 않음)
청산기준은 매수진입 후 1분봉 기준 기간 10개봉(현재봉 포함) 중 최저가 달성시(달
성즉시) 청산, 매도진입 후에는 반대로 최고가 달성 즉시 청산.
장종료시 당일 진입 분은 무조건 동시호가에서 청산
쓰다보니 글이 너무 장황해지고 복잡해졌는데요. 초보라 말이 두서없었습니다.
수식 부탁드리며, 앞으로도 많은 지도 편달 부탁드립니다.
감사합니다.
다음글
이전글