답변완료
안녕하세요 수식문의 부탁드립니다^^
안녕하세요 언제나 친절한 답변에 감사드립니다^^
아래의 검색수식을 강조수식으로 나타내고 싶습니다^^
잘부탁드리겠습니다^^
=========================================================
input : 단기(5),중기(20),장기(120),Period(20);
var : p(0),k(0),q(0),x(0),y(0),z(0),a(False),b(0),mav(0);
p = (highest(high,단기)+lowest(low,단기))/2;
k = (highest(high,중기)+lowest(low,중기))/2;
q = (p+k)/2;
x = (highest(high,장기)+lowest(low,장기))/2;
y = (highest(high,장기)+lowest(low,장기))/2;
z = (x+y)/2;
a = Crossdown((q-z)/q*100, 0);
if a == true Then
b = c;
mav = ma(c,Period);
if b > 0 and CrossUp(C,b) and CrossUp(C,mav) Then
Find(1);
=========================================================
2024-01-04
707
글번호 175438
강조
답변완료
수식이 부정확한지 모르겟네요
s=sum(1);
T=Ttsf(c,기간);
con11=T>T(1)&& T(1)>T(2)&& T(2)>T(3)&& T(3)>T(4)&& T(4)>T(5)&& T(5)>T(6);
con12=(c-c(6)/c(6))*100>k && c>T &&c(1)>T(1)&& c(2)>T(2)&& c(3)>T(3) &&c(4)>T(4)&&c(5)>T(5) &&c(6)>T(6);
con13=valuewhen(1,con11 && con12,S);
con21=T>T(1)&& T(1)>T(2)&& T(2)>T(3)&& T(3)>T(4);
con22=(c-c(4)/c(4))*100>j && c<T &&c(1)<T(1)&& c(2)<T(2)&& c(3)<T(3) &&c(4)<T(4);
con23=valuewhen(1,con21 && con22,S);
신호위치= valuewhen(1,crossup(c,T) &&T>T(1),S);
간격1=신호위치-con13;
간격2=신호위치-con23;
조건=con13<con23 && 간격1>0&& 간격1<구간1 && 간격2>0 && 간격2<구간2;
조건 && !조건(1)
------------------------------------------------------------------------------------지표변수
k 7
j 3
기간 20
구간1 12
구간2 3
2024-01-04
697
글번호 175422
종목검색
답변완료
긴 주기 참조
안녕하세요
긴 주기 참조해서 사용자 함수 만드는 법을 여쭤봤었습니다. (글 85189)
주신 수식대로 사용자 함수를 만들어서 적용했으나, 결과가 맞지 않는 것 같아 재문의드립니다.
10년 전부터 오늘까지의 X 평균을 구하는 식 작성을 요청드렸고 아래와 같이 답변 주셨습니다.
ex1) 10yrAVG(C) <--이렇게 적을 경우 10년전부터 오늘까지의 종가의 평균을 구하고 싶습니다.
ex2)
value1 = stdv(C, 25);
10yrAVG(value1) <-- 이렇게 적으면 25일간의 종가 표준편차의 10년간의 평균을 구함.
*만약, micro crude oil 처럼 해당 종목이 10년이 채 안되었을 경우, 차트 시작의 첫 봉부터 오늘까지의 봉의 C의 평균을 나타내게 부탁드립니다.
///
함수명 : avg10yr
반환값형 : 숫자형
input : price(Numeric);
var : cnt(0);
Array : sum1[50](0),sum2[50](0);
if Bdate > Bdate[1]+1000 Then
{
For cnt = 49 DownTo 1
{
sum1[cnt] = sum1[cnt-1];
sum2[cnt] = sum2[cnt-1];
}
sum1[0] = 0;
sum2[0] = 0;
}
if IsNan(price) == False Then
{
sum1[0] = sum1[0]+price;
sum2[0] = sum2[0]+1;
}
var1 = 0;
Var2 = 0;
For cnt = 0 to 9
{
var1 = var1+sum1[cnt];
var2 = var2+sum2[cnt];
}
avg10yr = var1/Var2;
/////
일봉상에서 사용한다고 말씀드린다는 것을 깜박했는데, 해당 코드로 하면 뭔가 결과가 이상합니다.
왜 어레이에 256(시장이 열리는 날 수)가 아니라 50으로 되었는지 이해가 어렵습니다.
또한 해당 코드대로 작성을 하면 해가 바뀔 때, 갑자기 값이 튑니다.
코드 작성 번거로우시더라도 한번 더 부탁드립니다. (__)
2024-01-04
773
글번호 175420
사용자 함수