커뮤니티
22711이 답변에 대한 수정문의
2012-02-05 22:45:18
439
글번호 47388
답변을 주셔서 감사드립니다. 그런데 사용자함수에서 기존식을 다른이름으로 복사한후답변주신 내용을 붙여 넣어 적용을 해보니 CIV를 제외하고 모두 "선언되지 안은 이름"이 사용되었다고 에러메세지가 나옵니다.
점검 부탁드립니다. 감사합니다. ^^
====================================================
안녕하세요
예스스탁입니다.
우선 CCi, MACD, DMI, Stochastics함수를
다른값을 넣어서 계산하는 함수로 따로 만드셔야 합니다.
아래 함수를 모두 사용자함수로 작성하신 후에 아래쪽의
시스템식에서 이용하시면 됩니다.
***************
함수명 : CCIV
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Sum(0), Counter(0), MD(0), Avgvalue(0);
If Length > 0 Then Begin
Avgvalue = Ma(Price, Length);
MD = 0;
For counter = 0 To Length - 1 Begin
MD = MD + Abs(Price[counter] - Avgvalue);
End;
MD = MD / Length;
If MD == 0 Then
CCIv = 0;
Else
CCIv = (Price - Avgvalue) / (0.015 * MD);
End
Else
CCIv = 0;
***************
함수명 : MACDV
***************
Input : Price(Numeric),shortPeriod(NumericSimple), longPeriod(NumericSimple);
MACDv = ema(Price, shortPeriod) - ema(Price, longPeriod);
***************
함수명 : StochasticsKv
***************
Input : Price(Numeric),Period(NumericSimple),Period1(NumericSimple);
Var : Value_Lowest(0), Value_Highest(0),FtK(0);
Value_Lowest = Lowest(Price, Period);
Value_Highest = Highest(Price, Period);
FtK = (Price - Value_Lowest) / (Value_Highest - Value_Lowest) * 100;
StochasticsKv = ema(FTK,Period1);
***************
함수명 : StochasticsDv
***************
Input : Price(Numeric),Period(NumericSimple),Period1(NumericSimple),Period2(NumericSimple);
var1 = StochasticsKv(Price,Period,Period1);
StochasticsDv = ema(var1,Period2);
***************
함수명 : DIPlusv
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0);
If CurrentBar == 1 Then {
MyRange = Length;
DIPlusv = 0;
PlusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange - 1 {
If Price[Counter] - Price[Counter+1] < 0 Then
PlusDM = 0 ;
Else
PlusDM = Price[Counter] - Price[Counter+1];
If Price[Counter+1] - Price[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[Counter+1] - Price[Counter];
If MinusDM >= PlusDM Then
PlusDM = 0;
TRange = TRange + Price[Counter];
PlusDM14 = PlusDM14 + PlusDM;
}
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
}
Else
If CurrentBar > 1 Then Begin
If Price[0] - Price[1] < 0 Then
PlusDM = 0;
Else
PlusDM = Price[0] - Price[1];
If Price [1] - Price [0] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[1] - Price[0];
If MinusDM >= PlusDM Then
PlusDM = 0;
If MyRange > 0 Then Begin
TRange = TRange[1] - (TRange[1] / MyRange) + Price;
PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM;
End;
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
End ;
***************
함수명 : DIMinusv
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Counter(0), TRange(0), MyRange(Length), MinusDM14(0), MinusDM(0), PlusDM(0);
If CurrentBar == 1 Then{
MyRange = Length;
DIMinusv = 0;
MinusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange-1 {
If Price[Counter] - Price[Counter+1] < 0 Then
PlusDM = 0 ;
Else
PlusDM = Price[Counter] - Price[Counter + 1];
If Price[Counter + 1] - Price[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[Counter + 1] - Price[Counter];
If PlusDM >= MinusDM Then
MinusDM = 0;
TRange = TRange + Price[Counter];
MinusDM14 = MinusDM14 + MinusDM;
}
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
}
Else
If CurrentBar > 1 Then {
If Price[0] - Price[1] < 0 Then
PlusDM = 0;
Else
PlusDM = Price[0] - Price[1];
If Price[1] - Price [0] < 0 Then
MinusDM = 0 ;
Else
MinusDM = Price[1] - Price[0] ;
If PlusDM >= MinusDM Then
MinusDM = 0 ;
If MyRange > 0 Then {
TRange = TRange[1] - (TRange[1] / MyRange) + Price;
MinusDM14 = MinusDM14[1] - (MinusDM14[1] / MyRange) + MinusDM;
}
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
}
***************
함수명 : DMIV
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: DMIP(0), DMIM(0);
DMIP = DIPlusv(Price,Length);
DMIM = DIMinusv(Price,Length);
If DMIP + DMIM == 0 Then
DMIv = 0;
Else
DMIv = 100 * AbsValue(DMIP - DMIM) / (DMIP + DMIM);
***************
시스템식 CCiv_MACDv_DMIv_Stochasticsv
임의값은 var1이라고 지정했습니다.해당 내용 변경하시면 됩니다.
***************
input : CCIP(9),MACDP1(12),MACDP2(26),DMIP(14),StoP1(12),StoP2(5),StoP3(5);
Var : value(0);
value = 0;
# 매수 / 매도청산
If CCIv(var1,CCIP) > 0 Then
value = 1;
If MACDv(var1,MACDP1,MACDP2) > 0 Then
value = value+1;
If DIPlusv(var1,DMIP) > DIMinusv(var1,DMIP) Then
value = value+1;
If StochasticsKv(var1,StoP1,StoP2) > StochasticsDv(var1,StoP1,StoP2,StoP3) Then
value = value+1;
# 매수/매도청산
If value >= 3 Then
{
Buy();
}
value = 0;
# 매도/매수청산
If CCIv(var1,CCIP) < 0 Then
value = 1;
If MACDv(var1,MACDP1,MACDP2) < 0 Then
value = value+1;
If DIPlusv(var1,DMIP) < DIMinusv(var1,DMIP) Then
value = value+1;
If StochasticsKv(var1,StoP1,StoP2) < StochasticsDv(var1,StoP1,StoP2,StoP3) Then
value = value+1;
If value >= 3 Then
{
Sell();
}
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 지수값이 아니 다른데이터 적용
> 시스템매매에 기본식중 하나인 "CCi_MACD_DMI_Stochastics를 모두 적용하는 수식"의
기본 데이터 값을 제가 가공한 데이터로 바꿔서 적용시키고 싶습니다.
사용자함수를 변형해서 적용하는 방법을 아래의 예와같이 안내 받았느데
나머지 지표에도 적용하는데 어려움이 있읍니다. 도움부탁드립니다.
*******
TRIX 식
*******
Input : Period(NumericSimple);
Var : value1(0), value2(0), value3(0);
value1 = ema(C, Period);
value2 = ema(value1, Period);
value3 = ema(value2, Period);
TRIX = (value3 - value3[1]) / value3[1] * 100;
***************
TRIX변형
***************
Input : Price(Numeric),Period(NumericSimple);
Var : value1(0), value2(0), value3(0);
value1 = ema(Price, Period);
value2 = ema(value1, Period);
value3 = ema(value2, Period);
TRIXP = (value3 - value3[1]) / value3[1] * 100;
답변 2
예스스탁 예스스탁 답변
2012-02-06 15:37:20
안녕하세요
예스스탁입니다.
올려드린 내용으로 다시 작성해 보았지만
모두 이상없이 작성됩니다.
위에서 순서대로 작성하시고 검증절차를 모두 완료하신 후에
사용하시기 바랍니다.
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 22711이 답변에 대한 수정문의
> 답변을 주셔서 감사드립니다. 그런데 사용자함수에서 기존식을 다른이름으로 복사한후답변주신 내용을 붙여 넣어 적용을 해보니 CIV를 제외하고 모두 "선언되지 안은 이름"이 사용되었다고 에러메세지가 나옵니다.
점검 부탁드립니다. 감사합니다. ^^
====================================================
안녕하세요
예스스탁입니다.
우선 CCi, MACD, DMI, Stochastics함수를
다른값을 넣어서 계산하는 함수로 따로 만드셔야 합니다.
아래 함수를 모두 사용자함수로 작성하신 후에 아래쪽의
시스템식에서 이용하시면 됩니다.
***************
함수명 : CCIV
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Sum(0), Counter(0), MD(0), Avgvalue(0);
If Length > 0 Then Begin
Avgvalue = Ma(Price, Length);
MD = 0;
For counter = 0 To Length - 1 Begin
MD = MD + Abs(Price[counter] - Avgvalue);
End;
MD = MD / Length;
If MD == 0 Then
CCIv = 0;
Else
CCIv = (Price - Avgvalue) / (0.015 * MD);
End
Else
CCIv = 0;
***************
함수명 : MACDV
***************
Input : Price(Numeric),shortPeriod(NumericSimple), longPeriod(NumericSimple);
MACDv = ema(Price, shortPeriod) - ema(Price, longPeriod);
***************
함수명 : StochasticsKv
***************
Input : Price(Numeric),Period(NumericSimple),Period1(NumericSimple);
Var : Value_Lowest(0), Value_Highest(0),FtK(0);
Value_Lowest = Lowest(Price, Period);
Value_Highest = Highest(Price, Period);
FtK = (Price - Value_Lowest) / (Value_Highest - Value_Lowest) * 100;
StochasticsKv = ema(FTK,Period1);
***************
함수명 : StochasticsDv
***************
Input : Price(Numeric),Period(NumericSimple),Period1(NumericSimple),Period2(NumericSimple);
var1 = StochasticsKv(Price,Period,Period1);
StochasticsDv = ema(var1,Period2);
***************
함수명 : DIPlusv
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0);
If CurrentBar == 1 Then {
MyRange = Length;
DIPlusv = 0;
PlusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange - 1 {
If Price[Counter] - Price[Counter+1] < 0 Then
PlusDM = 0 ;
Else
PlusDM = Price[Counter] - Price[Counter+1];
If Price[Counter+1] - Price[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[Counter+1] - Price[Counter];
If MinusDM >= PlusDM Then
PlusDM = 0;
TRange = TRange + Price[Counter];
PlusDM14 = PlusDM14 + PlusDM;
}
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
}
Else
If CurrentBar > 1 Then Begin
If Price[0] - Price[1] < 0 Then
PlusDM = 0;
Else
PlusDM = Price[0] - Price[1];
If Price [1] - Price [0] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[1] - Price[0];
If MinusDM >= PlusDM Then
PlusDM = 0;
If MyRange > 0 Then Begin
TRange = TRange[1] - (TRange[1] / MyRange) + Price;
PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM;
End;
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
End ;
***************
함수명 : DIMinusv
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Counter(0), TRange(0), MyRange(Length), MinusDM14(0), MinusDM(0), PlusDM(0);
If CurrentBar == 1 Then{
MyRange = Length;
DIMinusv = 0;
MinusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange-1 {
If Price[Counter] - Price[Counter+1] < 0 Then
PlusDM = 0 ;
Else
PlusDM = Price[Counter] - Price[Counter + 1];
If Price[Counter + 1] - Price[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[Counter + 1] - Price[Counter];
If PlusDM >= MinusDM Then
MinusDM = 0;
TRange = TRange + Price[Counter];
MinusDM14 = MinusDM14 + MinusDM;
}
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
}
Else
If CurrentBar > 1 Then {
If Price[0] - Price[1] < 0 Then
PlusDM = 0;
Else
PlusDM = Price[0] - Price[1];
If Price[1] - Price [0] < 0 Then
MinusDM = 0 ;
Else
MinusDM = Price[1] - Price[0] ;
If PlusDM >= MinusDM Then
MinusDM = 0 ;
If MyRange > 0 Then {
TRange = TRange[1] - (TRange[1] / MyRange) + Price;
MinusDM14 = MinusDM14[1] - (MinusDM14[1] / MyRange) + MinusDM;
}
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
}
***************
함수명 : DMIV
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: DMIP(0), DMIM(0);
DMIP = DIPlusv(Price,Length);
DMIM = DIMinusv(Price,Length);
If DMIP + DMIM == 0 Then
DMIv = 0;
Else
DMIv = 100 * AbsValue(DMIP - DMIM) / (DMIP + DMIM);
***************
시스템식 CCiv_MACDv_DMIv_Stochasticsv
임의값은 var1이라고 지정했습니다.해당 내용 변경하시면 됩니다.
***************
input : CCIP(9),MACDP1(12),MACDP2(26),DMIP(14),StoP1(12),StoP2(5),StoP3(5);
Var : value(0);
value = 0;
# 매수 / 매도청산
If CCIv(var1,CCIP) > 0 Then
value = 1;
If MACDv(var1,MACDP1,MACDP2) > 0 Then
value = value+1;
If DIPlusv(var1,DMIP) > DIMinusv(var1,DMIP) Then
value = value+1;
If StochasticsKv(var1,StoP1,StoP2) > StochasticsDv(var1,StoP1,StoP2,StoP3) Then
value = value+1;
# 매수/매도청산
If value >= 3 Then
{
Buy();
}
value = 0;
# 매도/매수청산
If CCIv(var1,CCIP) < 0 Then
value = 1;
If MACDv(var1,MACDP1,MACDP2) < 0 Then
value = value+1;
If DIPlusv(var1,DMIP) < DIMinusv(var1,DMIP) Then
value = value+1;
If StochasticsKv(var1,StoP1,StoP2) < StochasticsDv(var1,StoP1,StoP2,StoP3) Then
value = value+1;
If value >= 3 Then
{
Sell();
}
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 지수값이 아니 다른데이터 적용
> 시스템매매에 기본식중 하나인 "CCi_MACD_DMI_Stochastics를 모두 적용하는 수식"의
기본 데이터 값을 제가 가공한 데이터로 바꿔서 적용시키고 싶습니다.
사용자함수를 변형해서 적용하는 방법을 아래의 예와같이 안내 받았느데
나머지 지표에도 적용하는데 어려움이 있읍니다. 도움부탁드립니다.
*******
TRIX 식
*******
Input : Period(NumericSimple);
Var : value1(0), value2(0), value3(0);
value1 = ema(C, Period);
value2 = ema(value1, Period);
value3 = ema(value2, Period);
TRIX = (value3 - value3[1]) / value3[1] * 100;
***************
TRIX변형
***************
Input : Price(Numeric),Period(NumericSimple);
Var : value1(0), value2(0), value3(0);
value1 = ema(Price, Period);
value2 = ema(value1, Period);
value3 = ema(value2, Period);
TRIXP = (value3 - value3[1]) / value3[1] * 100;
스로우
2012-02-07 19:44:30
말씀하시니대로 사용자함수에 가서 새로 서식을 작성해 봐도 여전히 에러가 뜹니다.
그래서 스샸을 첨부하니 확인해 보시고 도움주시기 부탁드립니다.
감사합니다. ^^
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 22711이 답변에 대한 수정문의
> 안녕하세요
예스스탁입니다.
올려드린 내용으로 다시 작성해 보았지만
모두 이상없이 작성됩니다.
위에서 순서대로 작성하시고 검증절차를 모두 완료하신 후에
사용하시기 바랍니다.
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 22711이 답변에 대한 수정문의
> 답변을 주셔서 감사드립니다. 그런데 사용자함수에서 기존식을 다른이름으로 복사한후답변주신 내용을 붙여 넣어 적용을 해보니 CIV를 제외하고 모두 "선언되지 안은 이름"이 사용되었다고 에러메세지가 나옵니다.
점검 부탁드립니다. 감사합니다. ^^
====================================================
안녕하세요
예스스탁입니다.
우선 CCi, MACD, DMI, Stochastics함수를
다른값을 넣어서 계산하는 함수로 따로 만드셔야 합니다.
아래 함수를 모두 사용자함수로 작성하신 후에 아래쪽의
시스템식에서 이용하시면 됩니다.
***************
함수명 : CCIV
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Sum(0), Counter(0), MD(0), Avgvalue(0);
If Length > 0 Then Begin
Avgvalue = Ma(Price, Length);
MD = 0;
For counter = 0 To Length - 1 Begin
MD = MD + Abs(Price[counter] - Avgvalue);
End;
MD = MD / Length;
If MD == 0 Then
CCIv = 0;
Else
CCIv = (Price - Avgvalue) / (0.015 * MD);
End
Else
CCIv = 0;
***************
함수명 : MACDV
***************
Input : Price(Numeric),shortPeriod(NumericSimple), longPeriod(NumericSimple);
MACDv = ema(Price, shortPeriod) - ema(Price, longPeriod);
***************
함수명 : StochasticsKv
***************
Input : Price(Numeric),Period(NumericSimple),Period1(NumericSimple);
Var : Value_Lowest(0), Value_Highest(0),FtK(0);
Value_Lowest = Lowest(Price, Period);
Value_Highest = Highest(Price, Period);
FtK = (Price - Value_Lowest) / (Value_Highest - Value_Lowest) * 100;
StochasticsKv = ema(FTK,Period1);
***************
함수명 : StochasticsDv
***************
Input : Price(Numeric),Period(NumericSimple),Period1(NumericSimple),Period2(NumericSimple);
var1 = StochasticsKv(Price,Period,Period1);
StochasticsDv = ema(var1,Period2);
***************
함수명 : DIPlusv
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Counter(0), TRange(0), MyRange(Length), PlusDM14(0), PlusDM(0), MinusDM(0);
If CurrentBar == 1 Then {
MyRange = Length;
DIPlusv = 0;
PlusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange - 1 {
If Price[Counter] - Price[Counter+1] < 0 Then
PlusDM = 0 ;
Else
PlusDM = Price[Counter] - Price[Counter+1];
If Price[Counter+1] - Price[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[Counter+1] - Price[Counter];
If MinusDM >= PlusDM Then
PlusDM = 0;
TRange = TRange + Price[Counter];
PlusDM14 = PlusDM14 + PlusDM;
}
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
}
Else
If CurrentBar > 1 Then Begin
If Price[0] - Price[1] < 0 Then
PlusDM = 0;
Else
PlusDM = Price[0] - Price[1];
If Price [1] - Price [0] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[1] - Price[0];
If MinusDM >= PlusDM Then
PlusDM = 0;
If MyRange > 0 Then Begin
TRange = TRange[1] - (TRange[1] / MyRange) + Price;
PlusDM14 = PlusDM14[1] - (PlusDM14[1] / MyRange) + PlusDM;
End;
If TRange <> 0 Then
DIPlusv = 100 * PlusDM14 / TRange;
Else
DIPlusv = 0 ;
End ;
***************
함수명 : DIMinusv
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Counter(0), TRange(0), MyRange(Length), MinusDM14(0), MinusDM(0), PlusDM(0);
If CurrentBar == 1 Then{
MyRange = Length;
DIMinusv = 0;
MinusDM14 = 0;
TRange = 0;
For Counter = 0 To MyRange-1 {
If Price[Counter] - Price[Counter+1] < 0 Then
PlusDM = 0 ;
Else
PlusDM = Price[Counter] - Price[Counter + 1];
If Price[Counter + 1] - Price[Counter] < 0 Then
MinusDM = 0;
Else
MinusDM = Price[Counter + 1] - Price[Counter];
If PlusDM >= MinusDM Then
MinusDM = 0;
TRange = TRange + Price[Counter];
MinusDM14 = MinusDM14 + MinusDM;
}
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
}
Else
If CurrentBar > 1 Then {
If Price[0] - Price[1] < 0 Then
PlusDM = 0;
Else
PlusDM = Price[0] - Price[1];
If Price[1] - Price [0] < 0 Then
MinusDM = 0 ;
Else
MinusDM = Price[1] - Price[0] ;
If PlusDM >= MinusDM Then
MinusDM = 0 ;
If MyRange > 0 Then {
TRange = TRange[1] - (TRange[1] / MyRange) + Price;
MinusDM14 = MinusDM14[1] - (MinusDM14[1] / MyRange) + MinusDM;
}
If TRange <> 0 Then
DIMinusv = 100 * MinusDM14 / TRange;
Else
DIMinusv = 0;
}
***************
함수명 : DMIV
***************
Inputs: Price(Numeric),Length(NumericSimple);
Variables: DMIP(0), DMIM(0);
DMIP = DIPlusv(Price,Length);
DMIM = DIMinusv(Price,Length);
If DMIP + DMIM == 0 Then
DMIv = 0;
Else
DMIv = 100 * AbsValue(DMIP - DMIM) / (DMIP + DMIM);
***************
시스템식 CCiv_MACDv_DMIv_Stochasticsv
임의값은 var1이라고 지정했습니다.해당 내용 변경하시면 됩니다.
***************
input : CCIP(9),MACDP1(12),MACDP2(26),DMIP(14),StoP1(12),StoP2(5),StoP3(5);
Var : value(0);
value = 0;
# 매수 / 매도청산
If CCIv(var1,CCIP) > 0 Then
value = 1;
If MACDv(var1,MACDP1,MACDP2) > 0 Then
value = value+1;
If DIPlusv(var1,DMIP) > DIMinusv(var1,DMIP) Then
value = value+1;
If StochasticsKv(var1,StoP1,StoP2) > StochasticsDv(var1,StoP1,StoP2,StoP3) Then
value = value+1;
# 매수/매도청산
If value >= 3 Then
{
Buy();
}
value = 0;
# 매도/매수청산
If CCIv(var1,CCIP) < 0 Then
value = 1;
If MACDv(var1,MACDP1,MACDP2) < 0 Then
value = value+1;
If DIPlusv(var1,DMIP) < DIMinusv(var1,DMIP) Then
value = value+1;
If StochasticsKv(var1,StoP1,StoP2) < StochasticsDv(var1,StoP1,StoP2,StoP3) Then
value = value+1;
If value >= 3 Then
{
Sell();
}
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 지수값이 아니 다른데이터 적용
> 시스템매매에 기본식중 하나인 "CCi_MACD_DMI_Stochastics를 모두 적용하는 수식"의
기본 데이터 값을 제가 가공한 데이터로 바꿔서 적용시키고 싶습니다.
사용자함수를 변형해서 적용하는 방법을 아래의 예와같이 안내 받았느데
나머지 지표에도 적용하는데 어려움이 있읍니다. 도움부탁드립니다.
*******
TRIX 식
*******
Input : Period(NumericSimple);
Var : value1(0), value2(0), value3(0);
value1 = ema(C, Period);
value2 = ema(value1, Period);
value3 = ema(value2, Period);
TRIX = (value3 - value3[1]) / value3[1] * 100;
***************
TRIX변형
***************
Input : Price(Numeric),Period(NumericSimple);
Var : value1(0), value2(0), value3(0);
value1 = ema(Price, Period);
value2 = ema(value1, Period);
value3 = ema(value2, Period);
TRIXP = (value3 - value3[1]) / value3[1] * 100;
다음글