커뮤니티
수식변환2 부탁드립니다.
2013-04-03 15:54:23
278
글번호 61648
격무에 바쁘실 텐데 다음의 EL식을 YL식으로 변환 부탁드립니다.
지표식1.
inputs:
Price(( High + Low ) / 2 ),
Period( 20 ),
BPDdelta( 0.1 ) ;
variables:
BPGamma( 0 ),
BPAlpha( 0 ),
BPBeta( 0 ),
BP( 0 ) ;
BPBeta = Cosine( 360 / Period ) ;
BPGamma = 1 / Cosine( 720 * BPDdelta / Period ) ;
BPAlpha = BPGamma - SquareRoot( BPGamma * BPGamma - 1 ) ;
BP = 0.5 * ( 1 - BPAlpha ) * ( Price - Price[2] ) +
BPBeta * ( 1 + BPAlpha ) * BP[1] - BPAlpha * BP[2] ;
Plot1( BP ) ;
Plot2( 0 ) ;
지표식2.
inputs:
TEMA_Period( 8 ),
Period( 18 ),
UpperBandDev( 1.6 ),
LowerBandDev( 1.6 ),
StandardDevPeriod( 63 ),
BandColor( Cyan ),
SignalLineColor( Magenta ),
MidPointColor( White ) ;
variables:
OkToPlot( false ),
haOpen( 0 ),
haC( 0 ),
TMA1( 0 ),
TMA2( 0 ),
Diff( 0 ),
Z1HA( 0 ),
TMAZ1HA( 0 ),
SD_TMAZ1HA( 0 ),
SVEPerB( 0 ),
SDPerB( 0 ),
PerBUpperBand( 0 ),
PerBLowerBand( 0 ) ;
Once( CurrentBar > StandardDevPeriod )
OkToPlot = true ;
haOpen = 0.5 * ( AvgPrice + haOpen[1] ) ;
haC = 0.25 * ( AvgPrice + haOpen + MaxList( High,
haOpen ) + Minlist( Low, haOpen ) ) ;
TMA1 = TEMA( haC, TEMA_Period ) ;
TMA2 = TEMA( TMA1, TEMA_Period ) ;
Diff = TMA1 - TMA2 ;
Z1HA = TMA1 + Diff ;
TMAZ1HA = TEMA( Z1HA, TEMA_Period ) ;
SD_TMAZ1HA = StandardDev( TMAZ1HA, Period, 1 ) ;
if SD_TMAZ1HA <> 0 then
SVEPerB = 25 * ( TMAZ1HA + 2 * SD_TMAZ1HA -
WAverage( TMAZ1HA, Period ) ) / SD_TMAZ1HA ;
SDPerB = StandardDev( SVEPerB, StandardDevPeriod, 1 ) ;
PerBUpperBand = 50 + UpperBandDev * SDPerB ;
PerBLowerBand = 50 - LowerBandDev * SDPerB ;
if OkToPlot then
begin
Plot1( SVEPerB, "SVE_%b", SignalLineColor ) ;
Plot2( PerBUpperBand, "PerBUpBand", BandColor ) ;
Plot3( PerBLowerBand, "LowerBand", BandColor ) ;
Plot4( 50, "MidPoint", MidPointColor ) ;
end ;
답변 1
예스스탁 예스스탁 답변
2013-04-03 18:26:08
안녕하세요
예스스탁입니다.
지표1
inputs:
Period( 20 ),
BPDdelta( 0.1 ) ;
variables:
BPGamma( 0 ),
BPAlpha( 0 ),
BPBeta( 0 ),
BPv( 0 ),
Price( 0) ;
Price = ( High + Low ) / 2;
BPBeta = Cosine( 360 / Period ) ;
BPGamma = 1 / Cosine( 720 * BPDdelta / Period ) ;
BPAlpha = BPGamma - SquareRoot( BPGamma * BPGamma - 1 ) ;
BPv = 0.5 * ( 1 - BPAlpha ) * ( Price - Price[2] ) +
BPBeta * ( 1 + BPAlpha ) * BPv[1] - BPAlpha * BPv[2] ;
Plot1( BPv ) ;
Plot2( 0 ) ;
지표2
식내에 Once가 어떤 기능을 하는 함수인지 몰라 변경하지 못했습니다.
즐거운 하루되세요
> 예시스 님이 쓴 글입니다.
> 제목 : 수식변환2 부탁드립니다.
> 격무에 바쁘실 텐데 다음의 EL식을 YL식으로 변환 부탁드립니다.
지표식1.
inputs:
Price(( High + Low ) / 2 ),
Period( 20 ),
BPDdelta( 0.1 ) ;
variables:
BPGamma( 0 ),
BPAlpha( 0 ),
BPBeta( 0 ),
BP( 0 ) ;
BPBeta = Cosine( 360 / Period ) ;
BPGamma = 1 / Cosine( 720 * BPDdelta / Period ) ;
BPAlpha = BPGamma - SquareRoot( BPGamma * BPGamma - 1 ) ;
BP = 0.5 * ( 1 - BPAlpha ) * ( Price - Price[2] ) +
BPBeta * ( 1 + BPAlpha ) * BP[1] - BPAlpha * BP[2] ;
Plot1( BP ) ;
Plot2( 0 ) ;
지표식2.
inputs:
TEMA_Period( 8 ),
Period( 18 ),
UpperBandDev( 1.6 ),
LowerBandDev( 1.6 ),
StandardDevPeriod( 63 ),
BandColor( Cyan ),
SignalLineColor( Magenta ),
MidPointColor( White ) ;
variables:
OkToPlot( false ),
haOpen( 0 ),
haC( 0 ),
TMA1( 0 ),
TMA2( 0 ),
Diff( 0 ),
Z1HA( 0 ),
TMAZ1HA( 0 ),
SD_TMAZ1HA( 0 ),
SVEPerB( 0 ),
SDPerB( 0 ),
PerBUpperBand( 0 ),
PerBLowerBand( 0 ) ;
Once( CurrentBar > StandardDevPeriod )
OkToPlot = true ;
haOpen = 0.5 * ( AvgPrice + haOpen[1] ) ;
haC = 0.25 * ( AvgPrice + haOpen + MaxList( High,
haOpen ) + Minlist( Low, haOpen ) ) ;
TMA1 = TEMA( haC, TEMA_Period ) ;
TMA2 = TEMA( TMA1, TEMA_Period ) ;
Diff = TMA1 - TMA2 ;
Z1HA = TMA1 + Diff ;
TMAZ1HA = TEMA( Z1HA, TEMA_Period ) ;
SD_TMAZ1HA = StandardDev( TMAZ1HA, Period, 1 ) ;
if SD_TMAZ1HA <> 0 then
SVEPerB = 25 * ( TMAZ1HA + 2 * SD_TMAZ1HA -
WAverage( TMAZ1HA, Period ) ) / SD_TMAZ1HA ;
SDPerB = StandardDev( SVEPerB, StandardDevPeriod, 1 ) ;
PerBUpperBand = 50 + UpperBandDev * SDPerB ;
PerBLowerBand = 50 - LowerBandDev * SDPerB ;
if OkToPlot then
begin
Plot1( SVEPerB, "SVE_%b", SignalLineColor ) ;
Plot2( PerBUpperBand, "PerBUpBand", BandColor ) ;
Plot3( PerBLowerBand, "LowerBand", BandColor ) ;
Plot4( 50, "MidPoint", MidPointColor ) ;
end ;