커뮤니티

수식 수정 부탁드립니다~^^

프로필 이미지
mk0614
2015-03-27 16:32:34
184
글번호 84496
답변완료
수식 관련하여 질문 올립니다. 아래 수식은 지난 번, n일 이동평균선을 나타내는데 있어, 현재 캔들 종가의 n일 이동평균값(A)과 직전 캔들 종가의 n일 이동평균값(B)를 비교해 A가 B보다 크거나 같으면 적색으로, 작으면 청색으로 표시가 될 수 있도록 하고 싶습니다. 라는 질문으로 받은 수식입니다. input : P(20); var : T(0); var1 = ma(c,P); if var1 >= var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if T == 1 Then plot1(var1,"이평",RED); Else plot1(var1,"이평",blue); 위 수식을 이렇게 바꾸었을 경우 결과 값이 다르게 나타나는지요? input : P(5); var : ma1(0); ma1 = ma(c, p); if ma1 >= ma1[1] Then plot1(ma1,"이평",RED); Else plot1(ma1,"이평",blue); 다음은 n일 이동 평균선의 색이 바뀌게 만든 캔들의 종가를 기준으로 이어지는 캔들 종가와 비교하여 a. 적색으로 바뀐 경우는 이어지는 캔들의 종가가 기준 종가보다 크거나 같으면, b. 청색으로 바뀐 경우는 이어지는 캔들의 종가가 기준 종가보다 작거나 같으면 신호가 발생 할 수 있도록 만들고 싶습니다. 라는 질문으로 받은 수식을 수정하기 위한 질문입니다. 위 질문에서의 신호 발생 조건은, '이평선의 색을 바뀌게 만든 캔들의 종가를 기준으로 이어지는 캔들의 종가가 직전 캔들의 종가보다 크거나 같으면 or 작거나 같으면' 이었는데 이것을 '이평선의 색을 바뀌게 만든 캔들의 고가, 저가를 기준으로 이어지는 캔들의 종가가 직전 캔들의 고가, 저가 보다 크거나 같으면 or 작거나 같으면' 으로 바꾸고 싶습니다. 어느 부분을 수정해야 하는지요. input : P(20); var : T(0); var1 = ma(c,P); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if T == 1 and T[1] != 1 Then var2 = C; if T == -1 and T[1] != -1 Then var2 = C; if T == 1 and T[1] == 1 and C >= var2 Then buy(); if T == -1 and T[1] == -1 and C <= var2 Then sell(); 자체적으로 아래와 같이 수식을 만들어 보았지만 원하는 것과는 조금씩 다른 위치에서 신호가 발생합니다...ㅠㅠ input : P(5); var : Ma1(0); Ma1 = ma(c, p); if Ma1 >= Ma1[1] and C >= H[1] Then buy(); if Ma1 < Ma1[1] and C <= L[1] Then sell();
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-03-30 09:23:49

안녕하세요 예스스탁입니다. 1. 올려주신 2개식은 내용이 같습니다. if var1 > var1[1] Then#>=를 > 로 변경 T = 1; if var1 < var1[1] Then T = -1; if T == 1 Then plot1(var1,"이평",RED); Else plot1(var1,"이평",blue); 만약 위에 식을 아래와 같이 >= 를 > 로 바꾸시면 조금 달라기게 됩니다. 상승이나 하락후에 값이 수평을 유지할때 (값이 같은구간 == ) 상승 후 값이 같은 구간은 상승구간으로 처리가 되고 하락 후 값이 같은 구간은 하락구간으로 처기가 됩니다. 2. 작성하신 식은 이평이 상승하거나 값이 같고 종가가 전봉의 고가보다 크면 매수 이평이 하락하고 종가가 전봉의 저가보다 작으면 매도하는 식입니다. var2변수가 색이 변경되는 구간에 값을 저장하는 변수입니다. 해당 변수에 고가나 저가를 저장하시면 되며 직입식에서도 현재구간이 상승구간이지(1) 하락구간인지(-1)만 구별하고 지정해 주시면 됩니다. input : P(20); var : T(0); var1 = ma(c,P); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if T == 1 and T[1] != 1 Then var2 = H;#저장되는 값을 고가로 변경 if T == -1 and T[1] != -1 Then var2 = L;#저장되는 값을 저가로 변경 if T == 1 and C >= var2 Then buy(); if T == -1 and C <= var2 Then sell(); 즐거운 하루되세요 > mk0614 님이 쓴 글입니다. > 제목 : 수식 수정 부탁드립니다~^^ > 수식 관련하여 질문 올립니다. 아래 수식은 지난 번, n일 이동평균선을 나타내는데 있어, 현재 캔들 종가의 n일 이동평균값(A)과 직전 캔들 종가의 n일 이동평균값(B)를 비교해 A가 B보다 크거나 같으면 적색으로, 작으면 청색으로 표시가 될 수 있도록 하고 싶습니다. 라는 질문으로 받은 수식입니다. input : P(20); var : T(0); var1 = ma(c,P); if var1 >= var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if T == 1 Then plot1(var1,"이평",RED); Else plot1(var1,"이평",blue); 위 수식을 이렇게 바꾸었을 경우 결과 값이 다르게 나타나는지요? input : P(5); var : ma1(0); ma1 = ma(c, p); if ma1 >= ma1[1] Then plot1(ma1,"이평",RED); Else plot1(ma1,"이평",blue); 다음은 n일 이동 평균선의 색이 바뀌게 만든 캔들의 종가를 기준으로 이어지는 캔들 종가와 비교하여 a. 적색으로 바뀐 경우는 이어지는 캔들의 종가가 기준 종가보다 크거나 같으면, b. 청색으로 바뀐 경우는 이어지는 캔들의 종가가 기준 종가보다 작거나 같으면 신호가 발생 할 수 있도록 만들고 싶습니다. 라는 질문으로 받은 수식을 수정하기 위한 질문입니다. 위 질문에서의 신호 발생 조건은, '이평선의 색을 바뀌게 만든 캔들의 종가를 기준으로 이어지는 캔들의 종가가 직전 캔들의 종가보다 크거나 같으면 or 작거나 같으면' 이었는데 이것을 '이평선의 색을 바뀌게 만든 캔들의 고가, 저가를 기준으로 이어지는 캔들의 종가가 직전 캔들의 고가, 저가 보다 크거나 같으면 or 작거나 같으면' 으로 바꾸고 싶습니다. 어느 부분을 수정해야 하는지요. input : P(20); var : T(0); var1 = ma(c,P); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; if T == 1 and T[1] != 1 Then var2 = C; if T == -1 and T[1] != -1 Then var2 = C; if T == 1 and T[1] == 1 and C >= var2 Then buy(); if T == -1 and T[1] == -1 and C <= var2 Then sell(); 자체적으로 아래와 같이 수식을 만들어 보았지만 원하는 것과는 조금씩 다른 위치에서 신호가 발생합니다...ㅠㅠ input : P(5); var : Ma1(0); Ma1 = ma(c, p); if Ma1 >= Ma1[1] and C >= H[1] Then buy(); if Ma1 < Ma1[1] and C <= L[1] Then sell();