커뮤니티
타 분봉 지표식 참조
2019-06-18 10:48:52
289
글번호 129530
일전에 타 분봉의 ADX지표를 구현하기 힘드시다고 하셨는데,
즉 15분봉으로 매매하면서 90분봉의 ADX지표를 수식에 넣으려고하는 것은 힘들다고
하셨느데, 그러면 챠트에서 보조챠트를 밑에 띄울수가 있던데,
이렇게 보조챠트를 밑에 띄우면 15분봉 시스템식에서 90분봉의 ADX지표를 수식에 넣을 수는
없는지 확인 부탁드립니다. 가능하다면
보조챠트에 있는 ADX지표식을 부탁드립니다
답변 1
예스스탁 예스스탁 답변
2019-06-18 13:16:53
안녕하세요
예스스탁입니다.
참조데이타를 이용하신다면
차트에 다른 주기 데이타를 참조데이타로 추가하고
data2(adx(14))와 같이 간단히 지정하시면 됩니다.
참조데이타는 차트 왼쪽 상단의 종목선택버튼 중 오른쪽 클릭해서
기본차트와 같은 종목으로 추가하시고 주기를 원하시는 주기로 지정하시면 됩니다.
참조데이타는 기본차트와 같은 종목을 다른주기로 지정할수 있습니다.
참조데이타는 차트에 추가되는 순서로 data2부터 data99까지 데이타번호가 자동으로 부여되고
수식에서는 데이타번호로 값을 가져와 사용합니다.
다만 기본차트(data1)을 이용하는 수식에
data2를 사용하는 내용을 넣으시면 수식안에 data1을 이용하는 모든 수식의 선언및
값을 data1로 추리해 주셔야 합니다.
62922번 글에 올리신 내용에 data2의 지표를 추가하고 기존 data1에 대한 선언 및 계산식들을
data1로 처리하게 변경했습니다.
이전 질문 글과 아래 수식 비교하셔서 수식 작성 내용 파악하시고
이후 타주기 내용 추가하실 때 참고하시기 바랍니다.
input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70);
input : 매수이격(18),매도이격(18),단기MAP(20),장기MAP(60),금액(100000000);
input : sto1(25),sto2(6),sto3(6);
input : short(12),long(26),sig(9);
input : adxp(14);
var : cnt(0,data1),sum2(0,data1),sum3(0,data1);
var : tsum1(0,data1),tsum2(0,data1),tmav1(0,data1),tmav2(0,data1);
var : BBup(0,data1),BBdn(0,data1),BBMid(0,data1);
var : S1(0,data1),D1(0,data1),TM(0,data1),TF(0,data1);
Var : Lvalue(0,data1), Hvalue(0,data1);
var : SK(0,data1),SD(0,data1),T(0,data1),단기mav(0,data1),장기mav(0,data1);
var : EP1(0,data1),EP2(0,data1),EP3(0,data1),DINDEX1(0,data1),PreJISU1(0,data1),PreJISU2(0,data1),JISU1(0,data1),JISU2(0,data1);
var : MACDVal(0,data1),MACDSIG(0,data1),PreMACDSIG(0,data1),MACDosc(0,data1);
var : adxv(0,data2);
Array : C1[100](0,data1),H1[100](0,data1),L1[100](0,data1),FK[100](-1,data1),StoK[100](-1,data1);
adxv = data1(adx(adxP));
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
# 분봉설정==========================
if data1(Bdate != Bdate[1]) Then
{
S1 = data1(TimeToMinutes(stime));
D1 = data1(sdate);
}
if D1 > 0 then
{
if data1(sdate == D1) Then
TM = data1(TimeToMinutes(stime))-S1;
Else
TM = data1(TimeToMinutes(stime))+1440-S1;
TF = TM%ntime1;
if data1(Bdate != Bdate[1] or
(ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or
(ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1])) Then
{
H1[0] = data1(H);
L1[0] = data1(L);
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
FK[cnt] = FK[cnt-1][1];
stok[cnt] = stok[cnt-1][1];
}
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMACDSIG = MACDSIG[1];
}
C1[0] = data1(C);
if data1(H) > H1[0] Then
H1[0] = data1(H);
if data1(L) < L1[0] Then
L1[0] = data1(L);
if C1[P2] > 0 then
{
tsum1 = 0;
tsum2 = 0;
for cnt = 0 to P2-1
{
if cnt < P1 then
tsum1 = tsum1+C1[cnt];
if cnt < P2 then
tsum2 = tsum2+C1[cnt];
}
# 90분봉의 20일 이평선= tmav1, 60일 이평선= tmav2
tmav1 = tsum1/P1;
tmav2 = tsum2/P2;
}
# MACD 오실레이터
if DINDEX1 <= 1 then
{
JISU1 = data1(C);
JISU2 = data1(C);
MACDVal = JiSu1-Jisu2;
MACDSIG = MACDVal;
MACDosc = MACDval-MACDsig;
}
else
{
JISU1 = data1(C) * EP1 + PreJISU1 * (1-EP1);
JISU2 = data1(C) * EP2 + PreJISU2 * (1-EP2);
MACDVal = JiSu1-Jisu2;
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
MACDosc = MACDval-MACDsig;
}
}
# 단기 이평선
단기mav = data1(ma(C,단기MAP));
# 장기 이평선
장기mav = data1(ma(C,장기MAP));
# 매수게임=============================
# if crossup(MACDSIG,MACDVal) Then
# buy("매수",OnClose,def,Floor(금액/C));
# if crossdown(단기mav,장기mav) Then
# ExitLong("청산");
# 매도게임==============================
if crossdown(MACDSIG,MACDVal) Then
sell("매도",OnClose,def,1);
if crossup(단기mav,장기mav) Then
ExitShort("매도청산");
즐거운 하루되세요
> 뽄때 님이 쓴 글입니다.
> 제목 : 타 분봉 지표식 참조
> 일전에 타 분봉의 ADX지표를 구현하기 힘드시다고 하셨는데,
즉 15분봉으로 매매하면서 90분봉의 ADX지표를 수식에 넣으려고하는 것은 힘들다고
하셨느데, 그러면 챠트에서 보조챠트를 밑에 띄울수가 있던데,
이렇게 보조챠트를 밑에 띄우면 15분봉 시스템식에서 90분봉의 ADX지표를 수식에 넣을 수는
없는지 확인 부탁드립니다. 가능하다면
보조챠트에 있는 ADX지표식을 부탁드립니다
다음글
이전글