답변완료
수식작성 부탁드립니다
증권사 지표인데 예스랭귀지수식으로 전환 부탁드립니다.
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);
감사합니다.
2021-03-31
1275
글번호 147549
지표
답변완료
수정부탁드립니다
$,아래식에서 Text 출력을 가격연산기능은 유지하고 틱수연산기능만 삭제하고 십은데
잘 안됩니다...불필요한 수식정리도 함께 부탁드립니다.
도움 부탁드립니다.
input : af(0.02), maxAF(0.2),텍스트출력(1),크기(0);;
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0),TL1(0),TL2(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),tl7(0),tx1(0),tx2(0),tx11(0),tx22(0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
if LL > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLUE);
Text_SetSize(tx11,크기);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,BLUE);
Text_SetSize(tx1,크기);
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
if HH > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,MAGENTA);
Text_Delete(tx2);
Text_SetSize(tx22,크기);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Text_SetSize(tx2,크기);
}
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,BLUE);
Text_SetSize(tx1,크기);
}
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Text_SetSize(tx2,크기);
}
}
}
$,미리 감사드립니다.
2021-03-31
885
글번호 147546
지표