커뮤니티
타주기시스템 변환
2017-08-14 00:14:59
151
글번호 111986
항상 감사드립니다
아래 식을 타주기 식으로 변환해 주시기 바랍니다
조건
1_본챠트 : 200틱봉
2_타주기챠트: 3분봉
3_타주기 3분봉에서 시스템_1 조건중 매수조건만족시
본챠트 200틱에서 시스템_2 조건중 매수신호만 발생
4_타주기 3분봉에서 시스템_1 조건종 매도조건만족시
본챠트 200틱에서 시스템_2 조건중 매도신호만 발생
5_청산식은 본챠트 200틱에서의 조건발생시 청산
6_아래 기본조건식은 200틱과 3분봉에서 같이 사용할수 있도록 변환해 주시기 바랍니다
#########################
### 삼각가중 이평 ########
##########################
Inputs: Length11(200);
Variables: TLen1(0),TRIma1(0);
TLen1 = Ceiling((Length11 + 1) * 0.5);
var97 = ma(ma(H, TLen1), TLen1);
var96 = ma(ma(C, TLen1), TLen1);
var95 = ma(ma(L, TLen1), TLen1);
##########################
### 일목균형표 ########
##########################
Var : 기준선(0), 전환선(0), 선행스팬1(0), 선행스팬2(0),선행스팬3(0);
전환선 = (Highest(H, 9) + Lowest(L, 9)) / 2;
기준선 = (Highest(H, 26) + Lowest(L, 26)) / 2;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(H, 52)[25] + Lowest(L, 52)[25]) / 2;
선행스팬3 = (highest(H,48)+lowest(L,48))/2;
/************************************************************************/
##########################
### cci ########
##########################
Input : Period11(200),Period12(100);
var : CCIv(0),CCIs(0);
CCIv = CCI(Period11);
CCIs = ema(CCIv,Period12);
/***************************************/
Input : short(60),long(130),sig(9);
Var : MACDv(0),MACDS(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
/*****************************************/
##########################
### 선행스팬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;
###################
###### aroon ######
###################
input : Period10(56);
var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ;
Lowval= Lowest(Low, Period10+1);
Highval = Highest(High, Period10+1);
For counter= 0 To Period10 {
If Low[counter] == Lowval Then
DownVel = counter;
If High[counter] == highval Then
UpVel = counter;
}
DnAroon = 100*(Period10-DownVel)/Period10;
UpAroon = 100*(Period10-UpVel)/Period10;
/*************************************************/
var : T1(0);
if crossup(전환선,선행스팬3) Then
T1 = 1 ;
if CrossDown(전환선,선행스팬3) Then
T1 = -1 ;
if T1==1 and CCIv>0 Then
T1 = 2 ;
if T==-1 and CCIv<0 Then
T1 = -2 ;
#########################
##### macd 변동성 ####
#########################
Input : shortPeriod7(60), longPeriod7(130), Period7(9);
var : HH(0),LL(0),value1(0),value2(0),macdosc(0);
value1 = macd(shortPeriod7, longPeriod7)*100; #상승방향_하락방향
value2 = (ema(value1,Period7)); # MACDSignal_BLUE#
macdosc = value1-ema(value1,Period7);
if sdate != sdate[1] Then{
HH = value1;
LL = value1;
}
if value1 > HH Then
HH = value1;
if value1 < LL Then
LL = value1;
######################
##### ADX 시스템 #####
######################
input : Period3(46);
var : ADXv1(0),DP2(0),DM2(0);
ADXv1 = ADX(Period3);
DP2 = DiPlus(Period3);
DM2 = DiMinus(Period3);
###############################
##### 션샤인 보조_1호(DI) #####
###############################
Input: DIP(112);
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;
##############################
### 스톡캐스트_20_10_4 ###
### stok > 70 _ stok < 30 ###
##############################
Input : Period(80), Period1(40), Period2(16);
var : StoK80(0),StoD80(0);
StoK80 = StochasticsK(Period,Period1);
StoD80 = StochasticsD(Period,Period1,Period2);
##############################
### 스톡캐스트_75_45_45 ###
### 2차 돌파 ###
##############################
var: sto20(75),sto10(45),sto4(45),StoK20(0),StoD20(0);
stok20 = StochasticsK(sto20,sto10);
stoD20 = StochasticsD(sto20,sto10,sto4);
var: T2(0),T3(0);
####################################
##### stok/stod 2번째 돌파 #####
####################################
if crossup(stok20,stod20) Then{
var43 = stok20;
var42 = var43[1];
var41 = var42[1];
if var42<var43 then
T2=1;
}
if CrossDown(stok20,stod20) Then{
var53 = stok20;
var52 = var53[1];
var51 = var52[1];
if var52>var53 then
T2=-1;
}
if T2==1 and crossup(stok20,stod20) Then
T3=1;
if T2==-1 and crossdown(stok20,stod20) Then
T3=-1;
##############################
##### 1_ Rsi 매매식 #####
##############################
### 시스템_1 (챠트_2 (3분봉) 적용 시스템 )###
if (stime >= 170000 or stime < 170000) Then{
if T1 == 2 and C > 선행스팬2 and macdv>macds and var6==1 Then{
T1 = 3;
buy("B1_11");
}
if T1 == -2 and C < 선행스팬2 and macdv<macds and var6==0 Then{
T1 = -3;
sell("S1_11");
}
/**************************************************************************/
### 시스템_2 (챠트_1 (200틱봉_본챠트 적용시스템)
if value1>LL and value1==HH and macdosc>0.3 and var58==1 and T3==1 and stok20>stod20 Then
buy("B11");
if value1>LL and LL[1]==LL and macdv>macds and macdosc>0.3 and stok80>stod80 and dp2>dm2 and adxv1>10 and var58==1 and T3==1 and stok20>stod20 and stok80>30 Then
buy("B12");
if value1<HH and value1==LL and macdosc<-0.3 and var58==-1 and T3==-1 and stok20<stod20 Then
sell("S21");
if value1 <HH and HH[1]==HH and macdv<macds and macdosc<-0.3 and stok80<stod80 and dp2<dm2 and adxv1>10 and var58==-1 and T3==-1 and stok20<stod20 and stok80<70 Then
sell("S22");
}
##########################
##### stok 돌파청산 #####
##########################
### 본쟈트_200틱 적용시스템 ###
if MarketPosition == 1 and crossdown(stok20,50) Then
exitlong("eB_stok_50");
if MarketPosition == -1 and crossup(stok20,50) Then
ExitShort("eS_stok_50");
답변 1
예스스탁 예스스탁 답변
2017-08-14 14:21:33
안녕하세요
예스스탁입니다.
#########################
### 삼각가중 이평 ########
##########################
Inputs: Length11(200);
Variables: TLen1(0,data1),TRIma1(0,data1);
TLen1 = data1(Ceiling((Length11 + 1) * 0.5));
var97 = data1(ma(ma(H, TLen1), TLen1));
var96 = data1(ma(ma(C, TLen1), TLen1));
var95 = data1(ma(ma(L, TLen1), TLen1));
##########################
### 일목균형표 ########
##########################
Var : 기준선(0,data2), 전환선(0,data2), 선행스팬1(0,data2), 선행스팬2(0,data2),선행스팬3(0,data2);
전환선 = data2((Highest(H, 9) + Lowest(L, 9)) / 2);
기준선 = data2((Highest(H, 26) + Lowest(L, 26)) / 2);
선행스팬1 = data2((전환선[25] + 기준선[25]) / 2);
선행스팬2 = data2((Highest(H, 52)[25] + Lowest(L, 52)[25]) / 2);
선행스팬3 = data2((highest(H,48)+lowest(L,48))/2);
/************************************************************************/
##########################
### cci ########
##########################
Input : Period11(200),Period12(100);
var : CCIv(0),CCIs(0);
CCIv = data2(CCI(Period11));
CCIs = data2(ema(CCIv,Period12));
/*************************************************/
var : T1(0,data2);
if crossup(전환선,선행스팬3) Then
T1 = 1 ;
if CrossDown(전환선,선행스팬3) Then
T1 = -1 ;
if T1==1 and CCIv > 0 Then
T1 = 2 ;
if T1==-1 and CCIv < 0 Then
T1 = -2 ;
/***************************************/
Input : short2(60),long2(130),sig2(9);
Var : MACDv2(0,data2),MACDS2(0,data2);
MACDv2 = data2(MACD(short2, long2));
MACDs2 = data2(ema(MACDv2,sig2));
/*****************************************/
###############################
##### 션샤인 보조_1호(DI) #####
###############################
Input: DIP(112);
var : DP1(0,data2),DM1(0,data2),ZZ(0,data2),Var6(0,data2);
DP1 = 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);
DM1 = 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);
ZZ=data2(ema(accum(ema(ema(DP1-DM1, 2), 2)),20));
if ZZ > ZZ[1] Then
var6 = 1;
Else
var6 = 0;
##########################
### 선행스팬2(48)_추세 ###
##########################
var : T(0,data1),var48(0,data1);
var48 = data1((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;
/***************************************/
Input : short1(60),long1(130),sig1(9);
Var : MACDv1(0,data1),MACDS1(0,data1);
MACDv1 = data1(MACD(short1, long1));
MACDs1 = data1(ema(MACDv1,sig1));
###################
###### aroon ######
###################
input : Period10(56);
var : Counter(0,data1), Lowval(0,data1), Highval(0,data1);
var : DownVel(0,data1),UpVel(0,data1), DnAroon(0,data1),UpAroon(0,data1) ;
Lowval = data1(Lowest(Low, Period10+1));
Highval = data1(Highest(High, Period10+1));
For counter= 0 To Period10 {
If Low[counter] == Lowval Then
DownVel = counter;
If High[counter] == highval Then
UpVel = counter;
}
DnAroon = 100*(Period10-DownVel)/Period10;
UpAroon = 100*(Period10-UpVel)/Period10;
#########################
##### macd 변동성 ####
#########################
Input : shortPeriod7(60), longPeriod7(130), Period7(9);
var : HH(0,data1),LL(0,data1),value1(0,data1),value2(0,data1),macdosc(0,data1);
value1 = data1(macd(shortPeriod7, longPeriod7)*100); #상승방향_하락방향
value2 = data1((ema(value1,Period7))); # MACDSignal_BLUE#
macdosc = data1(value1-ema(value1,Period7));
if data1(sdate != sdate[1]) Then{
HH = value1;
LL = value1;
}
if value1 > HH Then
HH = value1;
if value1 < LL Then
LL = value1;
######################
##### ADX 시스템 #####
######################
input : Period3(46);
var : ADXv1(0,data1),DP2(0,data1),DM2(0,data1);
ADXv1 = data1(ADX(Period3));
DP2 = data1(DiPlus(Period3));
DM2 = data1(DiMinus(Period3));
##############################
### 스톡캐스트_20_10_4 ###
### stok > 70 _ stok < 30 ###
##############################
Input : Period(80), Period1(40), Period2(16);
var : StoK80(0,data1),StoD80(0,data1);
StoK80 = data1(StochasticsK(Period,Period1));
StoD80 = data1(StochasticsD(Period,Period1,Period2));
##############################
### 스톡캐스트_75_45_45 ###
### 2차 돌파 ###
##############################
var: sto20(75,data1),sto10(45,data1),sto4(45,data1),StoK20(0,data1),StoD20(0,data1);
stok20 = data1(StochasticsK(sto20,sto10));
stoD20 = data1(StochasticsD(sto20,sto10,sto4));
var: T2(0,data1),T3(0,data1),var43(0,data1),var42(0,data1),var41(0,data1);
var: var53(0,data1),var52(0,data1),var51(0,data1);
####################################
##### stok/stod 2번째 돌파 #####
####################################
if crossup(stok20,stod20) Then{
var43 = stok20;
var42 = var43[1];
var41 = var42[1];
if var42<var43 then
T2=1;
}
if CrossDown(stok20,stod20) Then{
var53 = stok20;
var52 = var53[1];
var51 = var52[1];
if var52>var53 then
T2=-1;
}
if T2==1 and crossup(stok20,stod20) Then
T3=1;
if T2==-1 and crossdown(stok20,stod20) Then
T3=-1;
##############################
##### 1_ Rsi 매매식 #####
##############################
if data1(stime >= 170000 or stime < 170000) Then{
### 시스템_1 (챠트_2 (3분봉) 적용 시스템 )###
if data2(T1 == 2 and C > 선행스팬2 and macdv2>macds2 and var6==1) Then{
T1 = 3;
}
if data2(T1 == -2 and C < 선행스팬2 and macdv2<macds2 and var6==0) Then{
T1 = -3;
}
/**************************************************************************/
### 시스템_2 (챠트_1 (200틱봉_본챠트 적용시스템)
if T1 == 3 and data1(value1>LL and value1==HH and macdosc>0.3 and var58==1 and T3==1 and stok20>stod20) Then
buy("B11");
if T1 == 3 and data1(value1>LL and LL[1]==LL and macdv1>macds1 and macdosc>0.3 and stok80>stod80 and
dp2>dm2 and adxv1>10 and var58==1 and T3==1 and stok20>stod20 and stok80>30) Then
buy("B12");
if T1 == -3 and data1(value1<HH and value1==LL and macdosc<-0.3 and var58==-1 and T3==-1 and stok20<stod20) Then
sell("S21");
if T1 == -3 and data1(value1 <HH and HH[1]==HH and macdv1<macds1 and macdosc<-0.3 and stok80<stod80 and
dp2<dm2 and adxv1>10 and var58==-1 and T3==-1 and stok20<stod20 and stok80<70) Then
sell("S22");
}
##########################
##### stok 돌파청산 #####
##########################
### 본쟈트_200틱 적용시스템 ###
if MarketPosition == 1 and crossdown(stok20,50) Then
ExitLong("eB_stok_50");
if MarketPosition == -1 and crossup(stok20,50) Then
ExitShort("eS_stok_50");
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 타주기시스템 변환
> 항상 감사드립니다
아래 식을 타주기 식으로 변환해 주시기 바랍니다
조건
1_본챠트 : 200틱봉
2_타주기챠트: 3분봉
3_타주기 3분봉에서 시스템_1 조건중 매수조건만족시
본챠트 200틱에서 시스템_2 조건중 매수신호만 발생
4_타주기 3분봉에서 시스템_1 조건종 매도조건만족시
본챠트 200틱에서 시스템_2 조건중 매도신호만 발생
5_청산식은 본챠트 200틱에서의 조건발생시 청산
6_아래 기본조건식은 200틱과 3분봉에서 같이 사용할수 있도록 변환해 주시기 바랍니다
#########################
### 삼각가중 이평 ########
##########################
Inputs: Length11(200);
Variables: TLen1(0),TRIma1(0);
TLen1 = Ceiling((Length11 + 1) * 0.5);
var97 = ma(ma(H, TLen1), TLen1);
var96 = ma(ma(C, TLen1), TLen1);
var95 = ma(ma(L, TLen1), TLen1);
##########################
### 일목균형표 ########
##########################
Var : 기준선(0), 전환선(0), 선행스팬1(0), 선행스팬2(0),선행스팬3(0);
전환선 = (Highest(H, 9) + Lowest(L, 9)) / 2;
기준선 = (Highest(H, 26) + Lowest(L, 26)) / 2;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(H, 52)[25] + Lowest(L, 52)[25]) / 2;
선행스팬3 = (highest(H,48)+lowest(L,48))/2;
/************************************************************************/
##########################
### cci ########
##########################
Input : Period11(200),Period12(100);
var : CCIv(0),CCIs(0);
CCIv = CCI(Period11);
CCIs = ema(CCIv,Period12);
/***************************************/
Input : short(60),long(130),sig(9);
Var : MACDv(0),MACDS(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
/*****************************************/
##########################
### 선행스팬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;
###################
###### aroon ######
###################
input : Period10(56);
var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ;
Lowval= Lowest(Low, Period10+1);
Highval = Highest(High, Period10+1);
For counter= 0 To Period10 {
If Low[counter] == Lowval Then
DownVel = counter;
If High[counter] == highval Then
UpVel = counter;
}
DnAroon = 100*(Period10-DownVel)/Period10;
UpAroon = 100*(Period10-UpVel)/Period10;
/*************************************************/
var : T1(0);
if crossup(전환선,선행스팬3) Then
T1 = 1 ;
if CrossDown(전환선,선행스팬3) Then
T1 = -1 ;
if T1==1 and CCIv>0 Then
T1 = 2 ;
if T==-1 and CCIv<0 Then
T1 = -2 ;
#########################
##### macd 변동성 ####
#########################
Input : shortPeriod7(60), longPeriod7(130), Period7(9);
var : HH(0),LL(0),value1(0),value2(0),macdosc(0);
value1 = macd(shortPeriod7, longPeriod7)*100; #상승방향_하락방향
value2 = (ema(value1,Period7)); # MACDSignal_BLUE#
macdosc = value1-ema(value1,Period7);
if sdate != sdate[1] Then{
HH = value1;
LL = value1;
}
if value1 > HH Then
HH = value1;
if value1 < LL Then
LL = value1;
######################
##### ADX 시스템 #####
######################
input : Period3(46);
var : ADXv1(0),DP2(0),DM2(0);
ADXv1 = ADX(Period3);
DP2 = DiPlus(Period3);
DM2 = DiMinus(Period3);
###############################
##### 션샤인 보조_1호(DI) #####
###############################
Input: DIP(112);
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;
##############################
### 스톡캐스트_20_10_4 ###
### stok > 70 _ stok < 30 ###
##############################
Input : Period(80), Period1(40), Period2(16);
var : StoK80(0),StoD80(0);
StoK80 = StochasticsK(Period,Period1);
StoD80 = StochasticsD(Period,Period1,Period2);
##############################
### 스톡캐스트_75_45_45 ###
### 2차 돌파 ###
##############################
var: sto20(75),sto10(45),sto4(45),StoK20(0),StoD20(0);
stok20 = StochasticsK(sto20,sto10);
stoD20 = StochasticsD(sto20,sto10,sto4);
var: T2(0),T3(0);
####################################
##### stok/stod 2번째 돌파 #####
####################################
if crossup(stok20,stod20) Then{
var43 = stok20;
var42 = var43[1];
var41 = var42[1];
if var42<var43 then
T2=1;
}
if CrossDown(stok20,stod20) Then{
var53 = stok20;
var52 = var53[1];
var51 = var52[1];
if var52>var53 then
T2=-1;
}
if T2==1 and crossup(stok20,stod20) Then
T3=1;
if T2==-1 and crossdown(stok20,stod20) Then
T3=-1;
##############################
##### 1_ Rsi 매매식 #####
##############################
### 시스템_1 (챠트_2 (3분봉) 적용 시스템 )###
if (stime >= 170000 or stime < 170000) Then{
if T1 == 2 and C > 선행스팬2 and macdv>macds and var6==1 Then{
T1 = 3;
buy("B1_11");
}
if T1 == -2 and C < 선행스팬2 and macdv<macds and var6==0 Then{
T1 = -3;
sell("S1_11");
}
/**************************************************************************/
### 시스템_2 (챠트_1 (200틱봉_본챠트 적용시스템)
if value1>LL and value1==HH and macdosc>0.3 and var58==1 and T3==1 and stok20>stod20 Then
buy("B11");
if value1>LL and LL[1]==LL and macdv>macds and macdosc>0.3 and stok80>stod80 and dp2>dm2 and adxv1>10 and var58==1 and T3==1 and stok20>stod20 and stok80>30 Then
buy("B12");
if value1<HH and value1==LL and macdosc<-0.3 and var58==-1 and T3==-1 and stok20<stod20 Then
sell("S21");
if value1 <HH and HH[1]==HH and macdv<macds and macdosc<-0.3 and stok80<stod80 and dp2<dm2 and adxv1>10 and var58==-1 and T3==-1 and stok20<stod20 and stok80<70 Then
sell("S22");
}
##########################
##### stok 돌파청산 #####
##########################
### 본쟈트_200틱 적용시스템 ###
if MarketPosition == 1 and crossdown(stok20,50) Then
exitlong("eB_stok_50");
if MarketPosition == -1 and crossup(stok20,50) Then
ExitShort("eS_stok_50");