예스스탁
예스스탁 답변
2021-02-17 15:28:06
안녕하세요
예스스탁입니다.
수식에 수정해 드릴 내용이 없습니다.
해당 수식을 검증해 보았지만 첨부된 그림과 같이 오류가 없습니다.
즐거운 하루되세요
> 도여니 님이 쓴 글입니다.
> 제목 : 오류 봐주시면 감사하겠습니다.
> 중간에 dis = Disparity(이격도기간); 에서 오류가 나는데 봐주시면 감사하겠습니다.
input : EMAlength(55);
input : boxp(5);
input : 이격도기간(20);
var : src(0),haOpen(0),haC(0);
var : Ema1(0),Ema2(0),Ema3(0),TMA1(0);
var : Ema4(0),Ema5(0),Ema6(0),TMA2(0);
var : Ema7(0),Ema8(0),Ema9(0),TMA3(0);
var : Ema10(0),Ema11(0),Ema12(0),TMA4(0);
var : IPEK(0),IPEK1(0),YASIN(0),YASIN1(0);
var : mavi(0),kirmizi(0),longCond(False),ShortCond(False),trendState(0);
var : LL(0),k1(0),k2(0),k3(0),box1(False),TopBox(0),BottomBox(0),NH(0),idx(0);
var : v1(0),v2(0),dis(0);
src = (o+h+l+c)/4;
if index == 0 then
{
haOpen = src;
haC = src;
}
else
{
haOpen = (haOpen[1]+ src)/2 ;
haC=(src+haOpen+max(high,haOpen)+min(low,haOpen))/4;
}
EMA1=ema(haC,EMAlength);
EMA2=ema(EMA1,EMAlength);
EMA3=ema(EMA2,EMAlength);
TMA1=3*EMA1-3*EMA2+EMA3;
EMA4=ema(TMA1,EMAlength);
EMA5=ema(EMA4,EMAlength);
EMA6=ema(EMA5,EMAlength);
TMA2=3*EMA4-3*EMA5+EMA6;
IPEK=TMA1-TMA2;
YASIN=TMA1+IPEK;
EMA7=ema((h+l+c)/3,EMAlength);
EMA8=ema(EMA7,EMAlength);
EMA9=ema(EMA8,EMAlength);
TMA3=3*EMA7-3*EMA8+EMA9;
EMA10=ema(TMA3,EMAlength);
EMA11=ema(EMA10,EMAlength);
EMA12=ema(EMA11,EMAlength);
TMA4=3*EMA10-3*EMA11+EMA12;
IPEK1=TMA3-TMA4;
YASIN1=TMA3+IPEK1;
mavi=YASIN1;
kirmizi=YASIN;
longCond=mavi>kirmizi and mavi[1]<=kirmizi[1];
shortCond=mavi<kirmizi and mavi[1]>=kirmizi[1];
trendState = iff(kirmizi < mavi , true ,IFf(kirmizi > mavi , false , trendState[1]));
LL = lowest(low, boxp);
k1 = highest(high, boxp);
k2 = highest(high, boxp - 1);
k3 = highest(high, boxp - 2);
box1 = k3 < k2;
if high > K1[1] Then
{
NH = high;
idx = 0;
}
Else
{
if NH > 0 Then
{
idx = idx+1;
if idx == boxp-2 and box1 == true Then
{
TopBox = NH;
BottomBox = LL;
}
}
}
dis = Disparity(이격도기간);
if LongCond == true Then
Buy("b");
if MarketPosition == 1 Then
{
#진입수량의 70%
v1 = Floor(MaxContracts*0.7);
#진입수량의 30%
v2 = MaxContracts-V1;
if CrossDown(dis,110) Then
ExitLong("bx1",OnClose,DEf,"",v1,1);
if CrossDown(c,BottomBox) Then
ExitLong("bx2",OnClose,DEf,"",v2,1);
}
해외선물 예스스탁 편집기에 돌리니 그 부분에서 오류가 떴는데 이유가 몰까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 오류 봐주시면 감사하겠습니다.
>
안녕하세요
예스스탁입니다.
수식에 수정해 드릴 내용이 없습니다.
해당 수식을 검증해 보았지만 첨부된 그림과 같이 오류가 없습니다.
즐거운 하루되세요
> 도여니 님이 쓴 글입니다.
> 제목 : 오류 봐주시면 감사하겠습니다.
> 중간에 dis = Disparity(이격도기간); 에서 오류가 나는데 봐주시면 감사하겠습니다.
input : EMAlength(55);
input : boxp(5);
input : 이격도기간(20);
var : src(0),haOpen(0),haC(0);
var : Ema1(0),Ema2(0),Ema3(0),TMA1(0);
var : Ema4(0),Ema5(0),Ema6(0),TMA2(0);
var : Ema7(0),Ema8(0),Ema9(0),TMA3(0);
var : Ema10(0),Ema11(0),Ema12(0),TMA4(0);
var : IPEK(0),IPEK1(0),YASIN(0),YASIN1(0);
var : mavi(0),kirmizi(0),longCond(False),ShortCond(False),trendState(0);
var : LL(0),k1(0),k2(0),k3(0),box1(False),TopBox(0),BottomBox(0),NH(0),idx(0);
var : v1(0),v2(0),dis(0);
src = (o+h+l+c)/4;
if index == 0 then
{
haOpen = src;
haC = src;
}
else
{
haOpen = (haOpen[1]+ src)/2 ;
haC=(src+haOpen+max(high,haOpen)+min(low,haOpen))/4;
}
EMA1=ema(haC,EMAlength);
EMA2=ema(EMA1,EMAlength);
EMA3=ema(EMA2,EMAlength);
TMA1=3*EMA1-3*EMA2+EMA3;
EMA4=ema(TMA1,EMAlength);
EMA5=ema(EMA4,EMAlength);
EMA6=ema(EMA5,EMAlength);
TMA2=3*EMA4-3*EMA5+EMA6;
IPEK=TMA1-TMA2;
YASIN=TMA1+IPEK;
EMA7=ema((h+l+c)/3,EMAlength);
EMA8=ema(EMA7,EMAlength);
EMA9=ema(EMA8,EMAlength);
TMA3=3*EMA7-3*EMA8+EMA9;
EMA10=ema(TMA3,EMAlength);
EMA11=ema(EMA10,EMAlength);
EMA12=ema(EMA11,EMAlength);
TMA4=3*EMA10-3*EMA11+EMA12;
IPEK1=TMA3-TMA4;
YASIN1=TMA3+IPEK1;
mavi=YASIN1;
kirmizi=YASIN;
longCond=mavi>kirmizi and mavi[1]<=kirmizi[1];
shortCond=mavi<kirmizi and mavi[1]>=kirmizi[1];
trendState = iff(kirmizi < mavi , true ,IFf(kirmizi > mavi , false , trendState[1]));
LL = lowest(low, boxp);
k1 = highest(high, boxp);
k2 = highest(high, boxp - 1);
k3 = highest(high, boxp - 2);
box1 = k3 < k2;
if high > K1[1] Then
{
NH = high;
idx = 0;
}
Else
{
if NH > 0 Then
{
idx = idx+1;
if idx == boxp-2 and box1 == true Then
{
TopBox = NH;
BottomBox = LL;
}
}
}
dis = Disparity(이격도기간);
if LongCond == true Then
Buy("b");
if MarketPosition == 1 Then
{
#진입수량의 70%
v1 = Floor(MaxContracts*0.7);
#진입수량의 30%
v2 = MaxContracts-V1;
if CrossDown(dis,110) Then
ExitLong("bx1",OnClose,DEf,"",v1,1);
if CrossDown(c,BottomBox) Then
ExitLong("bx2",OnClose,DEf,"",v2,1);
}
예스스탁
예스스탁 답변
2021-02-17 16:57:36
안녕하세요
예스스탁입니다.
Disparity는 기본제공되는 이격도함수입니다.
내컴퓨터 등에서 직접 삭제된 것 같습니다.
첨부된 사용자함수 파일을
프로그램 설치폴더 안의 YesLang > Functions 폴더에 다운받으신 후에 검증하시면 됩니다.
즐거운 하루되세요
> 도여니 님이 쓴 글입니다.
> 제목 : Re : Re : 오류 봐주시면 감사하겠습니다.
> 해외선물 예스스탁 편집기에 돌리니 그 부분에서 오류가 떴는데 이유가 몰까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 오류 봐주시면 감사하겠습니다.
>
안녕하세요
예스스탁입니다.
수식에 수정해 드릴 내용이 없습니다.
해당 수식을 검증해 보았지만 첨부된 그림과 같이 오류가 없습니다.
즐거운 하루되세요
> 도여니 님이 쓴 글입니다.
> 제목 : 오류 봐주시면 감사하겠습니다.
> 중간에 dis = Disparity(이격도기간); 에서 오류가 나는데 봐주시면 감사하겠습니다.
input : EMAlength(55);
input : boxp(5);
input : 이격도기간(20);
var : src(0),haOpen(0),haC(0);
var : Ema1(0),Ema2(0),Ema3(0),TMA1(0);
var : Ema4(0),Ema5(0),Ema6(0),TMA2(0);
var : Ema7(0),Ema8(0),Ema9(0),TMA3(0);
var : Ema10(0),Ema11(0),Ema12(0),TMA4(0);
var : IPEK(0),IPEK1(0),YASIN(0),YASIN1(0);
var : mavi(0),kirmizi(0),longCond(False),ShortCond(False),trendState(0);
var : LL(0),k1(0),k2(0),k3(0),box1(False),TopBox(0),BottomBox(0),NH(0),idx(0);
var : v1(0),v2(0),dis(0);
src = (o+h+l+c)/4;
if index == 0 then
{
haOpen = src;
haC = src;
}
else
{
haOpen = (haOpen[1]+ src)/2 ;
haC=(src+haOpen+max(high,haOpen)+min(low,haOpen))/4;
}
EMA1=ema(haC,EMAlength);
EMA2=ema(EMA1,EMAlength);
EMA3=ema(EMA2,EMAlength);
TMA1=3*EMA1-3*EMA2+EMA3;
EMA4=ema(TMA1,EMAlength);
EMA5=ema(EMA4,EMAlength);
EMA6=ema(EMA5,EMAlength);
TMA2=3*EMA4-3*EMA5+EMA6;
IPEK=TMA1-TMA2;
YASIN=TMA1+IPEK;
EMA7=ema((h+l+c)/3,EMAlength);
EMA8=ema(EMA7,EMAlength);
EMA9=ema(EMA8,EMAlength);
TMA3=3*EMA7-3*EMA8+EMA9;
EMA10=ema(TMA3,EMAlength);
EMA11=ema(EMA10,EMAlength);
EMA12=ema(EMA11,EMAlength);
TMA4=3*EMA10-3*EMA11+EMA12;
IPEK1=TMA3-TMA4;
YASIN1=TMA3+IPEK1;
mavi=YASIN1;
kirmizi=YASIN;
longCond=mavi>kirmizi and mavi[1]<=kirmizi[1];
shortCond=mavi<kirmizi and mavi[1]>=kirmizi[1];
trendState = iff(kirmizi < mavi , true ,IFf(kirmizi > mavi , false , trendState[1]));
LL = lowest(low, boxp);
k1 = highest(high, boxp);
k2 = highest(high, boxp - 1);
k3 = highest(high, boxp - 2);
box1 = k3 < k2;
if high > K1[1] Then
{
NH = high;
idx = 0;
}
Else
{
if NH > 0 Then
{
idx = idx+1;
if idx == boxp-2 and box1 == true Then
{
TopBox = NH;
BottomBox = LL;
}
}
}
dis = Disparity(이격도기간);
if LongCond == true Then
Buy("b");
if MarketPosition == 1 Then
{
#진입수량의 70%
v1 = Floor(MaxContracts*0.7);
#진입수량의 30%
v2 = MaxContracts-V1;
if CrossDown(dis,110) Then
ExitLong("bx1",OnClose,DEf,"",v1,1);
if CrossDown(c,BottomBox) Then
ExitLong("bx2",OnClose,DEf,"",v2,1);
}