예스스탁
예스스탁 답변
2021-03-31 14:06:54
안녕하세요
예스스탁입니다.
1
Input :SonarPeriod(20), //Sonar 기간
SignalPeriod(9), //시그널기간
SimridoPeriod( 10 ); //심리도 기간
Vars :
SonarValue(0),
SimridoValue(0),
v0(0),
v1(0),Value(0);
v0 = SONAR(SonarPeriod);
SonarValue = MA(v0, SignalPeriod);
if SonarValue > SonarValue[1] then
Value = 1;
else
Value = 0;
SimridoValue = AccumN(Value, SimridoPeriod) * 100 / SimridoPeriod;
Plot1(SimridoValue, "Sonar+Simrido");
2
input :
Period(20), // 볼린져밴드 적용기간
Mult(2), // 승수
FastKPeriod(14), //스톡캐스틱변수1
SlowKPeriod(3), //스톡캐스틱변수2
SlowDPeriod(3), //스톡캐스틱변수3
_MaType_(0), //이평방법, 0은 단순이동평균
_SignalShow_(1); //지표신호표시 1
Variables :
UpLine(0),
DownLine(0),
MidLine(0),
BollValue(0),
StoValue(0),
v0(0),
v1(0),
v2(0);
UpLine = BollBandUp(Period, Mult);
DownLine = BollBandDown(Period, Mult);
MidLine = ma(C, Period);
if ( UpLine - DownLine) <> 0 Then
BollValue = ( C - DownLine) / ( UpLine - DownLine) * 100;
Else
BollValue = 0;
v0 = (Highest(BollValue,FastKPeriod)-lowest(BollValue,FastKPeriod));
if v0 <> 0 Then
v1 = (BollValue - Lowest(BollValue,FastKPeriod))/ v0 * 100 ;
Else
v1 = 0;
v2 = MA(v1, SlowKPeriod);
StoValue = MA( v2, SlowDPeriod);
Plot1(v2, "%B+Slow%K") ;
Plot2(StoValue, "%B+Slow%D") ;
// 지표신호 표시
if CrossUp(v2, StoValue) Then Plot3(1);
Else if CrossDown(v2, StoValue) Then Plot3(2);
Else Plot3(0);
즐거운 하루되세요
> 푸른물결 님이 쓴 글입니다.
> 제목 : 수식작성 부탁드립니다
> 증권사 지표인데 예스랭귀지수식으로 전환 부탁드립니다.
1.Sonar+심리도
Input :
_PRICE_( C ), //가격
SonarPeriod(20), //Sonar 기간
SignalPeriod(9), //시그널기간
SimridoPeriod( 10 ), //심리도 기간
_MaType_(0); //이평방법, 0은 단순이평
Vars :
SonarValue(0),
SimridoValue(0),
v0(0),
v1(0);
v0 = SONAR(_PRICE_, SonarPeriod, _MaType_);
SonarValue = MA(v0, SignalPeriod, _MaType_);
SimridoValue = Simrido(SonarValue, SimridoPeriod);
Plot1(SimridoValue, "Sonar+Simrido");
2.%B+Stochastics
Params :
_PRICE_(C), // 가격
Period(20), // 볼린져밴드 적용기간
Mult(2), // 승수
FastKPeriod(14), //스톡캐스틱변수1
SlowKPeriod(3), //스톡캐스틱변수2
SlowDPeriod(3), //스톡캐스틱변수3
_MaType_(0), //이평방법, 0은 단순이동평균
_SignalShow_(1); //지표신호표시 1
Variables :
UpLine(0),
DownLine(0),
MidLine(0),
BollValue(0),
StoValue(0),
v0(0),
v1(0),
v2(0);
UpLine = BBandsUp(_PRICE_, Period, Mult, _MaType_);
DownLine = BBandsDown(_PRICE_, Period, Mult, _MaType_);
MidLine = BBandsMid(_PRICE_, Period, _MaType_);
if ( UpLine - DownLine) <> 0 Then
BollValue = ( C - DownLine) / ( UpLine - DownLine) * 100
Else
BollValue = 0;
v0 = (Highest(BollValue,FastKPeriod)-lowest(BollValue,FastKPeriod));
if v0 <> 0 Then
v1 = (BollValue - Lowest(BollValue,FastKPeriod))/ v0 * 100
Else
v1 = 0;
v2 = MA(v1, SlowKPeriod, _MaType_ );
StoValue = MA( v2, SlowDPeriod, _MaType_ );
Plot1(v2, "%B+Slow%K") ;
Plot2(StoValue, "%B+Slow%D") ;
// 지표신호 표시
if CrossUp(v2, StoValue) Then Plot3(1)
Else if CrossDown(v2, StoValue) Then Plot3(2)
Else Plot3(0);
감사합니다.