커뮤니티
타주기_3분_100틱 시스템
2015-05-05 23:38:57
259
글번호 85701
항상 감사드립니다
아래식은 분봉챠트에서 적용하는 매매시스템식입니다
주차트는 1분봉
타주기챠트는 100틱으로 설정하고
주챠트와 타주기챠트에서 동일신호가 나왓을때 진입청산코자 합니다
시스템식 부탁드립니다.
##########################
### DEMA 이평선 ########
##########################
INPUTS: LENGTH1(72),LENGTH2(120),LENGTH3(240);
VARS : DEMA1(0),DEMA2(0),DEMA3(0),idx(0),idx1(0),idx2(0);
var1= EMA(C,LENGTH1);
value1= EMA(EMa(C,LENGTH1),LENGTH1);
var2= EMA(C,LENGTH2);
value2= EMA(EMa(C,LENGTH2),LENGTH2);
var3= EMA(C,LENGTH3);
value3= EMA(EMa(C,LENGTH3),LENGTH3);
DEMA1 = var1 * 2 - value1;
DEMA2 = var2 * 2 - value2;
DEMA3 = var3 * 2 - value3;
##########################
### 피봇지지저항_3단계 ###
##########################
var21 = (((dayOpen(1)+dayHigh(1)+dayLow(1)+dayClose(1))/4)*2)-dayLow(1);
var22 = (((dayOpen(1)+dayHigh(1)+dayLow(1)+dayClose(1))/4)*2)-dayHigh(1);
var23 = (dayOpen(1)+dayHigh(1)+dayLow(1)+3*dayClose(1))/6-0.0003;
##########################
### 선행스팬2(48) 기준 ###
##########################
var48 = (Highest(High, 48) + Lowest(Low, 48)) / 2; #선행스팬2_48#
##########################
### 선행스팬2(48)_추세 ###
##########################
var : T(0);
var48 = (Highest(High,48 ) + Lowest(Low, 48)) / 2; #선행스팬2_48#
if var48 > var48[1] Then
T = 1;
if var48 < var48[1] Then
T = -1;
if T == 1 and T[1] != 1 Then
var58=1;
if T == -1 and T[1] != -1 Then
var58=-1;
####################
###신거래선 기준 ###
####################
if V == highest(V,20) Then
var20 = (C+H+L)/3; #20거래선#
if V == highest(V,60) Then
var60 = (C+H+L)/3; #60거래선#
######################
##### ADX 시스템 #####
######################
input : Period3(14);
var : ADXv1(0),DP2(0),DM2(0);
ADXv1 = ADX(Period3);
DP2 = DiPlus(Period3);
DM2 = DiMinus(Period3);
###############################
##### 션샤인 보조_1호(DI) #####
###############################
Input: DIP(14);
var : DP1(0),DM1(0),ZZ(0);
DP1 = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100;
DM1 = ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100;
ZZ=ema(accum(ema(ema(DP1-DM1, 2), 2)),20);
if ZZ > ZZ[1] Then
var6 = 1;
Else
var6 = 0;
/*if var6 == 1 and var6[1] != 1 Then*/
if var6 == 1 and var6[2] == 1 Then
var11 = 1 ; # buy();
/* if var6 == 0 and var6[1] != 0 Then */
if var6 == 0 and var6[2] == 0 Then
var11 = -1; #sell();
#####################################
##### 션샤인 보조_2호(macd_sar) #####
#####################################
input : short1(12),long1(26),signal1(9),af(0.02),maxaf(0.2);
var : XX(0),YY(0);
var7 = MACD(short1,long1);#MACD
var8 = ema(var7,Signal1);#MACD sig
var9 = sar(af,maxaf); #파라볼릭
#MACD가 MACDsig보다 크고 종가가 파라볼릭보다 크면 6
#MACD가 MACDsig보다 크고 종가가 파라볼릭보다 작거나 같으면 2
#MACD가 MACDsig보다 작거나 같고 종가가 파라볼릭보다 작으면 -6
#MACD가 MACDsig보다 작거나 같고 종가가 파라볼릭보다 크거나 같으면 -2
if var7 > var8 Then{
if C > var9 Then
XX = 6;
Else
XX = 2;
}
Else{
if var9 > C Then
XX = -6;
Else
XX = -2;
}
if var7 > 0 Then
YY = 10;
Else
YY = -10;
/*if crossup(XX+YY,0) Then */
if (XX+YY)>0 /* and (XX[2]+YY[2])>0 */ Then
var12 = 1; # buy();
/*if CrossDown(XX+YY, 0) Then */
if (XX+YY)<0 /*and (XX[2]+YY[2])<0 */ Then
var12 = -1; # sell();
#########################
##### dema3 조정식 #####
#########################
var33=var21+0.0010;
var34=var21-0.0010;
var35=var22+0.0010;
var36=var22-0.0010;
var37=var23+0.0010;
var38=var23-0.0010;
###########################
##### RSI 범위조정식 #####
###########################
var43=var72+0.0070;
var44=var72-0.0070;
var45=var73+0.0070;
var46=var73-0.0070;
##################################
##### RSI 시스템_Period(20) #####
##################################
input : Period(23);
var71 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100);
if var71 <= 30 Then # rsi_30 #
var72 = O;
if var71 >= 70 Then # rsi_70 #
var73 = H;
if var72[1] < var72 Then
var30=1;
if var72[1] > var72 Then
var30=-1;
if var73[1] > var73 Then
var70= -1;
if var73[1] < var73 Then
var70= 1;
################################
if MarketPosition > 0 and
/* var70 == -1 and #하락#*/
H <= var71 And
(var73[1]-var73) >0.0003 Then
exitlong("eB_Rsi70");
if MarketPosition <=0 and
/* var70 == -1 and #하락#*/
H <= var71 And
(var73[1]-var73) >0.0003 Then
ExitShort("eS_Rsi70");
if MarketPosition <= 0 and
/* var30 == 1 and #상승#*/
L <= var71 And
(var72-var72[1]) >0.0003 Then
ExitShort("eS_Rsi30");
if MarketPosition > 0 and
/* var30 == 1 and #상승#*/
L <= var71 And
(var72-var72[1]) >0.0003 Then
exitlong("eB_Rsi30");
##############################
##### 1_ Rsi 매매식 #####
##############################
if c<var43 and c>var44 and
countif(var72==var72[1],5) == 5 And
c>DayOpen and var11==1 and var12==1 and var58==1 and c>var72 and c<var73 and
var48 Then
buy("B_R30");
if c<var43 and c>var44 and
countif(var72==var72[1],5) == 5 And
c<DayOpen and var11==-1 and var12==-1 and var58==-1 and c<var72 and c<var48 Then
sell("S_R30");
##############################
##### 2_ LINE 매매식 #####
##############################
##### 1차 저항선_var21 #####
if crossup(C,var21) Then{
var51 = 1;
idx = index;
}
if CrossDown(C,var21) Then{
var51 = -1;
idx = index;
}
if var51 == 1 and
index > idx and index <= idx+30 and
var21 >= L and c > var21 and c>DayOpen and var11==1 and (xx+yy)>=12 and var71>=30 and c>dema2 and var58==1 then
buy("b_21");
if var51 == -1 and
index > idx and index <= idx+30 and
var21 <= H and c < var21 and c<DayOpen and var11==-1 and (xx+yy)<=-12 and c<dema2 and var58==-1 Then
sell("s_21");
답변 1
예스스탁 예스스탁 답변
2015-05-06 13:27:11
안녕하세요
예스스탁입니다.
##########################
### DEMA 이평선 ########
##########################
INPUTS: LENGTH1(72),LENGTH2(120),LENGTH3(240);
var : D1var1(0,data1),d1value1(0,data1),d1var2(0,data1),d1value2(0,data1),d1var3(0,data1),d1value3(0,data1);
VAR : d1DEMA1(0,data1),d1DEMA2(0,data1),d1DEMA3(0,data1),d1idx(0,data1),d1idx1(0,data1),d1idx2(0,data1);
var : D2var1(0,data2),d2value1(0,data2),d2var2(0,data2),d2value2(0,data2),d2var3(0,data2),d2value3(0,data2);
VAR : d2DEMA1(0,data2),d2DEMA2(0,data2),d2DEMA3(0,data2),d2idx(0,data2),d2idx1(0,data2),d2idx2(0,data2);
d1var1= data1(EMA(C,LENGTH1));
d1value1= data1(EMA(EMa(C,LENGTH1),LENGTH1));
d1var2= data1(EMA(C,LENGTH2));
d1value2= data1(EMA(EMa(C,LENGTH2),LENGTH2));
d1var3= data1(EMA(C,LENGTH3));
d1value3= data1(EMA(EMa(C,LENGTH3),LENGTH3));
d1DEMA1 = d1var1 * 2 - d1value1;
d1DEMA2 = d1var2 * 2 - d1value2;
d1DEMA3 = d1var3 * 2 - d1value3;
d2var1= data2(EMA(C,LENGTH1));
d2value1= data2(EMA(EMa(C,LENGTH1),LENGTH1));
d2var2= data2(EMA(C,LENGTH2));
d2value2= data2(EMA(EMa(C,LENGTH2),LENGTH2));
d2var3= data2(EMA(C,LENGTH3));
d2value3= data2(EMA(EMa(C,LENGTH3),LENGTH3));
d2DEMA1 = d2var1 * 2 - d2value1;
d2DEMA2 = d2var2 * 2 - d2value2;
d2DEMA3 = d2var3 * 2 - d2value3;
##########################
### 피봇지지저항_3단계 ###
##########################
var : d1var21(0,data1),d1var22(0,data1),d1var23(0,data1);
var : d2var21(0,data1),d2var22(0,data1),d2var23(0,data1);
d1var21 = data1((((dayOpen(1)+dayHigh(1)+dayLow(1)+dayClose(1))/4)*2)-dayLow(1));
d1var22 = data1((((dayOpen(1)+dayHigh(1)+dayLow(1)+dayClose(1))/4)*2)-dayHigh(1));
d1var23 = data1((dayOpen(1)+dayHigh(1)+dayLow(1)+3*dayClose(1))/6-0.0003);
d2var21 = data2((((dayOpen(1)+dayHigh(1)+dayLow(1)+dayClose(1))/4)*2)-dayLow(1));
d2var22 = data2((((dayOpen(1)+dayHigh(1)+dayLow(1)+dayClose(1))/4)*2)-dayHigh(1));
d2var23 = data2((dayOpen(1)+dayHigh(1)+dayLow(1)+3*dayClose(1))/6-0.0003);
##########################
### 선행스팬2(48) 기준 ###
##########################
var : d1T(0,data1),d1var48(0,data1),d1var58(0,data1);
var : d2T(0,data2),d2var48(0,data2),d2var58(0,data2);
d1var48 = data1((Highest(High, 48) + Lowest(Low, 48)) / 2); #선행스팬2_48#
d2var48 = data2((Highest(High, 48) + Lowest(Low, 48)) / 2); #선행스팬2_48#
if d1var48 > d1var48[1] Then
d1T = 1;
if d1var48 < d1var48[1] Then
d1T = -1;
if d1T == 1 and d1T[1] != 1 Then
d1var58 = 1;
if d1T == -1 and d1T[1] != -1 Then
d1var58 = -1;
if d2var48 > d2var48[1] Then
d2T = 1;
if d2var48 < d2var48[1] Then
d2T = -1;
if d2T == 1 and d2T[1] != 1 Then
d2var58 = 1;
if d2T == -1 and d2T[1] != -1 Then
d2var58 = -1;
####################
###신거래선 기준 ###
####################
var : d1var20(0,data1),d1var60(0,data1);
var : d2var20(0,data1),d2var60(0,data1);
if data1(V == highest(V,20)) Then
d1var20 = data1((C+H+L)/3); #20거래선#
if data1(V == highest(V,60)) Then
d1var60 = data1((C+H+L)/3); #60거래선#
if data2(V == highest(V,20)) Then
d2var20 = data2((C+H+L)/3); #20거래선#
if data2(V == highest(V,60)) Then
d2var60 = data2((C+H+L)/3); #60거래선#
######################
##### ADX 시스템 #####
######################
input : Period3(14);
var : d1ADXv1(0),d1DP2(0),d1DM2(0);
var : d2ADXv1(0),d2DP2(0),d2DM2(0);
d1ADXv1 = data1(ADX(Period3));
d1DP2 = data1(DiPlus(Period3));
d1DM2 = data1(DiMinus(Period3));
d2ADXv1 = data2(ADX(Period3));
d2DP2 = data2(DiPlus(Period3));
d2DM2 = data2(DiMinus(Period3));
###############################
##### 션샤인 보조_1호(DI) #####
###############################
Input: DIP(14);
var : d1DP1(0,data1),d1DM1(0,data1),d1ZZ(0,data1),d1var6(0,data1),d1var11(0,data1);
var : d2DP1(0,data2),d2DM1(0,data2),d2ZZ(0,data2),d2var6(0,data2),d2var11(0,data2);
d1DP1 = data1(ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100);
d1DM1 = data1(ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100);
d1ZZ=data1(ema(accum(ema(ema(d1DP1-d1DM1, 2), 2)),20));
if d1ZZ > d1ZZ[1] Then
d1var6 = 1;
Else
d1var6 = 0;
/*if d1var6 == 1 and d1var6[1] != 1 Then*/
if d1var6 == 1 and d1var6[2] == 1 Then
d1var11 = 1 ; # buy();
/* if d1var6 == 0 and d1var6[1] != 0 Then */
if d1var6 == 0 and d1var6[2] == 0 Then
d1var11 = -1; #sell();
d2DP1 = data2(ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100);
d2DM1 = data2(ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100);
d2ZZ=data2(ema(accum(ema(ema(d2DP1-d2DM1, 2), 2)),20));
if d2ZZ > d2ZZ[1] Then
d2var6 = 1;
Else
d2var6 = 0;
/*if d2var6 == 1 and d2var6[1] != 1 Then*/
if d2var6 == 1 and d2var6[2] == 1 Then
d2var11 = 1 ; # buy();
/* if d2var6 == 0 and d2var6[1] != 0 Then */
if d2var6 == 0 and d2var6[2] == 0 Then
d2var11 = -1; #sell();
#####################################
##### 션샤인 보조_2호(macd_sar) #####
#####################################
input : short1(12),long1(26),signal1(9),af(0.02),maxaf(0.2);
var : d1XX(0,data1),d1YY(0,data1),d1var7(0,data1),d1var8(0,data1),d1var9(0,data1),d1var12(0,data1);
var : d2XX(0,data2),d2YY(0,data2),d2var7(0,data2),d2var8(0,data2),d2var9(0,data2),d2var12(0,data2);
d1var7 = data1(MACD(short1,long1));#MACD
d1var8 = data1(ema(d1var7,Signal1));#MACD sig
d1var9 = data1(sar(af,maxaf)); #파라볼릭
#MACD가 MACDsig보다 크고 종가가 파라볼릭보다 크면 6
#MACD가 MACDsig보다 크고 종가가 파라볼릭보다 작거나 같으면 2
#MACD가 MACDsig보다 작거나 같고 종가가 파라볼릭보다 작으면 -6
#MACD가 MACDsig보다 작거나 같고 종가가 파라볼릭보다 크거나 같으면 -2
if d1var7 > d1var8 Then{
if C > d1var9 Then
d1XX = 6;
Else
d1XX = 2;
}
Else{
if d1var9 > C Then
d1XX = -6;
Else
d1XX = -2;
}
if d1var7 > 0 Then
d1YY = 10;
Else
d1YY = -10;
/*if crossup(d1XX+d1YY,0) Then */
if (d1XX+d1YY)>0 /* and (d1XX[2]+d1YY[2])>0 */ Then
d1var12 = 1; # buy();
/*if CrossDown(d1XX+d1YY, 0) Then */
if (d1XX+d1YY)<0 /*and (d1XX[2]+d1YY[2])<0 */ Then
d1var12 = -1; # sell();
d2var7 = data2(MACD(short1,long1));#MACD
d2var8 = data2(ema(d2var7,Signal1));#MACD sig
d2var9 = data2(sar(af,maxaf)); #파라볼릭
#MACD가 MACDsig보다 크고 종가가 파라볼릭보다 크면 6
#MACD가 MACDsig보다 크고 종가가 파라볼릭보다 작거나 같으면 2
#MACD가 MACDsig보다 작거나 같고 종가가 파라볼릭보다 작으면 -6
#MACD가 MACDsig보다 작거나 같고 종가가 파라볼릭보다 크거나 같으면 -2
if d2var7 > d2var8 Then{
if data2(C) > d2var9 Then
d2XX = 6;
Else
d2XX = 2;
}
Else{
if d2var9 > data2(C) Then
d2XX = -6;
Else
d2XX = -2;
}
if d2var7 > 0 Then
d2YY = 10;
Else
d2YY = -10;
/*if crossup(d2XX+d2YY,0) Then */
if (d2XX+d2YY)>0 /* and (d2XX[2]+d2YY[2])>0 */ Then
d2var12 = 1; # buy();
/*if CrossDown(d2XX+d2YY, 0) Then */
if (d2XX+d2YY)<0 /*and (d2XX[2]+d2YY[2])<0 */ Then
d2var12 = -1; # sell();
#########################
##### dema3 조정식 #####
#########################
var : d1var33(0,data1),d1var34(0,data1);
var : d1var35(0,data1),d1var36(0,data1);
var : d1var37(0,data1),d1var38(0,data1);
var : d2var33(0,data2),d2var34(0,data2);
var : d2var35(0,data2),d2var36(0,data2);
var : d2var37(0,data2),d2var38(0,data2);
d1var33=d1var21+0.0010;
d1var34=d1var21-0.0010;
d1var35=d1var22+0.0010;
d1var36=d1var22-0.0010;
d1var37=d1var23+0.0010;
d1var38=d1var23-0.0010;
d2var33=d2var21+0.0010;
d2var34=d2var21-0.0010;
d2var35=d2var22+0.0010;
d2var36=d2var22-0.0010;
d2var37=d2var23+0.0010;
d2var38=d2var23-0.0010;
###########################
##### RSI 범위조정식 #####
###########################
var : d1var43(0,data1),d1var44(0,data1);
var : d1var45(0,data1),d1var46(0,data1);
var : d2var43(0,data2),d2var44(0,data2);
var : d2var45(0,data2),d2var46(0,data2);
var : d1var71(0,data1),d1var72(0,data1),d1var73(0,data1);
var : d1var30(0,data1),d1var70(0,data1);
var : d2var71(0,data1),d2var72(0,data1),d2var73(0,data1);
var : d2var30(0,data1),d2var70(0,data1);
d1var43=d1var72+0.0070;
d1var44=d1var72-0.0070;
d1var45=d1var73+0.0070;
d1var46=d1var73-0.0070;
d2var43=d2var72+0.0070;
d2var44=d2var72-0.0070;
d2var45=d2var73+0.0070;
d2var46=d2var73-0.0070;
##################################
##### RSI 시스템_Period(20) #####
##################################
input : Period(23);
d1var71 = data1((AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100));
if d1var71 <= 30 Then # rsi_30 #
d1var72 = O;
if d1var71 >= 70 Then # rsi_70 #
d1var73 = H;
if d1var72[1] < d1var72 Then
d1var30=1;
if d1var72[1] > d1var72 Then
d1var30=-1;
if d1var73[1] > d1var73 Then
d1var70= -1;
if d1var73[1] < d1var73 Then
d1var70= 1;
d2var71 = data2((AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100));
if d2var71 <= 30 Then # rsi_30 #
d2var72 = O;
if d2var71 >= 70 Then # rsi_70 #
d2var73 = H;
if d2var72[1] < d2var72 Then
d2var30=1;
if d2var72[1] > d2var72 Then
d2var30=-1;
if d2var73[1] > d2var73 Then
d2var70= -1;
if d2var73[1] < d2var73 Then
d2var70= 1;
################################
if MarketPosition > 0 and
/* var70 == -1 and #하락#*/
data1(H) <= d1var71 And
(d1var73[1]-d1var73) >0.0003 And
data2(H) <= d2var71 And
(d2var73[1]-d2var73) >0.0003 Then
exitlong("eB_Rsi70");
if MarketPosition <=0 and
/* var70 == -1 and #하락#*/
data1(H) <= d1var71 And
(d1var73[1]-d1var73) >0.0003 And
data2(H) <= d2var71 And
(d2var73[1]-d2var73) >0.0003 Then
ExitShort("eS_Rsi70");
if MarketPosition <= 0 and
/* var30 == 1 and #상승#*/
data1(L) <= d1var71 And
(d1var72-d1var72[1]) >0.0003 And
data2(L) <= d2var71 And
(d2var72-d2var72[1]) >0.0003 Then
ExitShort("eS_Rsi30");
if MarketPosition > 0 and
/* var30 == 1 and #상승#*/
data1(L) <= d1var71 And
(d1var72-d1var72[1]) >0.0003 And
data2(L) <= d2var71 And
(d2var72-d2var72[1]) >0.0003 Then
exitlong("eB_Rsi30");
##############################
##### 1_ Rsi 매매식 #####
##############################
var : d1var51(0,data1),d2var51(0,data2);
if data1(c)<d1var43 and data1(c)>d1var44 and
data1(countif(d1var72==d1var72[1],5) == 5) And
data1(c)>DayOpen and d1var11==1 and d1var12==1 and d1var58==1 and data1(c)>d1var72 and data1(c)<d1var73 and
d1var48 And
data2(c)<d2var43 and data2(c)>d2var44 and
data2(countif(d2var72==d2var72[1],5) == 5) And
data2(c)> data2(OpenD(0)) and d2var11==1 and d2var12==1 and d2var58==1 and data2(c)>d2var72 and data2(c)<d2var73 and
d2var48 Then
buy("B_R30");
if data1(c)<d1var43 and data1(c)>d1var44 and
data1(countif(d1var72==d1var72[1],5) == 5) And
data1(c)<DayOpen and d1var11==-1 and d1var12==-1 and d1var58==-1 and data1(c)<d1var72 and data1(c)<d1var48 And
data2(c)<d2var43 and data2(c)>d2var44 and
data2(countif(d2var72==d2var72[1],5) == 5) And
data2(c)<data2(OpenD(0)) and d2var11==-1 and d2var12==-1 and d2var58==-1 and data2(c)<d2var72 and data2(c)<d2var48 Then
sell("S_R30");
##############################
##### 2_ LINE 매매식 #####
##############################
##### 1차 저항선_var21 #####
if crossup(data1(c),d1var21) Then{
d1var51 = 1;
d1idx = data1(index);
}
if CrossDown(data1(c),d1var21) Then{
d1var51 = -1;
d1idx = data1(index);
}
if crossup(data2(c),d2var21) Then{
d2var51 = 1;
d2idx = data2(index);
}
if CrossDown(data2(c),d2var21) Then{
d2var51 = -1;
d2idx = data2(index);
}
if d1var51 == 1 and
data1(index) > d1idx and data1(index) <= d1idx+30 and
d1var21 >= data1(L) and data1(c) > d1var21 and data1(c)>DayOpen and d1var11==1 and (d1xx+d1yy)>=12 and d1var71>=30 and data1(c)>d1dema2 and d1var58==1 And
d2var51 == 1 and
data2(index) > d2idx and data2(index) <= d2idx+30 and
d2var21 >= data2(L) and data2(c) > d2var21 and data2(c)>DayOpen and d2var11==1 and (d2xx+d2yy)>=12 and d2var71>=30 and data2(c)>d2dema2 and d2var58==1 then
buy("b_21");
if d1var51 == -1 and
data1(index) > d1idx and data1(index) <= d1idx+30 and
d1var21 <= data1(H) and data1(c) < d1var21 and data1(c)<data2(OpenD(0)) and d1var11==-1 and (d1xx+d1yy)<=-12 and data1(c)<d1dema2 and d1var58==-1 And
d2var51 == -1 and
data2(index) > d2idx and data2(index) <= d2idx+30 and
d2var21 <= data2(H) and data2(c) < d2var21 and data1(c)<data2(OpenD(0)) and d2var11==-1 and (d2xx+d2yy)<=-12 and data2(c)<d2dema2 and d2var58==-1 Then
sell("s_21");
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 타주기_3분_100틱 시스템
> 항상 감사드립니다
아래식은 분봉챠트에서 적용하는 매매시스템식입니다
주차트는 1분봉
타주기챠트는 100틱으로 설정하고
주챠트와 타주기챠트에서 동일신호가 나왓을때 진입청산코자 합니다
시스템식 부탁드립니다.
##########################
### DEMA 이평선 ########
##########################
INPUTS: LENGTH1(72),LENGTH2(120),LENGTH3(240);
VARS : DEMA1(0),DEMA2(0),DEMA3(0),idx(0),idx1(0),idx2(0);
var1= EMA(C,LENGTH1);
value1= EMA(EMa(C,LENGTH1),LENGTH1);
var2= EMA(C,LENGTH2);
value2= EMA(EMa(C,LENGTH2),LENGTH2);
var3= EMA(C,LENGTH3);
value3= EMA(EMa(C,LENGTH3),LENGTH3);
DEMA1 = var1 * 2 - value1;
DEMA2 = var2 * 2 - value2;
DEMA3 = var3 * 2 - value3;
##########################
### 피봇지지저항_3단계 ###
##########################
var21 = (((dayOpen(1)+dayHigh(1)+dayLow(1)+dayClose(1))/4)*2)-dayLow(1);
var22 = (((dayOpen(1)+dayHigh(1)+dayLow(1)+dayClose(1))/4)*2)-dayHigh(1);
var23 = (dayOpen(1)+dayHigh(1)+dayLow(1)+3*dayClose(1))/6-0.0003;
##########################
### 선행스팬2(48) 기준 ###
##########################
var48 = (Highest(High, 48) + Lowest(Low, 48)) / 2; #선행스팬2_48#
##########################
### 선행스팬2(48)_추세 ###
##########################
var : T(0);
var48 = (Highest(High,48 ) + Lowest(Low, 48)) / 2; #선행스팬2_48#
if var48 > var48[1] Then
T = 1;
if var48 < var48[1] Then
T = -1;
if T == 1 and T[1] != 1 Then
var58=1;
if T == -1 and T[1] != -1 Then
var58=-1;
####################
###신거래선 기준 ###
####################
if V == highest(V,20) Then
var20 = (C+H+L)/3; #20거래선#
if V == highest(V,60) Then
var60 = (C+H+L)/3; #60거래선#
######################
##### ADX 시스템 #####
######################
input : Period3(14);
var : ADXv1(0),DP2(0),DM2(0);
ADXv1 = ADX(Period3);
DP2 = DiPlus(Period3);
DM2 = DiMinus(Period3);
###############################
##### 션샤인 보조_1호(DI) #####
###############################
Input: DIP(14);
var : DP1(0),DM1(0),ZZ(0);
DP1 = ema(iff(H-H[1]>0 && H-H[1]>L[1]-L,H-H[1],0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100;
DM1 = ema(iff(L[1]-L>0 && H-H[1]<L[1]-L,L[1]-L,0),DIP)/
ema(max(max(H-L,abs(C[1]-H)),abs(C[1]-L)),DIP)*100;
ZZ=ema(accum(ema(ema(DP1-DM1, 2), 2)),20);
if ZZ > ZZ[1] Then
var6 = 1;
Else
var6 = 0;
/*if var6 == 1 and var6[1] != 1 Then*/
if var6 == 1 and var6[2] == 1 Then
var11 = 1 ; # buy();
/* if var6 == 0 and var6[1] != 0 Then */
if var6 == 0 and var6[2] == 0 Then
var11 = -1; #sell();
#####################################
##### 션샤인 보조_2호(macd_sar) #####
#####################################
input : short1(12),long1(26),signal1(9),af(0.02),maxaf(0.2);
var : XX(0),YY(0);
var7 = MACD(short1,long1);#MACD
var8 = ema(var7,Signal1);#MACD sig
var9 = sar(af,maxaf); #파라볼릭
#MACD가 MACDsig보다 크고 종가가 파라볼릭보다 크면 6
#MACD가 MACDsig보다 크고 종가가 파라볼릭보다 작거나 같으면 2
#MACD가 MACDsig보다 작거나 같고 종가가 파라볼릭보다 작으면 -6
#MACD가 MACDsig보다 작거나 같고 종가가 파라볼릭보다 크거나 같으면 -2
if var7 > var8 Then{
if C > var9 Then
XX = 6;
Else
XX = 2;
}
Else{
if var9 > C Then
XX = -6;
Else
XX = -2;
}
if var7 > 0 Then
YY = 10;
Else
YY = -10;
/*if crossup(XX+YY,0) Then */
if (XX+YY)>0 /* and (XX[2]+YY[2])>0 */ Then
var12 = 1; # buy();
/*if CrossDown(XX+YY, 0) Then */
if (XX+YY)<0 /*and (XX[2]+YY[2])<0 */ Then
var12 = -1; # sell();
#########################
##### dema3 조정식 #####
#########################
var33=var21+0.0010;
var34=var21-0.0010;
var35=var22+0.0010;
var36=var22-0.0010;
var37=var23+0.0010;
var38=var23-0.0010;
###########################
##### RSI 범위조정식 #####
###########################
var43=var72+0.0070;
var44=var72-0.0070;
var45=var73+0.0070;
var46=var73-0.0070;
##################################
##### RSI 시스템_Period(20) #####
##################################
input : Period(23);
var71 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period)*100);
if var71 <= 30 Then # rsi_30 #
var72 = O;
if var71 >= 70 Then # rsi_70 #
var73 = H;
if var72[1] < var72 Then
var30=1;
if var72[1] > var72 Then
var30=-1;
if var73[1] > var73 Then
var70= -1;
if var73[1] < var73 Then
var70= 1;
################################
if MarketPosition > 0 and
/* var70 == -1 and #하락#*/
H <= var71 And
(var73[1]-var73) >0.0003 Then
exitlong("eB_Rsi70");
if MarketPosition <=0 and
/* var70 == -1 and #하락#*/
H <= var71 And
(var73[1]-var73) >0.0003 Then
ExitShort("eS_Rsi70");
if MarketPosition <= 0 and
/* var30 == 1 and #상승#*/
L <= var71 And
(var72-var72[1]) >0.0003 Then
ExitShort("eS_Rsi30");
if MarketPosition > 0 and
/* var30 == 1 and #상승#*/
L <= var71 And
(var72-var72[1]) >0.0003 Then
exitlong("eB_Rsi30");
##############################
##### 1_ Rsi 매매식 #####
##############################
if c<var43 and c>var44 and
countif(var72==var72[1],5) == 5 And
c>DayOpen and var11==1 and var12==1 and var58==1 and c>var72 and c<var73 and
var48 Then
buy("B_R30");
if c<var43 and c>var44 and
countif(var72==var72[1],5) == 5 And
c<DayOpen and var11==-1 and var12==-1 and var58==-1 and c<var72 and c<var48 Then
sell("S_R30");
##############################
##### 2_ LINE 매매식 #####
##############################
##### 1차 저항선_var21 #####
if crossup(C,var21) Then{
var51 = 1;
idx = index;
}
if CrossDown(C,var21) Then{
var51 = -1;
idx = index;
}
if var51 == 1 and
index > idx and index <= idx+30 and
var21 >= L and c > var21 and c>DayOpen and var11==1 and (xx+yy)>=12 and var71>=30 and c>dema2 and var58==1 then
buy("b_21");
if var51 == -1 and
index > idx and index <= idx+30 and
var21 <= H and c < var21 and c<DayOpen and var11==-1 and (xx+yy)<=-12 and c<dema2 and var58==-1 Then
sell("s_21");
다음글