커뮤니티

사용자 함수 관련 질문입니다.

프로필 이미지
FXKim
2008-12-29 21:30:50
1006
글번호 19099
답변완료
input : Period(5); var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); if iff(crossup(var3,0),1,0) == 1 Then ----- 1번 if accumn(iff(crossup(var3,0),1,0),Period) == 1 Then ----- 2번 buy(); 질문1)위 식에서 1번과 2번의 차이점이 있는지요? 질문2) accumn(1,5)는 어떤 값을 리턴 받는지요? 아래 accumn 사용자 함수 주석처리 부탁드립니다. Input : Value(NumericSeries), Period(NumericSimple); Var : Counter(0); var1 = Value; For Counter = 1 To Period - 1 Begin var1 = var1 + Value[Counter]; End Accumn = var1; 질문3) accum(1)은 더떤 값을 리턴 받는지요? 아래 accum 사용자 함수 주석처리 부탁드립니다. Inputs : Price(NumericSeries); Var : Value_Accum(0); if CurrentBar > 1 then Value_Accum = Value_Accum + Price; else Value_Accum = Price; Accum = Value_Accum; 친절한 답변에 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2008-12-30 10:12:34

안녕하세요 예스스탁입니다. 1. 1번과 2번은 다른 내용입니다. 1번은 현재 골든크로스 발생을 의미하며 2번은 최근 5개봉동안 골든크로스가 1번 발생했다는 표현으로 현재봉이 아니라 5개봉 동안 한번 발생하면 참값이 됩니다. 1번과 2번을 합치면 최근 5개봉동안 현재봉에 골든크로스가 한번 발생한 것을 지칭합니다. 2. accumn(A,B)는 지정된 봉갯수(B)동안 특정 값(A)을 모으는 함수입니다 accumn(1,5)은 5개봉동안 1씩모으므로 5값이 리턴됩니다. for문은 루프문으로 현재봉에서 과거의값을 이전참조로 하여 불러오는 형식입니다. Input : Value(NumericSeries), Period(NumericSimple); Var : Counter(0); var1 = Value; ##var1에 현재값 저장 For Counter = 1 To Period - 1 ##과거 Period봉 전까지의 Begin var1 = var1 + Value[Counter]; ##var1에 value의 이전값을 불러와서 누적하라 End Accumn = var1; 3. accum은 차트상 첫봉부터 특정값을 저장하는 함수입니다. accum(1)은 매봉 1이라는 값을 누적하라는 의미로 첫봉에서 1, 두번째 봉에서 2, 세번째 봉에서 3으로 1씩 누적합니다. Inputs : Price(NumericSeries); Var : Value_Accum(0); if CurrentBar > 1 then ##계산 가능한 순간부터(Price를 Ma(c,5)라고 하면 차트상 5번째 봉부터 ) Value_Accum = Value_Accum + Price; ##Price값을 누적 else Value_Accum = Price; Accum = Value_Accum; 즐거운 하루되세요 > FXKim 님이 쓴 글입니다. > 제목 : 사용자 함수 관련 질문입니다. > input : Period(5); var1 = ma(c,5); var2 = ma(c,20); var3 = macd(12,26); if iff(crossup(var3,0),1,0) == 1 Then ----- 1번 if accumn(iff(crossup(var3,0),1,0),Period) == 1 Then ----- 2번 buy(); 질문1)위 식에서 1번과 2번의 차이점이 있는지요? 질문2) accumn(1,5)는 어떤 값을 리턴 받는지요? 아래 accumn 사용자 함수 주석처리 부탁드립니다. Input : Value(NumericSeries), Period(NumericSimple); Var : Counter(0); var1 = Value; For Counter = 1 To Period - 1 Begin var1 = var1 + Value[Counter]; End Accumn = var1; 질문3) accum(1)은 더떤 값을 리턴 받는지요? 아래 accum 사용자 함수 주석처리 부탁드립니다. Inputs : Price(NumericSeries); Var : Value_Accum(0); if CurrentBar > 1 then Value_Accum = Value_Accum + Price; else Value_Accum = Price; Accum = Value_Accum; 친절한 답변에 감사드립니다.