커뮤니티
청산후 동일방향 재진입금지 시스템
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");
다음글
이전글