커뮤니티
공부중 질문 드립니다.
2015-11-18 05:16:26
166
글번호 92496
1. 변수 선언시 초기설정값을 반드시 0 으로 할 필요가 없나요? -5, 10 과 같은 숫자로도 설정 가능한가요?
2. 함수값도 '몇개 전' 호출이 가능한가요? C[1]은 1봉전 종가를 뜻하듯이 Var1=CCI(10)[1] 이런게 가능한가요?
3. 내장된 함수 중 NthHighest(Nth, Value, Length)의 수식을 알 수 있을까요? 어떤 방식으로 되는 건지 궁금합니다. 만약 Length를 100으로 설정하면 1번째 봉부터 하나하나 100번을 반복 비교하는 방식인가요?
4. 메뉴얼에 "SwingHigh(Nth,기준값,좌측,우측,기간)는 Period 기간 동안 발생한 swinghigh들 중 현재로부터 Nth번째로 가까운 Swinghigh 값"이라고 돼 있는데요
예를 들어 사용법 설명 좀 해주세요.
기준값, 좌측, 우측은 뭘 뜻하나요? 기간은 현재봉부터 기간인가요?
5. SwingHigh 수식을 보니까 앞 부분이
if CurrentBar >= Length - 1 then {
이렇게 시작이 되던데 이게 봉 조회 갯수가 충분한지 따지는거지요?
모든 함수에 굳이 이런 역할을 다 넣어줘야 하나요?
6. 또한, 끝 부분에
if Z == 0 then SwingHigh = -1;
else SwingHigh = Result;
이렇게 돼 있는데, 함수에서 이렇게 -1을 리턴하면 그 함수가 내놓을 값이 없다는 뜻인가요? N/A와 비슷한 의미인가요?
답변 1
예스스탁 예스스탁 답변
2015-11-18 14:54:17
안녕하세요
김윤한입니다.
1.
(0)은 해당 변수가 숫자가 저장되는 변수이고
기초값은 0이라는 의미입니다.
원하시는 다른 숫자로 지정하셔도 됩니다.
2
예 가능합니다.
함수뒤에 []를 붙이시고 봉수를 지정하시면 됩니다.
3.
해당 함수는 예스랭귀지가 아닌 빠른 속도를 위해
내부코딩으로 되어 있습니다.
예스랭귀지로 작성한다면 아래와 같습니다.
input : Nth(1),Length(100);
Var : cnt(0),cnt1(0),cnt2(0),tempmax(0),tempindex(0),NTHindex(0);
Array : VALUE[101](0), NTHVALUE[101](0);
for cnt = 1 to Length{
value[cnt] = H[cnt-1];
}
For cnt1 = 1 to Length
{
tempmax = -99999999;
For cnt2 = 1 to Length
{
if ( VALUE[cnt2] > tempmax ) then
{
tempmax = VALUE[cnt2];
tempIndex = cnt2;
}
}
NTHVALUE[cnt1] = tempmax;
VALUE[tempIndex] = -99999999;
}
plot1(NTHVALUE[1]);
plot2(NTHVALUE[2]);
plot3(NTHVALUE[3]);
4.
SwingHigh(Nth,기준값,좌측,우측,기간)
기준값은 스윙하이를 판단의 기준값입니다.
SwingHigh(1,H,3,3,100)
와 같이 작성하시면 매봉 고가를 기준으로 판단하고
SwingHigh(1,ma(C,20),3,3,100)
와 같이 작성하시면 매봉 20이평을 기준으로 판단합니다.
스윙하이는 일반적으로 고점을 판단할때 사용합니다.
좌측과 우측은 봉수입니다.
가격이 상승후 하락하면 고점으로 판단되는데
좌측으로 지정된 봉들의 기준값보다 크거나 같고
우측으로 지정된 봉들의 기준값보다 작으면 조건이 충족됩니다.
기간을 스윙하이를 계산하는 봉수입니다.
Nth로 현재로 부터 Nth번째로 가까운 값을 부르는데
지정한 기간동안 5번발생했는데 Nth를 6으로 지정하면 값이 없으므로 -1이 리턴됩니다.
5.
예 CurrentBar는 해당 수식을 계산하기 위해
최소로 필요한 봉수 이후부터 1씩 증가하는 함수입니다.
말씀하신 부분과 같이 계산에 충분한 봉수 이후라는 의미가 됩니다.
모든 함수에 필요한 내용은 아닙니다.
일반적으로는 사용하지 않으셔도 됩니다.
6.
지정한 기간에 지정한 순번의 스윙하이는 없다는 의미로 -1을 리턴합니다.
즐거운 하루되세요
> 로봇짱 님이 쓴 글입니다.
> 제목 : 공부중 질문 드립니다.
>
1. 변수 선언시 초기설정값을 반드시 0 으로 할 필요가 없나요? -5, 10 과 같은 숫자로도 설정 가능한가요?
2. 함수값도 '몇개 전' 호출이 가능한가요? C[1]은 1봉전 종가를 뜻하듯이 Var1=CCI(10)[1] 이런게 가능한가요?
3. 내장된 함수 중 NthHighest(Nth, Value, Length)의 수식을 알 수 있을까요? 어떤 방식으로 되는 건지 궁금합니다. 만약 Length를 100으로 설정하면 1번째 봉부터 하나하나 100번을 반복 비교하는 방식인가요?
4. 메뉴얼에 "SwingHigh(Nth,기준값,좌측,우측,기간)는 Period 기간 동안 발생한 swinghigh들 중 현재로부터 Nth번째로 가까운 Swinghigh 값"이라고 돼 있는데요
예를 들어 사용법 설명 좀 해주세요.
기준값, 좌측, 우측은 뭘 뜻하나요? 기간은 현재봉부터 기간인가요?
5. SwingHigh 수식을 보니까 앞 부분이
if CurrentBar >= Length - 1 then {
이렇게 시작이 되던데 이게 봉 조회 갯수가 충분한지 따지는거지요?
모든 함수에 굳이 이런 역할을 다 넣어줘야 하나요?
6. 또한, 끝 부분에
if Z == 0 then SwingHigh = -1;
else SwingHigh = Result;
이렇게 돼 있는데, 함수에서 이렇게 -1을 리턴하면 그 함수가 내놓을 값이 없다는 뜻인가요? N/A와 비슷한 의미인가요?
다음글
이전글