var : mav1(0),mav2(0),mav3(0),T1(0),T2(0),T3(0);
mav1 = ma(c,5);
mav2 = ma(c,20);
mav3 = ma(c,60);
if mav1 > mav1[1] Then
T1 = 1;
if mav1 < mav1[1] Then
T1 = -1;
if T1 == 1 and T1[1] != 1 Then
var1 = 0;
// if T1 == 1 and C > O and (C+O)/2 >= mav1 and mav2 > mav2[1] and mav3 > mav3[1] Then{ 60이평포함
if T1 == 1 and C > O and (C+O)/2 >= mav1 and mav2 > mav2[1] and mav1 > mav2 Then{
var1 = var1+1;
if var1 == 1 Then
buy("5매수");
}
if T1 == -1 and T1[1] != -1 Then
var2 = 0;
// if T1 == -1 and C < O and (C+O)/2 <= mav1 and mav2 < mav2[1] and mav3 < mav3[1] Then{ 60이평포함
if T1 == -1 and C < O and (C+O)/2 <= mav1 and mav2 < mav2[1] and mav1 < mav2 Then{
var2 = var2+1;
if var2 == 1 Then
sell("5매도");
}
위 수식을 90틱에 적용중입니다.
여기에 5분봉을 불러와서
5분봉의 캔들이 양봉이면서 5분봉의 5선 위에 있을때만 90틱에 매수신호가
5분봉의 캔들이 음봉이면서 5분봉의 5선 아래에 있을때만 90틱에 매도의 신호가 나오게 수정 부탁 드립니다.
답변 1
예스스탁
예스스탁 답변
2024-06-27 15:35:59
안녕하세요
예스스탁입니다.
틱봉 자체에서 분봉의 값은 정확히 계산이 되지 않습니다.
랭귀지는 봉의 시조저종가만 사용이 가능한데
아래와 같이 작성하면 틱봉의 stime기준으로 5분간격을 처음 넘어간 봉의 시가를
5분봉의 시가로 간주하고(근사값) 음봉 양봉을 판단해서 신호가 발생합니다.
input : 타주기분(5);
var : mav1(0),mav2(0),mav3(0),T1(0),T2(0),T3(0);
var : S1(0),D1(0),TM(0),TF(0),OO(0);
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%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
OO = O;
}
}
mav1 = ma(c,5);
mav2 = ma(c,20);
mav3 = ma(c,60);
if mav1 > mav1[1] Then
T1 = 1;
if mav1 < mav1[1] Then
T1 = -1;
if T1 == 1 and T1[1] != 1 Then
var1 = 0;
// if T1 == 1 and C > O and (C+O)/2 >= mav1 and mav2 > mav2[1] and mav3 > mav3[1] Then{ 60이평포함
if T1 == 1 and C > O and (C+O)/2 >= mav1 and mav2 > mav2[1] and mav1 > mav2 Then{
var1 = var1+1;
if var1 == 1 and C > OO and OO > 0 Then
buy("5매수");
}
if T1 == -1 and T1[1] != -1 Then
var2 = 0;
// if T1 == -1 and C < O and (C+O)/2 <= mav1 and mav2 < mav2[1] and mav3 < mav3[1] Then{ 60이평포함
if T1 == -1 and C < O and (C+O)/2 <= mav1 and mav2 < mav2[1] and mav1 < mav2 Then{
var2 = var2+1;
if var2 == 1 and C < OO and OO > 0 Then
sell("5매도");
}
즐거운 하루되세요
> 오늘도수익 님이 쓴 글입니다.
> 제목 : 시스템 부탁 드립니다.
> var : mav1(0),mav2(0),mav3(0),T1(0),T2(0),T3(0);
mav1 = ma(c,5);
mav2 = ma(c,20);
mav3 = ma(c,60);
if mav1 > mav1[1] Then
T1 = 1;
if mav1 < mav1[1] Then
T1 = -1;
if T1 == 1 and T1[1] != 1 Then
var1 = 0;
// if T1 == 1 and C > O and (C+O)/2 >= mav1 and mav2 > mav2[1] and mav3 > mav3[1] Then{ 60이평포함
if T1 == 1 and C > O and (C+O)/2 >= mav1 and mav2 > mav2[1] and mav1 > mav2 Then{
var1 = var1+1;
if var1 == 1 Then
buy("5매수");
}
if T1 == -1 and T1[1] != -1 Then
var2 = 0;
// if T1 == -1 and C < O and (C+O)/2 <= mav1 and mav2 < mav2[1] and mav3 < mav3[1] Then{ 60이평포함
if T1 == -1 and C < O and (C+O)/2 <= mav1 and mav2 < mav2[1] and mav1 < mav2 Then{
var2 = var2+1;
if var2 == 1 Then
sell("5매도");
}
위 수식을 90틱에 적용중입니다.
여기에 5분봉을 불러와서
5분봉의 캔들이 양봉이면서 5분봉의 5선 위에 있을때만 90틱에 매수신호가
5분봉의 캔들이 음봉이면서 5분봉의 5선 아래에 있을때만 90틱에 매도의 신호가 나오게 수정 부탁 드립니다.