커뮤니티
연속손실제한 - 매매함수식 atstop 사용
2004-06-22 02:28:18
1533
글번호 4180
다음과 같이 연속손실시 진입조건을 변경하려고 합니다.
그런데, 시뮬레이션 확인결과 연속손실시에도 다른 매입조건으로 진입이 되질 않는군요..
지표로 테스트를 해보려고 해도, atstop의 체결가를 코딩할 수가 없어서 잘 모르겠습니다. 잘못된 부분이 있는지 좀 알려주세요~~^^*
p.s. 그리고 atstop의 경우 BUY("buy_e",atstop,h);이면 --> 조건을 만족하는 시점의 고가를 다음봉이 넘는시점에 주문이 나가야 하는데, 체결가는 조건만족시점의 고가가 아니라 종가를 만족하는 다음봉의 가격에서 나오고 있습니다. 체결시점은 과거 분석시에는 어쩔수 없더라도 체결가는 제대로 나와야 할 것 같아서요.. 제가 잘 못 알고 있는 것인지요? 답변주세요..
+ 호가잔량 데이터는 2001년3월 전은 제공할 수 없는건가요?
+ atstop주문의 경우, 위와 같은 식에서 다음봉의 조건만족시점의 고가를 넘지 못한다면, 그이후의 봉에서도 주문은 나가지 않는 것 같습니다. 조건만족후 10봉(예를들어)내에서 조건만족시점의 atstop 주문시점을 만족하면 주문하게 만들 수는 없을까요?
질문이 좀 길어 졌습니다.
언제나 빠른답변에 감사드립니다..꾸벅~~
if lossCnt <= 3 then {
if crossup(단기이평,장기이평) then
BUY("buy_n",atstop,h);
}
else {
if 채널돌파 then
BUY("buy_e",atstop,h);
}
/*매수청산*/
if crossdn(단기이평,장기이평) then {
Exitlong("exit_buy",atstop,l);
if EntryPrice(1)>ExitPrice(1) then
lossCnt=lossCnt+1;
else
lossCnt=0;
}
답변 3
예스스탁 예스스탁 답변
2004-06-22 13:51:10
안녕하세요? 예스스탁입니다...
문의주신 식을 바탕으로 설명을 드리면 다음과 같습니다...
주문함수의 경우 조건이 만족한 다음봉부터 주문함수에 의한 신호가 발생하게 됩니다. 따라서 (1)번식에서는 losscnt <= 3 이며 crossup(단기이평,장기이평)인 조건이 모두 만족한 다음봉에서 바로전 봉의 crossup(단기이평,장기이평)인 조건을 만족할 때의 고가값을 상향돌파하면 매수하는 식입니다.
(2)번식도 (1)번식과 마찬가지로 이해하시면 됩니다.
또한, 주문함수는 조건 만족 다음봉에서만 유효합니다. 따라서 해당 봉(조건 만족 후 다음봉)에서 조건이 만족하지 않게 된다면 그 다음 봉에서 비록 조건이 만족했다고 하더라도 신호는 무시가 될 것입니다.
그리고, 호가잔량 데이터는 현재 2001년 4월 부터 제공이 되고 있으며 그 이전 데이터는 구할 수가 없는 것으로 알고 있습니다...
(1)
if lossCnt <= 3 then {
if crossup(단기이평,장기이평) then
BUY("buy_n",atstop,h);
}
else {
if 채널돌파 then
BUY("buy_e",atstop,h);
}
(2)
/*매수청산*/
if crossdn(단기이평,장기이평) then {
Exitlong("exit_buy",atstop,l);
if EntryPrice(1)>ExitPrice(1) then
lossCnt=lossCnt+1;
else
lossCnt=0;
}
감사합니다...
> 선물천사 님이 쓴 글입니다.
> 제목 : 연속손실제한 - 매매함수식 atstop 사용
> 다음과 같이 연속손실시 진입조건을 변경하려고 합니다.
그런데, 시뮬레이션 확인결과 연속손실시에도 다른 매입조건으로 진입이 되질 않는군요..
지표로 테스트를 해보려고 해도, atstop의 체결가를 코딩할 수가 없어서 잘 모르겠습니다. 잘못된 부분이 있는지 좀 알려주세요~~^^*
p.s. 그리고 atstop의 경우 BUY("buy_e",atstop,h);이면 --> 조건을 만족하는 시점의 고가를 다음봉이 넘는시점에 주문이 나가야 하는데, 체결가는 조건만족시점의 고가가 아니라 종가를 만족하는 다음봉의 가격에서 나오고 있습니다. 체결시점은 과거 분석시에는 어쩔수 없더라도 체결가는 제대로 나와야 할 것 같아서요.. 제가 잘 못 알고 있는 것인지요? 답변주세요..
+ 호가잔량 데이터는 2001년3월 전은 제공할 수 없는건가요?
+ atstop주문의 경우, 위와 같은 식에서 다음봉의 조건만족시점의 고가를 넘지 못한다면, 그이후의 봉에서도 주문은 나가지 않는 것 같습니다. 조건만족후 10봉(예를들어)내에서 조건만족시점의 atstop 주문시점을 만족하면 주문하게 만들 수는 없을까요?
질문이 좀 길어 졌습니다.
언제나 빠른답변에 감사드립니다..꾸벅~~
if lossCnt <= 3 then {
if crossup(단기이평,장기이평) then
BUY("buy_n",atstop,h);
}
else {
if 채널돌파 then
BUY("buy_e",atstop,h);
}
/*매수청산*/
if crossdn(단기이평,장기이평) then {
Exitlong("exit_buy",atstop,l);
if EntryPrice(1)>ExitPrice(1) then
lossCnt=lossCnt+1;
else
lossCnt=0;
}
선물천사
2004-06-22 16:05:27
답변 감사합니다.
그런데, 첫번째 질문에 대답을 안해주셔서요.
아래의 식에 의하면, LossCnt가 3보다 작을때와 클거나 같을때의 매수진입식이 다릅니다. 그런데, 시뮬레이션을 적용해보면, 연속손실이 3회이상 발생했는데도, 'buy_n'(Losscnt<3미만의 매수진입식)에 의한 진입이 일어나고 있습니다.
제가 작성한 'EntryPrice(1)>ExitPrice(1)' 이 부분에 오류가 있는걸까요? 일단 청산이 일어난 상태에서 진입과 청산 모두 한 시점전의 값이 맞는것 같은데, 연속손실 카운트가 잘 일어나지 않습니다. 디버깅을 할 수 있는 방법도 엄고 해서 이렇게 질문 드립니다. 꼭 답변 부탁합니다.
한가지 더, atstop의 지정가에 의한 다음봉 이후의 매매를 위한 식도 부탁드려요...^^*
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 주문함수...
> 안녕하세요? 예스스탁입니다...
문의주신 식을 바탕으로 설명을 드리면 다음과 같습니다...
주문함수의 경우 조건이 만족한 다음봉부터 주문함수에 의한 신호가 발생하게 됩니다. 따라서 (1)번식에서는 losscnt <= 3 이며 crossup(단기이평,장기이평)인 조건이 모두 만족한 다음봉에서 바로전 봉의 crossup(단기이평,장기이평)인 조건을 만족할 때의 고가값을 상향돌파하면 매수하는 식입니다.
(2)번식도 (1)번식과 마찬가지로 이해하시면 됩니다.
또한, 주문함수는 조건 만족 다음봉에서만 유효합니다. 따라서 해당 봉(조건 만족 후 다음봉)에서 조건이 만족하지 않게 된다면 그 다음 봉에서 비록 조건이 만족했다고 하더라도 신호는 무시가 될 것입니다.
그리고, 호가잔량 데이터는 현재 2001년 4월 부터 제공이 되고 있으며 그 이전 데이터는 구할 수가 없는 것으로 알고 있습니다...
(1)
if lossCnt <= 3 then {
if crossup(단기이평,장기이평) then
BUY("buy_n",atstop,h);
}
else {
if 채널돌파 then
BUY("buy_e",atstop,h);
}
(2)
/*매수청산*/
if crossdn(단기이평,장기이평) then {
Exitlong("exit_buy",atstop,l);
if EntryPrice(1)>ExitPrice(1) then
lossCnt=lossCnt+1;
else
lossCnt=0;
}
감사합니다...
> 선물천사 님이 쓴 글입니다.
> 제목 : 연속손실제한 - 매매함수식 atstop 사용
> 다음과 같이 연속손실시 진입조건을 변경하려고 합니다.
그런데, 시뮬레이션 확인결과 연속손실시에도 다른 매입조건으로 진입이 되질 않는군요..
지표로 테스트를 해보려고 해도, atstop의 체결가를 코딩할 수가 없어서 잘 모르겠습니다. 잘못된 부분이 있는지 좀 알려주세요~~^^*
p.s. 그리고 atstop의 경우 BUY("buy_e",atstop,h);이면 --> 조건을 만족하는 시점의 고가를 다음봉이 넘는시점에 주문이 나가야 하는데, 체결가는 조건만족시점의 고가가 아니라 종가를 만족하는 다음봉의 가격에서 나오고 있습니다. 체결시점은 과거 분석시에는 어쩔수 없더라도 체결가는 제대로 나와야 할 것 같아서요.. 제가 잘 못 알고 있는 것인지요? 답변주세요..
+ 호가잔량 데이터는 2001년3월 전은 제공할 수 없는건가요?
+ atstop주문의 경우, 위와 같은 식에서 다음봉의 조건만족시점의 고가를 넘지 못한다면, 그이후의 봉에서도 주문은 나가지 않는 것 같습니다. 조건만족후 10봉(예를들어)내에서 조건만족시점의 atstop 주문시점을 만족하면 주문하게 만들 수는 없을까요?
질문이 좀 길어 졌습니다.
언제나 빠른답변에 감사드립니다..꾸벅~~
if lossCnt <= 3 then {
if crossup(단기이평,장기이평) then
BUY("buy_n",atstop,h);
}
else {
if 채널돌파 then
BUY("buy_e",atstop,h);
}
/*매수청산*/
if crossdn(단기이평,장기이평) then {
Exitlong("exit_buy",atstop,l);
if EntryPrice(1)>ExitPrice(1) then
lossCnt=lossCnt+1;
else
lossCnt=0;
}
예스스탁 예스스탁 답변
2004-06-23 10:19:11
안녕하세요? 예스스탁입니다...
문의주신 식을 보면 lossCnt에 대한 초기화 부분이 빠져 있는데 정확한 식을 올려 주시면 확인후 답변 드리겠습니다....
감사합니다...
> 선물천사 님이 쓴 글입니다.
> 제목 : 다시 질문드립니다
> 답변 감사합니다.
그런데, 첫번째 질문에 대답을 안해주셔서요.
아래의 식에 의하면, LossCnt가 3보다 작을때와 클거나 같을때의 매수진입식이 다릅니다. 그런데, 시뮬레이션을 적용해보면, 연속손실이 3회이상 발생했는데도, 'buy_n'(Losscnt<3미만의 매수진입식)에 의한 진입이 일어나고 있습니다.
제가 작성한 'EntryPrice(1)>ExitPrice(1)' 이 부분에 오류가 있는걸까요? 일단 청산이 일어난 상태에서 진입과 청산 모두 한 시점전의 값이 맞는것 같은데, 연속손실 카운트가 잘 일어나지 않습니다. 디버깅을 할 수 있는 방법도 엄고 해서 이렇게 질문 드립니다. 꼭 답변 부탁합니다.
한가지 더, atstop의 지정가에 의한 다음봉 이후의 매매를 위한 식도 부탁드려요...^^*
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 주문함수...
> 안녕하세요? 예스스탁입니다...
문의주신 식을 바탕으로 설명을 드리면 다음과 같습니다...
주문함수의 경우 조건이 만족한 다음봉부터 주문함수에 의한 신호가 발생하게 됩니다. 따라서 (1)번식에서는 losscnt <= 3 이며 crossup(단기이평,장기이평)인 조건이 모두 만족한 다음봉에서 바로전 봉의 crossup(단기이평,장기이평)인 조건을 만족할 때의 고가값을 상향돌파하면 매수하는 식입니다.
(2)번식도 (1)번식과 마찬가지로 이해하시면 됩니다.
또한, 주문함수는 조건 만족 다음봉에서만 유효합니다. 따라서 해당 봉(조건 만족 후 다음봉)에서 조건이 만족하지 않게 된다면 그 다음 봉에서 비록 조건이 만족했다고 하더라도 신호는 무시가 될 것입니다.
그리고, 호가잔량 데이터는 현재 2001년 4월 부터 제공이 되고 있으며 그 이전 데이터는 구할 수가 없는 것으로 알고 있습니다...
(1)
if lossCnt <= 3 then {
if crossup(단기이평,장기이평) then
BUY("buy_n",atstop,h);
}
else {
if 채널돌파 then
BUY("buy_e",atstop,h);
}
(2)
/*매수청산*/
if crossdn(단기이평,장기이평) then {
Exitlong("exit_buy",atstop,l);
if EntryPrice(1)>ExitPrice(1) then
lossCnt=lossCnt+1;
else
lossCnt=0;
}
감사합니다...
> 선물천사 님이 쓴 글입니다.
> 제목 : 연속손실제한 - 매매함수식 atstop 사용
> 다음과 같이 연속손실시 진입조건을 변경하려고 합니다.
그런데, 시뮬레이션 확인결과 연속손실시에도 다른 매입조건으로 진입이 되질 않는군요..
지표로 테스트를 해보려고 해도, atstop의 체결가를 코딩할 수가 없어서 잘 모르겠습니다. 잘못된 부분이 있는지 좀 알려주세요~~^^*
p.s. 그리고 atstop의 경우 BUY("buy_e",atstop,h);이면 --> 조건을 만족하는 시점의 고가를 다음봉이 넘는시점에 주문이 나가야 하는데, 체결가는 조건만족시점의 고가가 아니라 종가를 만족하는 다음봉의 가격에서 나오고 있습니다. 체결시점은 과거 분석시에는 어쩔수 없더라도 체결가는 제대로 나와야 할 것 같아서요.. 제가 잘 못 알고 있는 것인지요? 답변주세요..
+ 호가잔량 데이터는 2001년3월 전은 제공할 수 없는건가요?
+ atstop주문의 경우, 위와 같은 식에서 다음봉의 조건만족시점의 고가를 넘지 못한다면, 그이후의 봉에서도 주문은 나가지 않는 것 같습니다. 조건만족후 10봉(예를들어)내에서 조건만족시점의 atstop 주문시점을 만족하면 주문하게 만들 수는 없을까요?
질문이 좀 길어 졌습니다.
언제나 빠른답변에 감사드립니다..꾸벅~~
if lossCnt <= 3 then {
if crossup(단기이평,장기이평) then
BUY("buy_n",atstop,h);
}
else {
if 채널돌파 then
BUY("buy_e",atstop,h);
}
/*매수청산*/
if crossdn(단기이평,장기이평) then {
Exitlong("exit_buy",atstop,l);
if EntryPrice(1)>ExitPrice(1) then
lossCnt=lossCnt+1;
else
lossCnt=0;
}
다음글
이전글