예스스탁
예스스탁 답변
2022-06-13 15:01:45
안녕하세요
예스스탁입니다.
1분봉차트에 적용하시면 됩니다.
1분봉에서 3분봉 이평과 macd계산해서 진입하게 됩니다.
input : Period(30);
input : ntime1(3),P1(5),P2(10),P3(60),short(12),long(26);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
var : idx(0),ep1(0),ep2(0),xma1(0),xma2(0),MACDv(0),prexma1(0),prexma2(0),avgv(0);
Array : C1[100](0);
avgv = ma(c,Period);
Ep1 = 2/(short+1);
Ep2 = 2/(long+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%ntime1;
if Bdate != Bdate[1] or
(ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or
(ntime1 == 1 and Bdate == Bdate[1] and TM > TM[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
idx = idx + 1;
Prexma1 = xma1[1];
Prexma2 = xma2[1];
}
C1[0] = C;
if idx <= 1 then
{
xma1 = C;
xma2 = C;
MACDV = xma1-xma2;
}
else{
xma1 = C * EP1 + Prexma1 * (1-EP1);
xma2 = C * EP2 + Prexma2 * (1-EP2);
MACDV = xma1-xma2;
}
if C1[P1] > 0 then
{
sum1 = 0;
sum2 = 0;
sum3 = 0;
for cnt = 0 to P1-1
{
if cnt < P1 Then
sum1 = sum1+C1[cnt];
if cnt < P2 Then
sum2 = sum2+C1[cnt];
if cnt < P3 Then
sum3 = sum3+C1[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
mav3 = sum3/P3;
if mav1 >= mav2 and
c > mav3 and
macdv >= 0 and
c > avgv Then
Buy();
if mav1 < mav2 and
c < mav3 and
macdv < 0 and
c < avgv Then
Sell();
}
}
if MarketPosition == 1 and c < avgv Then
ExitLong();
if MarketPosition == -1 and c > avgv Then
ExitShort();
즐거운 하루되세요
> zephie 님이 쓴 글입니다.
> 제목 : 수식 부탁 드립니다~
> [매수조건 : 1) and 2) and 3)]
1) 3분봉 기준 mav5>=mav10
2) 3분봉 기준 종가>mav60
3) 3분봉 기준 macd>=0
4) 1분봉 기준 종가>mav30
[매수청산] 1분봉 기준, 종가<mav30
[매도조건 : 1) and 2) and 3)]
1) 3분봉 기준 mav5<mav10
2) 3분봉 기준 종가<mav60
3) 3분봉 기준 macd<0
4) 1분봉 기준 종가<mav30
[매도청산] 1분봉 기준, 종가>mav30