커뮤니티
수식 부탁드립니다.
2006-02-24 11:18:05
1838
글번호 9441
수고하십니다.
참고로 그림을 올려드린 것과 같이,
매수 - 최근 고가 돌파
매도 - 최근 저가 돌파
*> 고가와 저가, 저가와 고가 사이의 R% 이하 파동의 움직임은 무시.
수고하시고, 좋은 시간되시기 바랍니다.
- 1. B_S.JPG (0.03 MB)
답변 4
예스스탁 예스스탁 답변
2006-02-24 13:13:46
안녕하세요
예스스탁입니다.
문의하신 식은 다음과 같습니다.
input : R(1);
var1 = max(swinghigh(1,C,3,3,100),swinglow(1,C,3,3,100));
var2 = min(swinghigh(1,C,3,3,100),swinglow(1,C,3,3,100));
if crossup(c,var1) and var1 > var2*(1+(R/100)) then
buy();
if crossdown(c,var2) and var1 > var2*(1+(R/100)) then
sell();
즐거운 하루되세요
> 나무 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 수고하십니다.
참고로 그림을 올려드린 것과 같이,
매수 - 최근 고가 돌파
매도 - 최근 저가 돌파
*> 고가와 저가, 저가와 고가 사이의 R% 이하 파동의 움직임은 무시.
수고하시고, 좋은 시간되시기 바랍니다.
회원
2006-02-24 15:49:24
먼저 답변에 감사드립니다.
그림에서 보시는 바와같이 변수를 거의 최저 R=0.1로 두었을 때,
계산상 0.17(170으로 가정) 이하의 움직임은 다 포착이 되어야 하는데,
그렇지 못한 것 같습니다.
그 이유가 어디에 있는지 한번 봐주시기 바랍니다.
---------------------------------------------------------------------------------------------------------------
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 부탁드립니다.
> 안녕하세요
예스스탁입니다.
문의하신 식은 다음과 같습니다.
input : R(1);
var1 = max(swinghigh(1,C,3,3,100),swinglow(1,C,3,3,100));
var2 = min(swinghigh(1,C,3,3,100),swinglow(1,C,3,3,100));
if crossup(c,var1) and var1 > var2*(1+(R/100)) then
buy();
if crossdown(c,var2) and var1 > var2*(1+(R/100)) then
sell();
즐거운 하루되세요
> 나무 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 수고하십니다.
참고로 그림을 올려드린 것과 같이,
매수 - 최근 고가 돌파
매도 - 최근 저가 돌파
*> 고가와 저가, 저가와 고가 사이의 R% 이하 파동의 움직임은 무시.
수고하시고, 좋은 시간되시기 바랍니다.
예스스탁 예스스탁 답변
2006-02-24 16:53:12
안녕하세요
예스스탁입니다.
스윙함수 외의 최근 고점저점 식입니다.
input : R(0.5);
var1 = highest(C,10)[1];
var2 = Lowest(C,10)[1];
if crossup(c,var1) and var1 > var2*(1+(R/100)) then
buy();
if crossdown(c,var2) and var1 > var2*(1+(R/100)) then
sell();
최근 10개봉동안의 최고가 최저가를 가지고
돌파식을 작성했습니다.
기존 스윙함수로 작성할 경우 그림파일처럼
문의하신 곳도 신호가 발생합니다.
다만 17일과 20일일 경우 그 전 매수식이 아직 청산조건이 되지 않음으로 해서
그 기간동안에 신호가 발생하지 않았습니다.
당일청산을 적용했습니다.
input : R(0.5);
var1 = max(swinghigh(1,C,1,1,100),swinglow(1,C,1,1,100));
var2 = min(swinghigh(1,C,1,1,100),swinglow(1,C,1,1,100));
if crossup(c,var1) and var1 > var2*(1+(R/100)) then
buy();
if crossdown(c,var2) and var1 > var2*(1+(R/100)) then
sell();
> 나무 님이 쓴 글입니다.
> 제목 : Re : Re : 잡혀지지 않는 부분들이 있습니다.
> 먼저 답변에 감사드립니다.
그림에서 보시는 바와같이 변수를 거의 최저 R=0.1로 두었을 때,
계산상 0.17(170으로 가정) 이하의 움직임은 다 포착이 되어야 하는데,
그렇지 못한 것 같습니다.
그 이유가 어디에 있는지 한번 봐주시기 바랍니다.
---------------------------------------------------------------------------------------------------------------
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 부탁드립니다.
> 안녕하세요
예스스탁입니다.
문의하신 식은 다음과 같습니다.
input : R(1);
var1 = max(swinghigh(1,C,3,3,100),swinglow(1,C,3,3,100));
var2 = min(swinghigh(1,C,3,3,100),swinglow(1,C,3,3,100));
if crossup(c,var1) and var1 > var2*(1+(R/100)) then
buy();
if crossdown(c,var2) and var1 > var2*(1+(R/100)) then
sell();
즐거운 하루되세요
> 나무 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 수고하십니다.
참고로 그림을 올려드린 것과 같이,
매수 - 최근 고가 돌파
매도 - 최근 저가 돌파
*> 고가와 저가, 저가와 고가 사이의 R% 이하 파동의 움직임은 무시.
수고하시고, 좋은 시간되시기 바랍니다.
회원
2006-02-24 23:49:20
차트상 S부분에서 매수 신호가 나오지 않았던 것은 이전에 매수되어 있기 때문이고,
제 착각이었습니다.
위에서 다시 마련하신 두번째 수식으로 적용을 해보았습니다.
검증을 위해서 당일 정리는 하지 않았습니다.
그리고 R의 값을 0.5가 아닌 거의 최저값 0.2로 주었습니다.
그러나 적용을 시키지 못하는 부분들이 드러나고 있습니다.
푸른색 - 매도신호 오류, 붉은색 - 매수신호 오류
차트상에서 매도 매수에 한발 늦게 드러나는 부분이 있다는 것을 알 수 있습니다.
그 이유는 '10 이라는 기간내에 최고 최저값’을 구하기 때문입니다.
예를 들어 10일전 시작가가 최고가격이라면, 10일 이내에 리듬상 매수 신호는 결코 나오지 않을 것입니다.
기간을 정한 수식의 문제로 생각됩니다.
5일이든 3일이든 위 수식에서 '기간을 정하는 한 문제는 있다'고 생각됩니다.
물론 이것은 기간을 설정하는 Swing함수에서도 마찬가지였습니다.
Swing함수를 이용한 수식에서는 오히려 더 많은 오류를 내고 있습니다.
올려진 그림2에서,
P1이 P2보다 높은 가격이지만 현재 B시점으로 보았을 때 리듬상 최근 전고점이 아닙니다.
마찬가지로 P3가 P4보다 낮은 가격이지만 S시점을 기준으로 리듬상 최근 전저점은 아닙니다.
그래서 각각 P2와 P4를 기준으로 Buy와 Sell을 합니다.
그림2의 아래 그림을 보시면 더 잘 이해가 되시리라 생각합니다.
물론 이러한 사항들은 더잘 알고 계실 것으로 압니다.
최고, 최저의 한계를 설정해달라고 하셔서 올려드립니다.
기간의 설정은 하지 않습니다. 그 이유는 R의 값이 적용되기 때문입니다.
물론 과거 시점과 비교하기 위하여 차트상의 봉의 갯수는 헤아릴 필요가 있겠지요.
현재시점(과거 현재시점)에서 ‘이전의 리듬상'에서
최근 전고점보다 높은 종가에는 매수.
최근 전저점보다 낮은 종가에는 매도.
저에게는 생각해볼수록 어렵다는 생각이 듭니다.
다시 한번 부탁드립니다.
------------------------------------------------------------------------------------------------
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : Re : 잡혀지지 않는 부분들이 있습니다.
> 안녕하세요
예스스탁입니다.
스윙함수 외의 최근 고점저점 식입니다.
input : R(0.5);
var1 = highest(C,10)[1];
var2 = Lowest(C,10)[1];
if crossup(c,var1) and var1 > var2*(1+(R/100)) then
buy();
if crossdown(c,var2) and var1 > var2*(1+(R/100)) then
sell();
최근 10개봉동안의 최고가 최저가를 가지고
돌파식을 작성했습니다.
기존 스윙함수로 작성할 경우 그림파일처럼
문의하신 곳도 신호가 발생합니다.
다만 17일과 20일일 경우 그 전 매수식이 아직 청산조건이 되지 않음으로 해서
그 기간동안에 신호가 발생하지 않았습니다.
당일청산을 적용했습니다.
input : R(0.5);
var1 = max(swinghigh(1,C,1,1,100),swinglow(1,C,1,1,100));
var2 = min(swinghigh(1,C,1,1,100),swinglow(1,C,1,1,100));
if crossup(c,var1) and var1 > var2*(1+(R/100)) then
buy();
if crossdown(c,var2) and var1 > var2*(1+(R/100)) then
sell();