커뮤니티

청산후 동일방향 재진입금지 시스템

프로필 이미지
조민철
2015-04-15 23:36:08
181
글번호 85081
답변완료
항상감사드립니다. 아래시스템에서 청산후 같은방향으로 재진입금지하는 시스템을 구현하고 싶습니다. ################################## ##### RSI 시스템_Period(20) ##### ################################## input : Period1(20); var81 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period1)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period1)*100); if var81 <= 30 Then # rsi_30 # var82 = O; if var81 >= 70 Then # rsi_70 # var83 = H; if var82[1] < var82 Then var40=1; # rsi_30 상승방향# if var82[1] > var82 Then var40=-1; # rsi_30 하락방향# if var83[1] > var83 Then var80=1; # rsi_70 하락방향# if var83[1] < var83 Then var80=-1; # rsi_70 상승방향# if MarketPosition == 1 and var80 == 1 and #하락# H <= var81 And (var83[1]-var83) >0.00300 Then exitlong("eBb_Rsi70"); if MarketPosition ==-1 and var80 == 1 and #하락# H <= var81 And (var83[1]-var83) >0.0030 Then ExitShort("eSs_Rsi70"); if MarketPosition ==-1 and var40 == 1 and #상승# L >= var81 And (var82-var82[1]) >0.0030 Then ExitShort("eSs_Rsi30"); if MarketPosition == 1 and var40 == 1 and #상승# L >= var81 And (var82-var82[1]) >0.0030 Then exitlong("eBb_Rsi30"); ################################## ##### RSI 시스템_Period(15) ##### ################################## input : Period(15); 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; # rsi_30 상승방향# if var72[1] > var72 Then var30=-1; # rsi_30 하락방향# if var73[1] > var73 Then var70=1; # rsi_70 하락방향# if var73[1] < var73 Then var70=-1; # rsi_70 상승방향# if MarketPosition == 1 and var70 == 1 and #하락# H <= var71 And (var73[1]-var73) >0.0030 Then exitlong("eB_Rsi70"); if MarketPosition == -1 and var70 == 1 and #하락# H <= var71 And (var73[1]-var73) >0.0030 Then ExitShort("eS_Rsi70"); if MarketPosition == -1 and var30 == 1 and #상승# L >= var71 And (var72-var72[1]) >0.0030 Then ExitShort("eS_Rsi30"); if MarketPosition == 1 and var30 == 1 and #상승# L >= var71 And (var72-var72[1]) >0.0030 Then exitlong("eB_Rsi30"); ###################### ##### 매매식 1 ##### ###################### if MarketPosition <= 0 and countif(var72==var72[1],5) == 5 And var12==1 and var58==1 and c>var72 Then buy("B_R30"); if marketPosition > 0 and countif(var72==var72[1],5) == 5 And var12==-1 and var58==-1 and c<var72 Then sell("S_R30"); if MarketPosition <= 0 and countif(var73==var73[1],5) == 5 And var12==1 and var58==1 and c>var73 Then buy("B_R70"); if MarketPosition >0 and countif(var73==var73[1],5) == 5 And var12==-1 and var58==-1 and c<var73 Then sell("S_R70"); ### 손절1 ### SetStopLoss(PriceScale*50,PointStop); ###################### ##### 매매식 2 ##### ###################### ########## 1차 저항선_var21 ########## if crossup(C,var21) Then{ var51 = 1; idx = index; } if CrossDown(C,var21) Then{ var51 = -1; idx = index; } if MarketPosition <= 0 and var51 == 1 and index > idx and index <= idx+30 and var21 >= L and c > var21 and dp2>dm2 then buy("b_21"); if MarketPosition > 0 and var51 == -1 and index > idx and index <= idx+30 and var21 <= H and c < var21 and dp2<dm2 Then sell("s_21"); ########## 1차 지지선_var22 ########## if crossup(C,var22) Then{ var52 = 1; idx1 = index; } if CrossDown(C,var22) Then{ var52 = -1; idx1 = index; } if MarketPosition <= 0 and var52 == 1 and index > idx1 and index <= idx1+30 and var22 >= L and c > var22 and dp2>dm2 then buy("b_22"); if MarketPosition > 0 and var52 == -1 and index > idx1 and index <= idx1+30 and var22 <= H and c < var22 and dp2<dm2 Then sell("s_22"); ########## 중심선_var23 ########## if crossup(C,var23) Then{ var53 = 1; idx2 = index; } if CrossDown(C,var23) Then{ var53 = -1; idx2 = index; } if MarketPosition <= 0 and var53 == 1 and index > idx2 and index <= idx2+30 and var23 >= L and c > var23 and dp2>dm2 then buy("b_23"); if MarketPosition > 0 and var53 == -1 and index > idx2 and index <= idx2+30 and var23 <= H and c < var23 and dp2<dm2 Then sell("s_23");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-04-16 10:07:08

안녕하세요 예스스탁입니다. input : Period1(20); var : idx(0),idx1(0),idx2(0),dp2(0),dm2(0); var81 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period1)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period1)*100); if var81 <= 30 Then # rsi_30 # var82 = O; if var81 >= 70 Then # rsi_70 # var83 = H; if var82[1] < var82 Then var40=1; # rsi_30 상승방향# if var82[1] > var82 Then var40=-1; # rsi_30 하락방향# if var83[1] > var83 Then var80=1; # rsi_70 하락방향# if var83[1] < var83 Then var80=-1; # rsi_70 상승방향# if MarketPosition == 1 and var80 == 1 and #하락# H <= var81 And (var83[1]-var83) >0.00300 Then exitlong("eBb_Rsi70"); if MarketPosition ==-1 and var80 == 1 and #하락# H <= var81 And (var83[1]-var83) >0.0030 Then ExitShort("eSs_Rsi70"); if MarketPosition ==-1 and var40 == 1 and #상승# L >= var81 And (var82-var82[1]) >0.0030 Then ExitShort("eSs_Rsi30"); if MarketPosition == 1 and var40 == 1 and #상승# L >= var81 And (var82-var82[1]) >0.0030 Then exitlong("eBb_Rsi30"); ################################## ##### RSI 시스템_Period(15) ##### ################################## input : Period(15); 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; # rsi_30 상승방향# if var72[1] > var72 Then var30=-1; # rsi_30 하락방향# if var73[1] > var73 Then var70=1; # rsi_70 하락방향# if var73[1] < var73 Then var70=-1; # rsi_70 상승방향# if MarketPosition == 1 and var70 == 1 and #하락# H <= var71 And (var73[1]-var73) >0.0030 Then exitlong("eB_Rsi70"); if MarketPosition == -1 and var70 == 1 and #하락# H <= var71 And (var73[1]-var73) >0.0030 Then ExitShort("eS_Rsi70"); if MarketPosition == -1 and var30 == 1 and #상승# L >= var71 And (var72-var72[1]) >0.0030 Then ExitShort("eS_Rsi30"); if MarketPosition == 1 and var30 == 1 and #상승# L >= var71 And (var72-var72[1]) >0.0030 Then exitlong("eB_Rsi30"); ###################### ##### 매매식 1 ##### ###################### if ((MarketPosition == 0 and MarketPosition(1) != 1) or (MarketPosition == -1)) and countif(var72==var72[1],5) == 5 And var12==1 and var58==1 and c>var72 Then buy("B_R30"); if ((MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) and countif(var72==var72[1],5) == 5 And var12==-1 and var58==-1 and c<var72 Then sell("S_R30"); if ((MarketPosition == 0 and MarketPosition(1) !=1) or (MarketPosition == -1)) and countif(var73==var73[1],5) == 5 And var12==1 and var58==1 and c>var73 Then buy("B_R70"); if ((MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) and countif(var73==var73[1],5) == 5 And var12==-1 and var58==-1 and c<var73 Then sell("S_R70"); ### 손절1 ### SetStopLoss(PriceScale*50,PointStop); ###################### ##### 매매식 2 ##### ###################### ########## 1차 저항선_var21 ########## if crossup(C,var21) Then{ var51 = 1; idx = index; } if CrossDown(C,var21) Then{ var51 = -1; idx = index; } if ((MarketPosition == 0 and MarketPosition(1) !=1) or (MarketPosition == -1)) and var51 == 1 and index > idx and index <= idx+30 and var21 >= L and c > var21 and dp2>dm2 then buy("b_21"); if ((MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) and var51 == -1 and index > idx and index <= idx+30 and var21 <= H and c < var21 and dp2<dm2 Then sell("s_21"); ########## 1차 지지선_var22 ########## if crossup(C,var22) Then{ var52 = 1; idx1 = index; } if CrossDown(C,var22) Then{ var52 = -1; idx1 = index; } if ((MarketPosition == 0 and MarketPosition(1) !=1) or (MarketPosition == -1)) and var52 == 1 and index > idx1 and index <= idx1+30 and var22 >= L and c > var22 and dp2>dm2 then buy("b_22"); if ((MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) and var52 == -1 and index > idx1 and index <= idx1+30 and var22 <= H and c < var22 and dp2<dm2 Then sell("s_22"); ########## 중심선_var23 ########## if crossup(C,var23) Then{ var53 = 1; idx2 = index; } if CrossDown(C,var23) Then{ var53 = -1; idx2 = index; } if ((MarketPosition == 0 and MarketPosition(1) !=1) or (MarketPosition == -1)) and var53 == 1 and index > idx2 and index <= idx2+30 and var23 >= L and c > var23 and dp2>dm2 then buy("b_23"); if ((MarketPosition == 0 and MarketPosition(1) != -1) or (MarketPosition == 1)) and var53 == -1 and index > idx2 and index <= idx2+30 and var23 <= H and c < var23 and dp2<dm2 Then sell("s_23"); 즐거운 하루되세요 > 조민철 님이 쓴 글입니다. > 제목 : 청산후 동일방향 재진입금지 시스템 > 항상감사드립니다. 아래시스템에서 청산후 같은방향으로 재진입금지하는 시스템을 구현하고 싶습니다. ################################## ##### RSI 시스템_Period(20) ##### ################################## input : Period1(20); var81 =(AccumN(iff(C-C[1]>0,C-C[1],0),Period1)/AccumN(iff(C-C[1]>0,C-C[1],C[1]-C),Period1)*100); if var81 <= 30 Then # rsi_30 # var82 = O; if var81 >= 70 Then # rsi_70 # var83 = H; if var82[1] < var82 Then var40=1; # rsi_30 상승방향# if var82[1] > var82 Then var40=-1; # rsi_30 하락방향# if var83[1] > var83 Then var80=1; # rsi_70 하락방향# if var83[1] < var83 Then var80=-1; # rsi_70 상승방향# if MarketPosition == 1 and var80 == 1 and #하락# H <= var81 And (var83[1]-var83) >0.00300 Then exitlong("eBb_Rsi70"); if MarketPosition ==-1 and var80 == 1 and #하락# H <= var81 And (var83[1]-var83) >0.0030 Then ExitShort("eSs_Rsi70"); if MarketPosition ==-1 and var40 == 1 and #상승# L >= var81 And (var82-var82[1]) >0.0030 Then ExitShort("eSs_Rsi30"); if MarketPosition == 1 and var40 == 1 and #상승# L >= var81 And (var82-var82[1]) >0.0030 Then exitlong("eBb_Rsi30"); ################################## ##### RSI 시스템_Period(15) ##### ################################## input : Period(15); 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; # rsi_30 상승방향# if var72[1] > var72 Then var30=-1; # rsi_30 하락방향# if var73[1] > var73 Then var70=1; # rsi_70 하락방향# if var73[1] < var73 Then var70=-1; # rsi_70 상승방향# if MarketPosition == 1 and var70 == 1 and #하락# H <= var71 And (var73[1]-var73) >0.0030 Then exitlong("eB_Rsi70"); if MarketPosition == -1 and var70 == 1 and #하락# H <= var71 And (var73[1]-var73) >0.0030 Then ExitShort("eS_Rsi70"); if MarketPosition == -1 and var30 == 1 and #상승# L >= var71 And (var72-var72[1]) >0.0030 Then ExitShort("eS_Rsi30"); if MarketPosition == 1 and var30 == 1 and #상승# L >= var71 And (var72-var72[1]) >0.0030 Then exitlong("eB_Rsi30"); ###################### ##### 매매식 1 ##### ###################### if MarketPosition <= 0 and countif(var72==var72[1],5) == 5 And var12==1 and var58==1 and c>var72 Then buy("B_R30"); if marketPosition > 0 and countif(var72==var72[1],5) == 5 And var12==-1 and var58==-1 and c<var72 Then sell("S_R30"); if MarketPosition <= 0 and countif(var73==var73[1],5) == 5 And var12==1 and var58==1 and c>var73 Then buy("B_R70"); if MarketPosition >0 and countif(var73==var73[1],5) == 5 And var12==-1 and var58==-1 and c<var73 Then sell("S_R70"); ### 손절1 ### SetStopLoss(PriceScale*50,PointStop); ###################### ##### 매매식 2 ##### ###################### ########## 1차 저항선_var21 ########## if crossup(C,var21) Then{ var51 = 1; idx = index; } if CrossDown(C,var21) Then{ var51 = -1; idx = index; } if MarketPosition <= 0 and var51 == 1 and index > idx and index <= idx+30 and var21 >= L and c > var21 and dp2>dm2 then buy("b_21"); if MarketPosition > 0 and var51 == -1 and index > idx and index <= idx+30 and var21 <= H and c < var21 and dp2<dm2 Then sell("s_21"); ########## 1차 지지선_var22 ########## if crossup(C,var22) Then{ var52 = 1; idx1 = index; } if CrossDown(C,var22) Then{ var52 = -1; idx1 = index; } if MarketPosition <= 0 and var52 == 1 and index > idx1 and index <= idx1+30 and var22 >= L and c > var22 and dp2>dm2 then buy("b_22"); if MarketPosition > 0 and var52 == -1 and index > idx1 and index <= idx1+30 and var22 <= H and c < var22 and dp2<dm2 Then sell("s_22"); ########## 중심선_var23 ########## if crossup(C,var23) Then{ var53 = 1; idx2 = index; } if CrossDown(C,var23) Then{ var53 = -1; idx2 = index; } if MarketPosition <= 0 and var53 == 1 and index > idx2 and index <= idx2+30 and var23 >= L and c > var23 and dp2>dm2 then buy("b_23"); if MarketPosition > 0 and var53 == -1 and index > idx2 and index <= idx2+30 and var23 <= H and c < var23 and dp2<dm2 Then sell("s_23");