커뮤니티
타주기 시스템 변환
2017-08-15 23:33:21
160
글번호 112047
항상 감사드립니다
아래식을 타주기시스템으로 변환해 주시기 바랍니다
시스템 신호 발생조건
본챠트 : 200틱봉
타주기 챠트 :3분봉
시스템신호 발생조건 : 아래 매수매도조건식이 본챠트및 타주기챠트를 동시만족시
청산식은 본챠트_200틱봉에만 적용
/********************************************************************/
#########################
### 삼각가중 이평 ########
##########################
Inputs: Length11(200);
Variables: TLen1(0),TRIma1(0);
TLen1 = Ceiling((Length11 + 1) * 0.5);
var97 = ma(ma(H, TLen1), TLen1); #72삼각가중이평_고가#
var96 = ma(ma(C, TLen1), TLen1); #72삼각가중이평_종가#
var95 = ma(ma(L, TLen1), TLen1); #72삼각가중이평_저가#
/**************************************************************************/
Var : 기준선(0), 전환선(0), 선행스팬1(0), 선행스팬2(0),선행스팬3(0),T(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;
/************************************************************************/
Input : Period1(200),Period2(100);
var : CCIv(0),CCIs(0);
CCIv = CCI(Period1);
CCIs = ema(CCIv,Period2);
/***************************************/
Input : short(60),long(130),sig(9);
Var : MACDv(0),MACDS(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
/*****************************************/
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; #BASELINE: 0.5 #
/*************************************************/
###################
###### 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;
/*************************************************/
if crossup(전환선,선행스팬3) Then
T = 1 ;
if CrossDown(전환선,선행스팬3) Then
T = -1 ;
if T==1 and CCIv>0 Then
T = 2 ;
if T==-1 and CCIv<0 Then
T = -2 ;
if T == 2 and C > 선행스팬2 and macdv>macds and var6==1 and c>var97
and uparoon>dnaroon Then{
T = 3;
buy("B1");
}
if T == -2 and C < 선행스팬2 and macdv<macds and var6==0 and c<var95
and uparoon<dnaroon Then{
T = -3;
sell("S1");
}
##########################
##### 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-21 16:10:39
안녕하세요
예스스탁입니다.
Input : Length11(200);
Var : d1TLen1(0,data1),d1var97(0,data1),d1var96(0,data1),d1var95(0,data1);
Var : d2TLen1(0,data2),d2var97(0,data2),d2var96(0,data2),d2var95(0,data2);
d1TLen1 = data1(Ceiling((Length11 + 1) * 0.5));
d1var97 = data1(ma(ma(H, d1TLen1), d1TLen1)); #72삼각가중이평_고가#
d1var96 = data1(ma(ma(C, d1TLen1), d1TLen1)); #72삼각가중이평_종가#
d1var95 = data1(ma(ma(L, d1TLen1), d1TLen1)); #72삼각가중이평_저가#
d2TLen1 = data2(Ceiling((Length11 + 1) * 0.5));
d2var97 = data2(ma(ma(H, d2TLen1), d2TLen1)); #72삼각가중이평_고가#
d2var96 = data2(ma(ma(C, d2TLen1), d2TLen1)); #72삼각가중이평_종가#
d2var95 = data2(ma(ma(L, d2TLen1), d2TLen1)); #72삼각가중이평_저가#
/**************************************************************************/
Var : d1기준선(0,data1), d1전환선(0,data1), d1선행스팬1(0,data1), d1선행스팬2(0,data1),d1선행스팬3(0,data1),d1T(0,data1);
Var : d2기준선(0,data2), d2전환선(0,data2), d2선행스팬1(0,data2), d2선행스팬2(0,data2),d2선행스팬3(0,data2),d2T(0,data2);
d1전환선 = data1((Highest(H, 9) + Lowest(L, 9)) / 2);
d1기준선 = data1((Highest(H, 26) + Lowest(L, 26)) / 2);
d1선행스팬1 = data1((d1전환선[25] + d1기준선[25]) / 2);
d1선행스팬2 = data1((Highest(H, 52)[25] + Lowest(L, 52)[25]) / 2);
d1선행스팬3 = data1((highest(H,48)+lowest(L,48))/2);
d2전환선 = data2((Highest(H, 9) + Lowest(L, 9)) / 2);
d2기준선 = data2((Highest(H, 26) + Lowest(L, 26)) / 2);
d2선행스팬1 = data2((d2전환선[25] + d2기준선[25]) / 2);
d2선행스팬2 = data2((Highest(H, 52)[25] + Lowest(L, 52)[25]) / 2);
d2선행스팬3 = data2((highest(H,48)+lowest(L,48))/2);
/************************************************************************/
Input : Period1(200),Period2(100);
var : d1CCIv(0,data1),d1CCIs(0,data1);
var : d2CCIv(0,data2),d2CCIs(0,data2);
d1CCIv = data1(CCI(Period1));
d1CCIs = data1(ema(d1CCIv,Period2));
/***************************************/
Input : short(60),long(130),sig(9);
Var : d1MACDv(0,data1),d1MACDS(0,data1);
Var : d2MACDv(0,data2),d2MACDS(0,data2);
d1MACDv = data1(MACD(short, long));
d1MACDs = data1(ema(d1MACDv,sig));
d2MACDv = data2(MACD(short, long));
d2MACDs = data2(ema(d2MACDv,sig));
/*****************************************/
Input: DIP(112);
var : d1DP1(0,data1),d1DM1(0,data1),d1ZZ(0,data1),d1var6(0,data1);
var : d2DP1(0,data2),d2DM1(0,data2),d2ZZ(0,data2),d2var6(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; #BASELINE: 0.5 #
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(d1DP1-d1DM1, 2), 2)),20));
if d2ZZ > d2ZZ[1] Then
d2var6 = 1;
Else
d2var6 = 0; #BASELINE: 0.5 #
/*************************************************/
###################
###### aroon ######
###################
input : Period10(56);
var : d1l(0,data1),d1h(0,data1),d1Counter(0,data1), d1Lowval(0,data1),d1Highval(0,data1);
var : d1DownVel(0,data1),d1UpVel(0,data1),d1DnAroon(0,data1),d1UpAroon(0,data1);
var : d2l(0,data2),d2h(0,data2),d2Counter(0,data2), d2Lowval(0,data2),d2highval(0,data2);
var : d2DownVel(0,data2),d2UpVel(0,data2),d2DnAroon(0,data2),d2UpAroon(0,data2);
d1L = data1(L);
d1H = data1(H);
d1Lowval = data1(Lowest(d1L, Period10+1));
d1Highval = data1(Highest(d1H, Period10+1));
For d1counter= 0 To Period10 {
If d1L[d1counter] == d1Lowval Then
d1DownVel = d1counter;
If d1H[d1counter] == d1highval Then
d1UpVel = d1counter;
}
d1DnAroon = 100*(Period10-d1DownVel)/Period10;
d1UpAroon = 100*(Period10-d1UpVel)/Period10;
d2L = data2(L);
d2H = data2(H);
d2Lowval = data2(Lowest(d2L, Period10+1));
d2Highval = data2(Highest(d2H, Period10+1));
For d2counter= 0 To Period10 {
If d2L[d2counter] == d2Lowval Then
d2DownVel = d2counter;
If d2H[d2counter] == d2highval Then
d2UpVel = d2counter;
}
d2DnAroon = 100*(Period10-d2DownVel)/Period10;
d2UpAroon = 100*(Period10-d2UpVel)/Period10;
/*************************************************/
if data1(crossup(d1전환선,d1선행스팬3)) Then
d1T = 1 ;
if data1(CrossDown(d1전환선,d1선행스팬3)) Then
d1T = -1 ;
if d1T == 1 and d1CCIv > 0 Then
d1T = 2 ;
if d1T == -1 and d1CCIv < 0 Then
d1T = -2 ;
if d1T == 2 and data1(C) > d1선행스팬2 and d1macdv > d1macds and d1var6 == 1 and data1(c) > d1var97 and d1uparoon > d1dnaroon Then{
d1T = 3;
if d2T == 3 then
buy("B1");
}
if d1T == -2 and data1(C) < d1선행스팬2 and d1macdv < d1macds and d1var6 == 0 and data1(c) < d1var95 and d1uparoon < d1dnaroon Then{
d1T = -3;
if d2t == -3 then
sell("S1");
}
/*************************************************/
if data2(crossup(d2전환선,d2선행스팬3)) Then
d2T = 1 ;
if data2(CrossDown(d2전환선,d2선행스팬3)) Then
d2T = -1 ;
if d2T == 1 and d2CCIv > 0 Then
d2T = 2 ;
if d2T == -1 and d2CCIv < 0 Then
d2T = -2 ;
if d2T == 2 and data2(C) > d2선행스팬2 and d2macdv > d2macds and d2var6 == 1 and data2(c) > d2var97 and d2uparoon > d2dnaroon Then{
d2T = 3;
if d1T == 3 then
buy("B2");
}
if d2T == -2 and data2(C) < d2선행스팬2 and d2macdv < d2macds and d2var6 == 0 and data2(c) < d2var95 and d2uparoon < d2dnaroon Then{
d2T = -3;
if d1T == -3 then
sell("S2");
}
##########################
##### stok 돌파청산 #####
##########################
### 본쟈트_200틱 적용시스템 ###
var : stok20(0);
stok20 = data1(StochasticsK(10,5));
if MarketPosition == 1 and crossdown(stok20,50) Then
ExitLong("eB_stok_50");
if MarketPosition == -1 and crossup(stok20,50) Then
ExitShort("eS_stok_50");
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 타주기 시스템 변환
> 항상 감사드립니다
아래식을 타주기시스템으로 변환해 주시기 바랍니다
시스템 신호 발생조건
본챠트 : 200틱봉
타주기 챠트 :3분봉
시스템신호 발생조건 : 아래 매수매도조건식이 본챠트및 타주기챠트를 동시만족시
청산식은 본챠트_200틱봉에만 적용
/********************************************************************/
#########################
### 삼각가중 이평 ########
##########################
Inputs: Length11(200);
Variables: TLen1(0),TRIma1(0);
TLen1 = Ceiling((Length11 + 1) * 0.5);
var97 = ma(ma(H, TLen1), TLen1); #72삼각가중이평_고가#
var96 = ma(ma(C, TLen1), TLen1); #72삼각가중이평_종가#
var95 = ma(ma(L, TLen1), TLen1); #72삼각가중이평_저가#
/**************************************************************************/
Var : 기준선(0), 전환선(0), 선행스팬1(0), 선행스팬2(0),선행스팬3(0),T(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;
/************************************************************************/
Input : Period1(200),Period2(100);
var : CCIv(0),CCIs(0);
CCIv = CCI(Period1);
CCIs = ema(CCIv,Period2);
/***************************************/
Input : short(60),long(130),sig(9);
Var : MACDv(0),MACDS(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
/*****************************************/
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; #BASELINE: 0.5 #
/*************************************************/
###################
###### 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;
/*************************************************/
if crossup(전환선,선행스팬3) Then
T = 1 ;
if CrossDown(전환선,선행스팬3) Then
T = -1 ;
if T==1 and CCIv>0 Then
T = 2 ;
if T==-1 and CCIv<0 Then
T = -2 ;
if T == 2 and C > 선행스팬2 and macdv>macds and var6==1 and c>var97
and uparoon>dnaroon Then{
T = 3;
buy("B1");
}
if T == -2 and C < 선행스팬2 and macdv<macds and var6==0 and c<var95
and uparoon<dnaroon Then{
T = -3;
sell("S1");
}
##########################
##### 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");