커뮤니티
수식 변경 요청드립니다
2019-06-17 00:05:50
297
글번호 129481
아래수식에서 90분봉의 이평선을 참조할 수 있도록 지표를 추가해 주셨는데(매매는 10분봉),
300분봉의 ADX 지표를 추가하고 싶습니다.
또한 90분봉의 MACD Oscillator 지표식도 추가 부탁드립니다.
항상 아낌없는 지원에 감사를 드립니다.
input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70);
input : 매수이격(18),매도이격(18),매수MAP(10),청산MAP(30),금액(100000000);
input : sto1(25),sto2(6),sto3(6);
var : cnt(0),sum2(0),sum3(0);
var : tsum1(0),tsum2(0),tmav1(0),tmav2(0);
var : BBup(0),BBdn(0),BBMid(0);
var : S1(0),D1(0),TM(0),TF(0);
Var : Lvalue(0), Hvalue(0);
var : EP1(0),EP2(0),SK(0),SD(0),T(0),단기mav(0),장기mav(0);
Array : C1[100](0),H1[100](0),L1[100](0),FK[100](-1),StoK[100](-1);
Ep1 = 2/(sto2+1);
Ep2 = 2/(sto3+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 TF > TF[1]) Then
{
H1[0] = H;
L1[0] = 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];
}
}
C1[0] = C;
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = 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;
}
# 단기 이평선
단기mav = ma(C,매수MAP);
# 장기 이평선
장기mav = ma(C,청산MAP);
# 매수게임=============================
if crossup(단기mav,장기mav) and Then
buy("매수",OnClose,def,Floor(금액/C));
if crossdown(단기mav,장기mav) Then
ExitLong("청산");
# 매도게임==============================
if crossdown(단기mav,장기mav) and Then
sell("매도",OnClose,def,Floor(금액/C));
if crossup(단기mav,장기mav) Then
ExitShort("매도청산");
답변 1
예스스탁 예스스탁 답변
2019-06-17 14:37:42
안녕하세요
예스스탁입니다.
adx는 타주기로 작성해 드리기 어렵습니다.
macd오실레이터만 추가해 드립니다.
변수확인하시고 수식에 조건추가하시면 됩니다.
input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70);
input : 매수이격(18),매도이격(18),매수MAP(10),청산MAP(30),금액(100000000);
input : sto1(25),sto2(6),sto3(6);
input : short(12),long(26),sig(9);
var : cnt(0),sum2(0),sum3(0);
var : tsum1(0),tsum2(0),tmav1(0),tmav2(0);
var : BBup(0),BBdn(0),BBMid(0);
var : S1(0),D1(0),TM(0),TF(0);
Var : Lvalue(0), Hvalue(0);
var : SK(0),SD(0),T(0),단기mav(0),장기mav(0);
Array : C1[100](0),H1[100](0),L1[100](0),FK[100](-1),StoK[100](-1);
var : EP1(0),EP2(0),EP3(0),DINDEX1(0),PreJISU1(0),PreJISU2(0),JISU1(0),JISU2(0);
var : MACDVal(0),MACDSIG(0),PreMACDSIG(0),MACDosc(0);
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%ntime1;
if 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] = H;
L1[0] = 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] = C;
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = 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;
}
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
MACDVal = JiSu1-Jisu2;
MACDSIG = MACDVal;
MACDosc = MACDval-MACDsig;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
MACDVal = JiSu1-Jisu2;
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
MACDosc = MACDval-MACDsig;
}
}
# 단기 이평선
단기mav = ma(C,매수MAP);
# 장기 이평선
장기mav = ma(C,청산MAP);
# 매수게임=============================
if crossup(단기mav,장기mav) Then
buy("매수",OnClose,def,Floor(금액/C));
if crossdown(단기mav,장기mav) Then
ExitLong("청산");
# 매도게임==============================
if crossdown(단기mav,장기mav) Then
sell("매도",OnClose,def,Floor(금액/C));
if crossup(단기mav,장기mav) Then
ExitShort("매도청산");
즐거운 하루되세요
> 뽄때 님이 쓴 글입니다.
> 제목 : 수식 변경 요청드립니다
> 아래수식에서 90분봉의 이평선을 참조할 수 있도록 지표를 추가해 주셨는데(매매는 10분봉),
300분봉의 ADX 지표를 추가하고 싶습니다.
또한 90분봉의 MACD Oscillator 지표식도 추가 부탁드립니다.
항상 아낌없는 지원에 감사를 드립니다.
input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70);
input : 매수이격(18),매도이격(18),매수MAP(10),청산MAP(30),금액(100000000);
input : sto1(25),sto2(6),sto3(6);
var : cnt(0),sum2(0),sum3(0);
var : tsum1(0),tsum2(0),tmav1(0),tmav2(0);
var : BBup(0),BBdn(0),BBMid(0);
var : S1(0),D1(0),TM(0),TF(0);
Var : Lvalue(0), Hvalue(0);
var : EP1(0),EP2(0),SK(0),SD(0),T(0),단기mav(0),장기mav(0);
Array : C1[100](0),H1[100](0),L1[100](0),FK[100](-1),StoK[100](-1);
Ep1 = 2/(sto2+1);
Ep2 = 2/(sto3+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 TF > TF[1]) Then
{
H1[0] = H;
L1[0] = 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];
}
}
C1[0] = C;
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = 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;
}
# 단기 이평선
단기mav = ma(C,매수MAP);
# 장기 이평선
장기mav = ma(C,청산MAP);
# 매수게임=============================
if crossup(단기mav,장기mav) and Then
buy("매수",OnClose,def,Floor(금액/C));
if crossdown(단기mav,장기mav) Then
ExitLong("청산");
# 매도게임==============================
if crossdown(단기mav,장기mav) and Then
sell("매도",OnClose,def,Floor(금액/C));
if crossup(단기mav,장기mav) Then
ExitShort("매도청산");
다음글
이전글