답변완료
표준편차 사용예시 부탁드립니다.
안녕하세요 매번 질문에 친절한 답변 정말 감사드립니다.
1. 오늘은 제목처럼, 표준편차 사용예시 코드를 부탁드리고자 합니다.
일반적인 표준편차 산출 식이 있음에도 불구하고, 가중 이동평균의 표준편차를 구하려고 합니다.
현재 시점에서, 각 시점의 편차(시점별 값 - 평균값)를 구하는 과정이 어려워 질문드립니다.
각 시점의 편차를 구하려고 할 때, '고정된 평균'값을 어떻게 산출해야 하는지 모르겠습니다.
가령, 종가 데이터의 편차의 제곱의 합을 먼저 구한다고 한다면,
var1 = accumN(c,20)/20;
var2 = accumN(Square(c - var1),20)/20;
.
.
(이하생략)
으로 풀어나가려고 했으나 곰곰이 생각해보면 va1인 평균값은 var2에서 계산될 때 [0],[1],[2]..
순으로 이전 시점의 평균값을 뱉어내니 현재 시점의 평균과 다르게 됩니다. 이 부분을 어떻게
해결할지 모르겠습니다..
2. 곁다리로, 함수 중 하나를 여쭤보고자 합니다.
메뉴얼에 있는함수중에, AvgDeviation(Price,Length) 라는 편차평균을 구하는 놈이 있는데, 얘는
용도가 뭔가요? 편차의 합은 항상 0이라서, 평균이 0일텐데 정확한 용도가 궁금합니다..
항상 갑갑한 질문 죄송합니다....
2024-11-20
605
글번호 185467
지표
답변완료
수식 검토 부탁드리겠습니다
질문 몇가지 부탁드리겠습니다
질문1. ARRV 배열의 이동평균을 ARRMA 로 작성했는데요,
값이 제대로 (작게 나오네요) 안나오네요 어디서 잘못 작성한건지 검토 좀 부탁 드리겠습니다
작성한 수식대로라면 ARRV 배열에 포함된 값들로만 3이동평균 한게 맞지 않나요??
VAR : P1(0),SUM1(0),ARRMA(0);
var : m1(0),m2(0),T(0),HH(0),HH1(0),LL(0),CNT(0),HARR(0),hvi(0);
VAR:TLUP(0);
ARRAY : ARR[100](0),VII[100](0),ARRV[100](0);
if H>L*1.11 Then
{
TLUP=TL_NEW(sDatE,sTimE,H,sDatE,sTimE,99999);
TL_SetColoR(TLUP,CyaN);
TL_SetSizE(TLUP,1);
for cnt = 99 downto 1
{
ARR[CNT] = ARR[CNT-1];
VII[CNT] = VII[CNT-1];
ARRV[CNT] = ARRV[CNT-1];
}
ARR[0] = H;
VII[0] = DayOpen*1.10;
if ARR[4] > 0 Then
{
HARR = 0;
HVI = 0;
For cnt = 0 to 4
{
if harr == 0 or (harr > 0 and ARR[cnt] > harr) Then
{
HARR = ARR[cnt];
HVI = VII[cnt];
}
}
if HVI > 0 Then
{
ARRV[0] = HVI;
}
}
# Plot11(ARR[0]);
# Plot12(HARR[0]);
Plot13(ARRV[0]);
P1=3;
IF ARRV[P1-1]>0 TheN
{
SUM1=0;
FoR CNT= 0 TO P1-1;
{
SUM1= SUM1+ARRV[CNT];
}
ARRMA=SUM1/P1;
PLOT22(ARRMA);
}
}
질문2.
아래 수식에서 배열 ARR의 5일간 최고값을 HARR에 대입하고 그 값들로 "ARRH 라는 배열"로 만들고 난뒤에,
ARR 배열에 ARRH값을 삽입하고자 (0번에 ARRH 값이 오고 그다음에 H값이 오도록) 아래와 같이 작성했는데 잘 안나오네요 어디서 잘못됐는지 한번 봐주셨으면 합니다
ARR[1]을 출력했을때 HIGH 값이 잘 나오는데 ARR[0]으로 하면 5일간 최고 고가 값이 안나오네요..
VAR : P1(0),SUM1(0),ARRMA(0);
var : m1(0),m2(0),T(0),HH(0),HH1(0),LL(0),CNT(0),HARR(0),hvi(0);
VAR:TLUP(0);
ARRAY : ARR[100](0),VII[100](0),ARRV[100](0),ARRH [100](0);
if H>L*1.11 Then
{
TLUP=TL_NEW(sDatE,sTimE,H,sDatE,sTimE,99999);
TL_SetColoR(TLUP,CyaN);
TL_SetSizE(TLUP,1);
for cnt = 99 downto 1
{
ARR[CNT] = ARR[CNT-1];
VII[CNT] = VII[CNT-1];
ARRV[CNT] = ARRV[CNT-1];
ARRH[CNT]= ARRH[CNT-1];
}
ARR[0] = H;
VII[0] = DayOpen*1.10;
if ARR[4] > 0 Then
{
HARR = 0;
HVI = 0;
For cnt = 0 to 4
{
if HARR == 0 or (HARR > 0 and ARR[cnt] > HARR) Then
{
HARR = ARR[cnt];
HVI = VII[cnt];
}
}
if HVI > 0 AND HARR>0 Then
{
ARRV[0] = HVI;
ARRH[0]=HARR;
}
}
FoR cnt = 99 downto 1
{
ARR[CNT] = ARR[CNT-1];
}
ARR[0]=HARR[0];
Plot12(HARR);
# Plot11(ARR[0]);
}
질문3.
arr 배열의 값들을 보고자 디버그 수식을 작성했는데요
혹시 각 봉에서의 모든 배열 값들을 외부로 추출해서 쓰려면 (PRINT)
MessageLoG("%.1f,%.1f,%.1f",ARR[0],ARR[1],ARR[2]);
예를들어 50번 까지 보려면 이런식으로 모두 나열해서 쓰는 방법 밖에 없나요??
범위 지정 할 수 있는 수식이 있는지 궁금합니다
2024-11-20
694
글번호 185465
지표
답변완료
수식변경 부탁드립니다.
input : length(70);
input : mult(1.2);
var : src(0),lag(0),zlema(0),volatility(0),trend(0),zlemaColor(0),tx(0);
src = close;
lag = floor((length - 1) / 2);
zlema = ema(src + (src - src[lag]), length);
volatility = highest(atr(length), length*3) * mult;
if CrossUp(close, zlema+volatility) Then
trend = 1;
if CrossDown(close, zlema-volatility) Then
trend = -1;
zlemaColor = iff(trend == 1 , Blue, red);
plot1(zlema, "Zero Lag Basis",zlemaColor);
if trend == -1 Then
plot2(zlema+volatility ,"Deviation Band",Blue);
Else
plot2(zlema-volatility , "Deviation Band",red);
if trend == -1 and trend[1] != -1 Then
{
tx = Text_New(sDate,sTime,zlema+volatility,"▼");
Text_SetColor(tx,Blue);
Text_SetStyle(tx,2,1);
}
if trend == 1 and trend[1] != 1 Then
{
tx = Text_New(sDate,sTime,zlema-volatility ,"▲");
Text_SetColor(tx,Red);
Text_SetStyle(tx,2,0);
}
위 수식에서 나오는 삼각 신호를 차트표시에서 선택(삼각,사각,원) 할 수 있게 해주시고 신호 크기도 수식에서 숫자로 조절 할 수 있게 변경 부탁드립니다.
감사함니다.
2024-11-20
756
글번호 185444
지표
답변완료
종목검색식 부탁드림니다.
항상 노고에 감사드림니다.
아래의 수식을 종목검색식으로 부탁드림니다.
A1=Macd(12,26);
A2=eavg(A1,9);
A3=Valuewhen(1,Crossup(A1,0),c);
A4=Valuewhen(1,Crossup(A1,A2),c);
Crossup(c,A3)
&&
Crossup(c,A4)
2024-11-20
659
글번호 185442
종목검색