예스스탁
예스스탁 답변
2022-06-17 16:27:43
안녕하세요
예스스탁입니다.
Highest함수가 매봉 기간이 변경이 됩니다.
함수의 기간값을 변동값을 가져가게 되면 현재봉에서 지정한 기간으로는
이전봉에서 값을 만들어 놓지 않았으므로
[]로 과거봉을 호출해도 N봉전에서 해당기간으로 계산한 최고값으로 계산된 값이 아닙니다.
작성하신 var20,var21,var30,var31의 내용은
아래와 같이 작성해 사용하셔야 합니다.
각 스윙이 SWperiod봉 이내에 있어야 값이 리턴되고 없으면 -1이므로
SWperiod이내에 없다면 -1이 리턴되게 하셔야 합니다.
Input : period(7),SWperiod(99);
var : cnt(0);
if SwingHigh(1,H,period,period,period*2+1) != -1 Then
{
Var10 = Index[Period];
var12 = Var10[1];
Var2 = H;
Var30 = -1;
if Index <= var12+99 Then
{
For cnt = index-Var10 to index-var12
{
if Var30 == -1 or (Var30 > 0 and H[cnt] > Var30) Then
Var30 = H[cnt];
}
}
}
Else
{
if Index <= Var10+70 Then
{
if H > Var20 Then
Var20 = H;
}
Else
Var20 = -1;
}
if SwingLow(1,L,period,period,period*2+1) != -1 Then
{
Var11 = Index[Period];
var13 = Var11[1];
Var30 = L;
Var31 = -1;
if Index <= var13+99 Then
{
For cnt = index-Var11 to index-var13
{
if Var31 == 0 or (Var31 > 0 and L[cnt] < Var31) Then
Var31 = L[cnt];
}
}
}
else
{
if Index <= var11+99 Then
{
if L < Var30 Then
Var30 = L;
}
}
즐거운 하루되세요
> 히익 님이 쓴 글입니다.
> 제목 : 지표적용 문제.
> 안녕하세요 예스트레이더 참 잘 이용하고 있습니다. 매번 감사합니다.
아래 식을 보면 현재봉을 기준으로 11번 줄의 내용과 13의 내용은 동일합니다. 근데, 지표를 적용하면 둘은 다르게 나옵니다. 도저히 어떤 점이 잘못되었는지 모르겠습니다. 어떤 문제가 있는걸까요? 기준은 현재봉입니다.적용은 방금 국내 코스피 선물에 적용했었습니다.
1: Input : period(7),SWperiod(99);
2: var : SH1(0),SL1(0);
3: SH1=SwingHigh(1,H,period,period,SWperiod);
4: SL1=SwingLow(1,L,period,period,SWperiod);
5: Var10=SwingHighBar(1,H,period,period,SWperiod);
6: Var11=SwingLowBar(1,L,period,period,SWperiod);
7: Var12=SwingHighBar(2,H,period,period,SWperiod);
8: Var13-SwingLowBar(2,L,period,period,SWperiod);
9: Var20=Highest(H,Var10+1);
10: Var21=Lowest(L,Var11+1);
11: Var30=Highest(H,Var12-Var10+1)[Var10];
12: Var31=Lowest(L,Var13-Var11+1)[Var11];
13: Var40=Highest(H,20)[10];
14: Plot1(Var30);
15: MessageLog("%.2f %.2f",Var12-Var10+1,Var10);