커뮤니티
문의
2016-12-21 18:59:49
236
글번호 105162
1.수식에 조건이 당일이랑 비교하는 문제가 있어서 저부분 조건을 수정부탁드립니다.
2.아래식이 완성되면
이걸 해당월기준으로바꾸고싶습니다. 단 다음달의 첫째주는 저번달의 고점저점의 피보나치를 계산하고 두번째주부터 이번달 적용을 부탁드립니다.
예)2 ->3월 , 3월 첫주 = 2월~3월첫째주까지의 고점저점, 3월 둘째주 = 3월의 첫주+진행
input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4);
var : WH(0),WL(0),WH1(0),WL1(0),HH(0),LL(0),Didx(0),T(0),idx(0);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) and date != date[1] Then{
WH = H;
WL = L;
WH1 = WH[1];
WL1 = WL[1];
Didx = 0;
T = 0;
idx = 0;
Condition1 = false;
}
idx = idx+1;
if date != date[1] Then
Didx = Didx+1;
if H > WH Then
WH = H;
if L < WL Then
WL = L;
if Condition1 == false then{
if Didx == 1 and WH1 > 0 and WL1 > 0 then {
HH = max(WH,WH1);
LL = min(WL,WL1);
}
Else{
HH = WH;
LL = WL;
}
}
if T == 1 and CrossDown(L,var5) Then{
LL = L;
Condition1 = true;
}
if T == -1 and CrossUp(H,var1) Then{
HH = H;
Condition1 = true;
}
if Condition1 == true Then{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
if idx > 1 Then{
if HH > HH[1] Then
T = 1;
if LL < LL[1] Then
T = -1;
}
var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100));
var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100));
var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100));
var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100));
var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100));
plot1(HH,"H");
plot2(var1,"23.6");
plot3(var2,"38.2");
plot4(var3,"50.0");
plot5(var4,"61.8");
plot6(var5,"76.4");
plot7(LL,"L");
- 1. 105697_2.jpg (0.18 MB)
답변 1
예스스탁 예스스탁 답변
2016-12-22 11:15:19
안녕하세요
예스스탁입니다.
해당식 상승중인지 하락중인지 판별을
최고가(HH)나 최저가(LL) 갱신으로 판단합니다.
var1을 상향돌파하거나 var5를 하향이탈하면
HH가 변경되거나 LL이 변경이 되는데
변경된 값때문에 상승하락이 판정도 변경이 됩니다.
첨부하신 그림에 보시면
var1을 상향돌파해서 고가값이 초기화가 되었는데
고가선을 하락하므로 하락으로 판정이 되고
이후 다시 가격하락후 상승해서 변경된 var1값을 다시
상향돌파하기 때문에 지표값이 변경이 됩니다.
수식을 작성하면 발생하는 모든 경우의 수를 감안해 식을 작성해야 하는데
주시는 내용에는 해당 내용들이 없고
단순 var1이나 var5를 돌파하면 고점저점이 변경된다고만 언급하시므로
작성하는 저희가 해당 내용을 고민하고 작성해야 합니다.
돌파가 발생하면 해당 지점을 다시 수평으로 보고
이후 고점저점 변동에 따라 상승하락을 판단해야 하는지
var1을 돌파하면 상승으로 판정하고 이후 감시에 들어가야 하는지알수가 없습니다.
아래 내용으로만 답변드립니다.
var1을 상향돌파하면 상승으로 판정
var5를 하향이탈하면 하락으로 판정
이후에는 해당 내용과 비슷한 내용에 대해서는
저희가 추가로 수정이나 보완을 해드리지 않겠습니다.
수식에 주석을 붙여 드리므로 해당식 판단하셔서
추가 수정보완해 사용하시기 바랍니다.
input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4);
var : WH(0),WL(0),WH1(0),WL1(0),HH(0),LL(0),Didx(0),T(0),idx(0);
#주변경(영업일변경으로 판정)
if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) and Bdate != Bdate[1] Then{
WH = H; #주최고가를 저장할 변수에 초기값으로 주의 첫봉 고가를 지정
WL = L; #주최저가를 저장할 변수에 초기값으로 주의 첫봉 저가를 지정
WH1 = WH[1]; #전주 최고가
WL1 = WL[1]; #전주 최저가
Didx = 0; #일자수
T = 0; #방향 판별변수(초기값을 0)
idx = 0; #주봉수(초기값을0)
}
#봉수 카운트
idx = idx+1;
#주 영업일수 카운트
if Bdate != Bdate[1] Then
Didx = Didx+1;
#주 최고가 계산
#고가가 WH 변수에 저장된 값보다 크면 WH변수값을 현재봉 고가로 변경
if idx > 1 and H > WH Then
WH = H;
#주 최저가 계산
#저가가 WL 변수에 저장된 값보다 작으면 WL변수값을 현재봉 저가로 변경
if idx > 1 and L < WL Then
WL = L;
#주 첫째날이고 이전주 최고가와 최저가가 있으면
if Didx == 1 and WH1 > 0 and WL1 > 0 then {
HH = max(WH,WH1); #최고가는 이번주 최고가나 저번주 최고가 중 큰값을 사용
LL = min(WL,WL1); #최저가는 이번주 최저가나 저번주 최저가 중 작은값을 사용
}
Else{ #주 두번째날부터는
HH = WH; #최고가는 이번주 최고가 사용
LL = WL; #최저가는 이번주 최저가 사용
}
#방향(T) 상승(1) 중일때 저가가 var5값을 하향이탈하면
if T == 1 and CrossDown(L,var5) Then{
LL = L; #최저가(LL)값을 해당봉 저가로 변경
T = -1; #방향(T)을 하락(-1)으로 변경
}
#방향(T) 하락(-1) 중일때 고가가 va15값을 상향돌파하면
if T == -1 and CrossUp(H,var1) Then{
HH = H; #최고가(HH)값을 해당봉 고가로 변경
T = 1; #방향(T)을 상승(1)으로 변경
}
# 저가가 var5를 하향이탈하거나 고가가 var1을 상향돌파하지 않은 봉일때
if idx > 1 and CrossDown(L,var5) == false and crossup(H,var1) == false Then{
#고가가 최고가(HH)보다 커지면 HH값을 현재봉 고가로 변경하고
#방향(T)를 상승(1)로 변경
if H > HH Then{
HH = H;
T = 1;
}
#저가가 최저가(LL)보다 작으면 LL값을 현재봉 저가로 변경하고
#방향(T)를 하락(-1)로 변경
if L < LL Then{
LL = L;
T = -1;
}
}
var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100));
var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100));
var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100));
var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100));
var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100));
plot1(HH,"H");
plot2(var1,"23.6");
plot3(var2,"38.2");
plot4(var3,"50.0");
plot5(var4,"61.8");
plot6(var5,"76.4");
plot7(LL,"L");
즐거운 하루되세요
> 렉쳐 님이 쓴 글입니다.
> 제목 : 문의
> 1.수식에 조건이 당일이랑 비교하는 문제가 있어서 저부분 조건을 수정부탁드립니다.
2.아래식이 완성되면
이걸 해당월기준으로바꾸고싶습니다. 단 다음달의 첫째주는 저번달의 고점저점의 피보나치를 계산하고 두번째주부터 이번달 적용을 부탁드립니다.
예)2 ->3월 , 3월 첫주 = 2월~3월첫째주까지의 고점저점, 3월 둘째주 = 3월의 첫주+진행
input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4);
var : WH(0),WL(0),WH1(0),WL1(0),HH(0),LL(0),Didx(0),T(0),idx(0);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) and date != date[1] Then{
WH = H;
WL = L;
WH1 = WH[1];
WL1 = WL[1];
Didx = 0;
T = 0;
idx = 0;
Condition1 = false;
}
idx = idx+1;
if date != date[1] Then
Didx = Didx+1;
if H > WH Then
WH = H;
if L < WL Then
WL = L;
if Condition1 == false then{
if Didx == 1 and WH1 > 0 and WL1 > 0 then {
HH = max(WH,WH1);
LL = min(WL,WL1);
}
Else{
HH = WH;
LL = WL;
}
}
if T == 1 and CrossDown(L,var5) Then{
LL = L;
Condition1 = true;
}
if T == -1 and CrossUp(H,var1) Then{
HH = H;
Condition1 = true;
}
if Condition1 == true Then{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
if idx > 1 Then{
if HH > HH[1] Then
T = 1;
if LL < LL[1] Then
T = -1;
}
var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100));
var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100));
var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100));
var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100));
var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100));
plot1(HH,"H");
plot2(var1,"23.6");
plot3(var2,"38.2");
plot4(var3,"50.0");
plot5(var4,"61.8");
plot6(var5,"76.4");
plot7(LL,"L");
다음글