커뮤니티

타주기_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");