커뮤니티
가중평균값 문의드립니다
2017-06-27 14:14:44
151
글번호 110754
안녕하세요!!
요즘 제가 구현하려고 하는게 밴드인데요 관리자님께 어려운 부탁을 드립니다.
증권사별로 틀리겠지만 통상 해외선물 자료(시,고,저,종가)는 5년치 이상 있는 것으로 알고있습니다.
각 요일별로 5년치(10년치면 더좋겠죠?ㅋ) 고가,저가의 가중평균값을 구해서 어제의 종가를 기준으로 오늘의 차트에 볼린저밴드처럼 구현하고 싶습니다. 이해가 되셨나 모르겠습니다.
예)만약 오늘이 2017.6.27일 화요일이라면
1년 52주 화요일*5년=260번의 화요일 고가,저가의 가중평균값을 구해서 이를 현재의 어제 즉 26일 월요일 종가를 중심으로 아래,위 가중평균값을 +,-해서 밴드처럼 구현하고 싶습니다.
어려운 부탁인줄 알고 가중평균값이 가능한지 안한지 조차 모르지만 일단 부탁드려봅니다.
관리자님의 관심이 곧 저의 수익이 될지 모르오니 번거로우시더라도 간곡히 부탁드립니다.
항상 감사드립니다.
답변 3
예스스탁 예스스탁 답변
2017-06-27 16:24:20
안녕하세요
예스스탁입니다.
아래수식 참고하시기 바랍니다.
해외선물은 저희가 데이터 관리를 하지 않아
몇년치의 데이터가 제공되고 있는지 모르겠습니다.
시뮬레이션 차트에 최대한 많이 호출하고 적용하시면 됩니다,
해당 지표가 출력되지 않으면 당일 요일로 260개의 과거 데이터가 없다는 의미입니다.
input : P(260);
var : DW(0),cnt(0),HSum(0),LSum(0),CntSum(0);
var : HWMA(0),LWMA(0),Diff(0),UPv(0),Dnv(0);
Array : WH[7,300](0),WL[7,300](0);
#요일별 최고가/최저가 저장
if Bdate != Bdate[1] Then{
//요일
DW = DayOfWeek(SDate);
//오늘요일배열의 0번방에 값저장
WH[DW,0] = H;
WL[DW,0] = L;
//오늘요일의 과거값은 1칸씩 뒤로 이동
for cnt = 1 to 299
{
WH[DW,cnt] = WH[DW,cnt-1][1];
WL[DW,cnt] = WL[DW,cnt-1][1];
}
}
#당일 값 갱신
if H > WH[DW,0] Then
WH[DW,0] = H;
if L < WL[DW,0] Then
WL[DW,0] = L;
#오늘자 요일의 과거 데이터수가 P가 이상일떄만 계산
if WH[DW,P] > 0 and WL[DW,P] > 0 then{
#고가와 저가로 가중이평계산
HSum = 0;
LSum = 0;
CntSum = 0;
For cnt = 0 To P - 1 Begin
HSum = HSum + WH[DW,cnt] * (P - cnt);
LSum = LSum + WL[DW,cnt] * (P - cnt);
CntSum = CntSum + P - cnt;
End;
HWMA = HSum / CntSum;
LWMA = LSum / CntSum;
#가중이평 차이
Diff = HWMA-LWMA;
#전일종가에 +-해서 상하단 만듬
upv = DayClose(1)+DIff;
dnv = DayClose(1)-DIff;
#지표로 출력
plot1(upv);
plot2(dnv);
}
즐거운 하루되세요
> 카카 님이 쓴 글입니다.
> 제목 : 가중평균값 문의드립니다
> 안녕하세요!!
요즘 제가 구현하려고 하는게 밴드인데요 관리자님께 어려운 부탁을 드립니다.
증권사별로 틀리겠지만 통상 해외선물 자료(시,고,저,종가)는 5년치 이상 있는 것으로 알고있습니다.
각 요일별로 5년치(10년치면 더좋겠죠?ㅋ) 고가,저가의 가중평균값을 구해서 어제의 종가를 기준으로 오늘의 차트에 볼린저밴드처럼 구현하고 싶습니다. 이해가 되셨나 모르겠습니다.
예)만약 오늘이 2017.6.27일 화요일이라면
1년 52주 화요일*5년=260번의 화요일 고가,저가의 가중평균값을 구해서 이를 현재의 어제 즉 26일 월요일 종가를 중심으로 아래,위 가중평균값을 +,-해서 밴드처럼 구현하고 싶습니다.
어려운 부탁인줄 알고 가중평균값이 가능한지 안한지 조차 모르지만 일단 부탁드려봅니다.
관리자님의 관심이 곧 저의 수익이 될지 모르오니 번거로우시더라도 간곡히 부탁드립니다.
항상 감사드립니다.
카카
2017-06-28 10:32:34
보내주신 지표 잘받았습니다. 변수값을 줄여야 차트에 표시됩니다ㅋㅋ
많은 도움이 됩니다.
다름이 아니오라 보내주신 수식에 시간을 설정했으면 합니다.
예를들어 07시~15시까지 유럽장 시작되기전까지 가중평균값을 구하고 싶습니다
주거래시간이 이시간이라 그렇습니다. 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 가중평균값 문의드립니다
> 안녕하세요
예스스탁입니다.
아래수식 참고하시기 바랍니다.
해외선물은 저희가 데이터 관리를 하지 않아
몇년치의 데이터가 제공되고 있는지 모르겠습니다.
시뮬레이션 차트에 최대한 많이 호출하고 적용하시면 됩니다,
해당 지표가 출력되지 않으면 당일 요일로 260개의 과거 데이터가 없다는 의미입니다.
input : P(260);
var : DW(0),cnt(0),HSum(0),LSum(0),CntSum(0);
var : HWMA(0),LWMA(0),Diff(0),UPv(0),Dnv(0);
Array : WH[7,300](0),WL[7,300](0);
#요일별 최고가/최저가 저장
if Bdate != Bdate[1] Then{
//요일
DW = DayOfWeek(SDate);
//오늘요일배열의 0번방에 값저장
WH[DW,0] = H;
WL[DW,0] = L;
//오늘요일의 과거값은 1칸씩 뒤로 이동
for cnt = 1 to 299
{
WH[DW,cnt] = WH[DW,cnt-1][1];
WL[DW,cnt] = WL[DW,cnt-1][1];
}
}
#당일 값 갱신
if H > WH[DW,0] Then
WH[DW,0] = H;
if L < WL[DW,0] Then
WL[DW,0] = L;
#오늘자 요일의 과거 데이터수가 P가 이상일떄만 계산
if WH[DW,P] > 0 and WL[DW,P] > 0 then{
#고가와 저가로 가중이평계산
HSum = 0;
LSum = 0;
CntSum = 0;
For cnt = 0 To P - 1 Begin
HSum = HSum + WH[DW,cnt] * (P - cnt);
LSum = LSum + WL[DW,cnt] * (P - cnt);
CntSum = CntSum + P - cnt;
End;
HWMA = HSum / CntSum;
LWMA = LSum / CntSum;
#가중이평 차이
Diff = HWMA-LWMA;
#전일종가에 +-해서 상하단 만듬
upv = DayClose(1)+DIff;
dnv = DayClose(1)-DIff;
#지표로 출력
plot1(upv);
plot2(dnv);
}
즐거운 하루되세요
> 카카 님이 쓴 글입니다.
> 제목 : 가중평균값 문의드립니다
> 안녕하세요!!
요즘 제가 구현하려고 하는게 밴드인데요 관리자님께 어려운 부탁을 드립니다.
증권사별로 틀리겠지만 통상 해외선물 자료(시,고,저,종가)는 5년치 이상 있는 것으로 알고있습니다.
각 요일별로 5년치(10년치면 더좋겠죠?ㅋ) 고가,저가의 가중평균값을 구해서 어제의 종가를 기준으로 오늘의 차트에 볼린저밴드처럼 구현하고 싶습니다. 이해가 되셨나 모르겠습니다.
예)만약 오늘이 2017.6.27일 화요일이라면
1년 52주 화요일*5년=260번의 화요일 고가,저가의 가중평균값을 구해서 이를 현재의 어제 즉 26일 월요일 종가를 중심으로 아래,위 가중평균값을 +,-해서 밴드처럼 구현하고 싶습니다.
어려운 부탁인줄 알고 가중평균값이 가능한지 안한지 조차 모르지만 일단 부탁드려봅니다.
관리자님의 관심이 곧 저의 수익이 될지 모르오니 번거로우시더라도 간곡히 부탁드립니다.
항상 감사드립니다.
예스스탁 예스스탁 답변
2017-06-28 11:43:08
안녕하세요
예스스탁입니다.
input : P(260);
var : DW(0),cnt(0),HSum(0),LSum(0),CntSum(0);
var : HWMA(0),LWMA(0),Diff(0),UPv(0),Dnv(0);
Array : WH[7,300](0),WL[7,300](0);
#요일별 최고가/최저가 저장
if Bdate != Bdate[1] Then{
//요일
DW = DayOfWeek(SDate);
//오늘요일배열의 0번방에 값저장
WH[DW,0] = H;
WL[DW,0] = L;
//오늘요일의 과거값은 1칸씩 뒤로 이동
for cnt = 1 to 299
{
WH[DW,cnt] = WH[DW,cnt-1][1];
WL[DW,cnt] = WL[DW,cnt-1][1];
}
}
#영업일 변경 후 15시 까지만 당일 값 갱신
if stime < 150000 then{
if H > WH[DW,0] Then
WH[DW,0] = H;
if L < WL[DW,0] Then
WL[DW,0] = L;
}
#오늘자 요일의 과거 데이터수가 P가 이상일떄만 계산
if WH[DW,P] > 0 and WL[DW,P] > 0 then{
#고가와 저가로 가중이평계산
HSum = 0;
LSum = 0;
CntSum = 0;
For cnt = 0 To P - 1 Begin
HSum = HSum + WH[DW,cnt] * (P - cnt);
LSum = LSum + WL[DW,cnt] * (P - cnt);
CntSum = CntSum + P - cnt;
End;
HWMA = HSum / CntSum;
LWMA = LSum / CntSum;
#가중이평 차이
Diff = HWMA-LWMA;
#전일종가에 +-해서 상하단 만듬
upv = DayClose(1)+DIff;
dnv = DayClose(1)-DIff;
#지표로 출력
plot1(upv);
plot2(dnv);
}
즐거운 하루되세요
> 카카 님이 쓴 글입니다.
> 제목 : Re : Re : 가중평균값 문의드립니다
> 보내주신 지표 잘받았습니다. 변수값을 줄여야 차트에 표시됩니다ㅋㅋ
많은 도움이 됩니다.
다름이 아니오라 보내주신 수식에 시간을 설정했으면 합니다.
예를들어 07시~15시까지 유럽장 시작되기전까지 가중평균값을 구하고 싶습니다
주거래시간이 이시간이라 그렇습니다. 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 가중평균값 문의드립니다
> 안녕하세요
예스스탁입니다.
아래수식 참고하시기 바랍니다.
해외선물은 저희가 데이터 관리를 하지 않아
몇년치의 데이터가 제공되고 있는지 모르겠습니다.
시뮬레이션 차트에 최대한 많이 호출하고 적용하시면 됩니다,
해당 지표가 출력되지 않으면 당일 요일로 260개의 과거 데이터가 없다는 의미입니다.
input : P(260);
var : DW(0),cnt(0),HSum(0),LSum(0),CntSum(0);
var : HWMA(0),LWMA(0),Diff(0),UPv(0),Dnv(0);
Array : WH[7,300](0),WL[7,300](0);
#요일별 최고가/최저가 저장
if Bdate != Bdate[1] Then{
//요일
DW = DayOfWeek(SDate);
//오늘요일배열의 0번방에 값저장
WH[DW,0] = H;
WL[DW,0] = L;
//오늘요일의 과거값은 1칸씩 뒤로 이동
for cnt = 1 to 299
{
WH[DW,cnt] = WH[DW,cnt-1][1];
WL[DW,cnt] = WL[DW,cnt-1][1];
}
}
#당일 값 갱신
if H > WH[DW,0] Then
WH[DW,0] = H;
if L < WL[DW,0] Then
WL[DW,0] = L;
#오늘자 요일의 과거 데이터수가 P가 이상일떄만 계산
if WH[DW,P] > 0 and WL[DW,P] > 0 then{
#고가와 저가로 가중이평계산
HSum = 0;
LSum = 0;
CntSum = 0;
For cnt = 0 To P - 1 Begin
HSum = HSum + WH[DW,cnt] * (P - cnt);
LSum = LSum + WL[DW,cnt] * (P - cnt);
CntSum = CntSum + P - cnt;
End;
HWMA = HSum / CntSum;
LWMA = LSum / CntSum;
#가중이평 차이
Diff = HWMA-LWMA;
#전일종가에 +-해서 상하단 만듬
upv = DayClose(1)+DIff;
dnv = DayClose(1)-DIff;
#지표로 출력
plot1(upv);
plot2(dnv);
}
즐거운 하루되세요
> 카카 님이 쓴 글입니다.
> 제목 : 가중평균값 문의드립니다
> 안녕하세요!!
요즘 제가 구현하려고 하는게 밴드인데요 관리자님께 어려운 부탁을 드립니다.
증권사별로 틀리겠지만 통상 해외선물 자료(시,고,저,종가)는 5년치 이상 있는 것으로 알고있습니다.
각 요일별로 5년치(10년치면 더좋겠죠?ㅋ) 고가,저가의 가중평균값을 구해서 어제의 종가를 기준으로 오늘의 차트에 볼린저밴드처럼 구현하고 싶습니다. 이해가 되셨나 모르겠습니다.
예)만약 오늘이 2017.6.27일 화요일이라면
1년 52주 화요일*5년=260번의 화요일 고가,저가의 가중평균값을 구해서 이를 현재의 어제 즉 26일 월요일 종가를 중심으로 아래,위 가중평균값을 +,-해서 밴드처럼 구현하고 싶습니다.
어려운 부탁인줄 알고 가중평균값이 가능한지 안한지 조차 모르지만 일단 부탁드려봅니다.
관리자님의 관심이 곧 저의 수익이 될지 모르오니 번거로우시더라도 간곡히 부탁드립니다.
항상 감사드립니다.