커뮤니티
사용자 함수 작성법에 대한 문의
2013-05-02 14:33:02
219
글번호 62698
지난번에 반복되는 조건의 구문 작성하는데 답변 주신 부분입니다.
그런데 의도했던대로 작동이 안되네요.
그리고 가능하다면 함수로 만들어서 사용하고 싶습니다.
함수는 function(n,K) 이런식으로 해서 n,K를 인수로 집어넣고
만일 10까지 반복되는 경우라면 K=10을 입력하고 n은 n대로 따로 지정하구요.
함수 종류는 logical로 해서
구문 작성할때
n=3;
K=10;
if function(n,K) and 매수조건 then buy("");
이런식으로 해보려 생각중입니디ㅏ.
저도 함수도 나름대로 작성해서 해봤는데 의도한대로 잘 안됩니다.
그리고 항상 잘 답변 달아주셔서 정말 도움 많이 받고 있습니다.
감사합니다.^^
input : K(10),n(1),Minv(3);
var : cnt(0),count(0);
var1 = ema(c,26);
count = 0;
for cnt = minv to K{
if cnt < 10 and L[n+cnt] <= var1[n+cnt] Then
count = count+1;
if cnt == 10 and L[n+cnt] > var1[n+cnt] Then
count = count+1;
}
if count == K-Minv and
매수조건 then
buy();
즐거운 하루되세요
> 개냥이 님이 쓴 글입니다.
> 제목 : 반복하는 조건문을 간단하게 할 수 있는지요?
> if L[n+10] > ema(C[n+10],26) and
L[n+9] <= ema(C[n+9],26) and
L[n+8] <= ema(C[n+8],26) and
L[n+7] <= ema(C[n+7],26) and
L[n+6] <= ema(C[n+6],26) and
L[n+5] <= ema(C[n+5],26) and
L[n+4] <= ema(C[n+4],26) and
L[n+3] <= ema(C[n+3],26) and
매수조건 then
buy();
~
if L[n+4] > ema(C[n+4],26) and
L[n+3] <= ema(C[n+3],26) and
매수조건 then
buy();
답변 1
예스스탁 예스스탁 답변
2013-05-02 19:22:48
안녕하세요
예스스타입니다.
함수식입니다.
함수명 : Counter
반환값형 : 논리형
함수내용
input : K(Numeric),n(Numeric);
var : cnt(0),count(0);
var1 = ema(c,26);
count = 0;
for cnt = n to K{
if cnt < 10 and L[n+cnt] <= var1[n+cnt] Then
count = count+1;
if cnt == 10 and L[n+cnt] > var1[n+cnt] Then
count = count+1;
}
if count == K-n Then
Counter = true;
Else
counter = false;
########
기존에 올리신 식에서
n+1~n+9는 모두 L <= ema(C,26) 인데
n+10은 L > ema(C,26)로 조건이 달라
함수식에서 cnt가 10일때와 10보다 작을때로 구분되어 있습니다.
n값에 최소값에서 최대값까지 더하며 루프를 돌게 됩니다.
루프횟수만큼 모든 조건이 만족해야 true가 리턴됩니다.
시스템식에서는 아래와 같이 작성하시면 됩니다.
if Counter(10,3) == true and 매수조건 then
buy();
즐거운 하루되세요
> 개냥이 님이 쓴 글입니다.
> 제목 : 사용자 함수 작성법에 대한 문의
> 지난번에 반복되는 조건의 구문 작성하는데 답변 주신 부분입니다.
그런데 의도했던대로 작동이 안되네요.
그리고 가능하다면 함수로 만들어서 사용하고 싶습니다.
함수는 function(n,K) 이런식으로 해서 n,K를 인수로 집어넣고
만일 10까지 반복되는 경우라면 K=10을 입력하고 n은 n대로 따로 지정하구요.
함수 종류는 logical로 해서
구문 작성할때
n=3;
K=10;
if function(n,K) and 매수조건 then buy("");
이런식으로 해보려 생각중입니디ㅏ.
저도 함수도 나름대로 작성해서 해봤는데 의도한대로 잘 안됩니다.
그리고 항상 잘 답변 달아주셔서 정말 도움 많이 받고 있습니다.
감사합니다.^^
input : K(10),n(1),Minv(3);
var : cnt(0),count(0);
var1 = ema(c,26);
count = 0;
for cnt = minv to K{
if cnt < 10 and L[n+cnt] <= var1[n+cnt] Then
count = count+1;
if cnt == 10 and L[n+cnt] > var1[n+cnt] Then
count = count+1;
}
if count == K-Minv and
매수조건 then
buy();
즐거운 하루되세요
> 개냥이 님이 쓴 글입니다.
> 제목 : 반복하는 조건문을 간단하게 할 수 있는지요?
> if L[n+10] > ema(C[n+10],26) and
L[n+9] <= ema(C[n+9],26) and
L[n+8] <= ema(C[n+8],26) and
L[n+7] <= ema(C[n+7],26) and
L[n+6] <= ema(C[n+6],26) and
L[n+5] <= ema(C[n+5],26) and
L[n+4] <= ema(C[n+4],26) and
L[n+3] <= ema(C[n+3],26) and
매수조건 then
buy();
~
if L[n+4] > ema(C[n+4],26) and
L[n+3] <= ema(C[n+3],26) and
매수조건 then
buy();
다음글
이전글