커뮤니티
진입봉 손절 추가 질문드립니다.
2013-02-18 22:54:16
263
글번호 59668
>> 질문을 드리기 위해 전에 말씀해주신 코스피 코스닥 물량정리하는 코드까지
같이 넣어서 간단하게 식을 작성했습니다.
15분봉을 보는데 진입봉의 매수 손절에 적당한 긴 15분 음봉을 찾다가
2013년 1월31일 퍼스텍 15분 음봉이 비교적 예를 들기 적당한 거 같아
거기다 테스트해보았습니다.
이렇게 작성해서 테스트해보면 그림 1처럼 나옵니다. 진입봉에서 손절이 됩니다.
대신 매수물량도 0으로 나오고 매도물량도 0입니다.
#-------------------------------------------------------------------
input:매매일(20130131),일차매수(2410),일차손절(2380),매수금액(5000000);
var:매수수량(0),count(0),exit(0);
//----
##----------------------------------------------
If CodeCategory ==1 Then
{#코스피
If BasePrice < 50000 Then
{
매수수량 = int(int(매수금액/c)/10)*10;
}
Else
{
매수수량 = int(매수금액/c);
}
}
If CodeCategory == 2 Then
{#코스닥
매수수량 = int(매수금액/c);
}
## E----------------------------------------------
If date==매매일 and marketposition ==0 and count ==0 Then
{
buy("b",AtLimit,일차매수,매수수량);
count=count + 1;
}
If MarketPosition ==1 Then
{
If CodeCategory== 1 Then
{ #코스피
If BasePrice < 50000 Then
{
exit=int((MaxContracts* 0.5)/10)*10;
}
Else
{
exit = int(MaxContracts*0.5);
}
}
If CodeCategory==2 Then #코스닥
{
exit=int(MaxContracts*0.5);
}
}
exitlong("bx",AtStop,일차손절,"b");
#---------------------------
그런데 2월18일날 답변해주신
------
모든 if문은 봉완성시에 판단되므로 청산식의
if currentEntries ==1 then
이 봉완성시에 이므로 해당 조건이 만족하는 봉
다음봉 부터 청산신호가 발생할수 있습니다.
exitlong("bx",atstop,4150,"b",exit,1);
와 같이 if문없이 사용하시면 4150이하의 시세가 들어오면
진입봉에서도 같이 신호가 발생합니다.
------
이 구문처럼
맨 마지막
exitlong("bx",AtStop,일차손절,"b"); 을
exitlong("bx,atstop,일차손절,"b",exit,1);
이렇게 바꿔서 같은 진입봉에서 분할손절을 시킬려면 그림2 처럼 다음봉에서
손절되어버립니다. 대신 매수물량이랑 매도물량은 제대로 표기됩니다.
순간급락에서 분할손절로 리스크관리를 해보려합니다만.. 긴음봉 다음봉에서
손절이 나가면 매우 큰 퍼센트의 손절을 해야해서..
(단순한 문제일거라 생각했는데.. 며칠째 고민중입니다..)
매수수량에는 코스피와 코스닥을 판별하는 물량조절식을..
분할손절때도 코스피와 코스닥을 판별해서 물량을 10단위나 1단위로 끊어주는 식을
중간에 넣어주고..(전에 말씀해주신) 구성해보았습니다만..
제 식에 문제점을 알려주시길 부탁드립니다.
- 1. 퍼스텍 1차매수손절.JPG (0.03 MB)
- 2. 퍼스텍 2차 매수손절.JPG (0.02 MB)
답변 1
예스스탁 예스스탁 답변
2013-02-19 11:37:17
안녕하세요
예스스탁입니다.
exitlong("bx",AtStop,일차손절,"b");
은 b진입명으로 들어간 수량을 전량청산한다는 내용입니다.
그러므로 청산이 모두 같은봉에서 발생하므로 0으로 표시됩니다.
시스템 성능보고서에 거래내역보시면 진입수량보실수 있습니다.
특정진입명 하나의 수량을 분할로 청산할 때에는
청산할 수량도 지정해 주셔야 합니다.
또한 진입신호가 발생한 봉에서
청산이 나올수 있는 경우가 있고 진입 다음봉부터 나올수 있는
경우가 있으므로 각각 고려해 식에서 처리해 주셔야 합니다.
아래식 참고하시기 바랍니다.
#-------------------------------------------------------------------
input:매매일(20130201),일차매수(2410),일차손절(2380),매수금액(5000000);
var:매수수량(0),count(0),exit(0);
//----
##----------------------------------------------
If CodeCategory ==1 Then
{#코스피
If BasePrice < 50000 Then
{
매수수량 = int(int(매수금액/c)/10)*10;
}
Else
{
매수수량 = int(매수금액/c);
}
}
If CodeCategory == 2 Then
{#코스닥
매수수량 = int(매수금액/c);
}
## E----------------------------------------------
If date==매매일 and marketposition ==0 and count ==0 Then
{
buy("b",AtLimit,일차매수,매수수량);
If CodeCategory== 1 Then
{ #코스피
If BasePrice < 50000 Then
{
exit=int((매수수량* 0.5)/10)*10;
}
Else
{
exit = int(매수수량*0.5);
}
}
If CodeCategory==2 Then #코스닥
{
exit=int(매수수량*0.5);
}
}
#진입봉에서 청산하기 위한 식
if MarketPosition <= 0 Then
exitlong("bx1",AtStop,일차손절,"b",exit,1);
#진입봉 다음봉 부터 청산하기 위한 식
If MarketPosition ==1 Then
{
If CodeCategory== 1 Then
{ #코스피
If BasePrice < 50000 Then
{
exit=int((MaxContracts* 0.5)/10)*10;
}
Else
{
exit = int(MaxContracts*0.5);
}
}
If CodeCategory==2 Then #코스닥
{
exit=int(MaxContracts*0.5);
}
if CurrentContracts == MaxContracts Then
exitlong("bx2",AtStop,일차손절,"b",exit,1);
}
#---------------------------
즐거운 하루되세요
> 비엔에프 님이 쓴 글입니다.
> 제목 : 진입봉 손절 추가 질문드립니다.
> >> 질문을 드리기 위해 전에 말씀해주신 코스피 코스닥 물량정리하는 코드까지
같이 넣어서 간단하게 식을 작성했습니다.
15분봉을 보는데 진입봉의 매수 손절에 적당한 긴 15분 음봉을 찾다가
2013년 1월31일 퍼스텍 15분 음봉이 비교적 예를 들기 적당한 거 같아
거기다 테스트해보았습니다.
이렇게 작성해서 테스트해보면 그림 1처럼 나옵니다. 진입봉에서 손절이 됩니다.
대신 매수물량도 0으로 나오고 매도물량도 0입니다.
#-------------------------------------------------------------------
input:매매일(20130131),일차매수(2410),일차손절(2380),매수금액(5000000);
var:매수수량(0),count(0),exit(0);
//----
##----------------------------------------------
If CodeCategory ==1 Then
{#코스피
If BasePrice < 50000 Then
{
매수수량 = int(int(매수금액/c)/10)*10;
}
Else
{
매수수량 = int(매수금액/c);
}
}
If CodeCategory == 2 Then
{#코스닥
매수수량 = int(매수금액/c);
}
## E----------------------------------------------
If date==매매일 and marketposition ==0 and count ==0 Then
{
buy("b",AtLimit,일차매수,매수수량);
count=count + 1;
}
If MarketPosition ==1 Then
{
If CodeCategory== 1 Then
{ #코스피
If BasePrice < 50000 Then
{
exit=int((MaxContracts* 0.5)/10)*10;
}
Else
{
exit = int(MaxContracts*0.5);
}
}
If CodeCategory==2 Then #코스닥
{
exit=int(MaxContracts*0.5);
}
}
exitlong("bx",AtStop,일차손절,"b");
#---------------------------
그런데 2월18일날 답변해주신
------
모든 if문은 봉완성시에 판단되므로 청산식의
if currentEntries ==1 then
이 봉완성시에 이므로 해당 조건이 만족하는 봉
다음봉 부터 청산신호가 발생할수 있습니다.
exitlong("bx",atstop,4150,"b",exit,1);
와 같이 if문없이 사용하시면 4150이하의 시세가 들어오면
진입봉에서도 같이 신호가 발생합니다.
------
이 구문처럼
맨 마지막
exitlong("bx",AtStop,일차손절,"b"); 을
exitlong("bx,atstop,일차손절,"b",exit,1);
이렇게 바꿔서 같은 진입봉에서 분할손절을 시킬려면 그림2 처럼 다음봉에서
손절되어버립니다. 대신 매수물량이랑 매도물량은 제대로 표기됩니다.
순간급락에서 분할손절로 리스크관리를 해보려합니다만.. 긴음봉 다음봉에서
손절이 나가면 매우 큰 퍼센트의 손절을 해야해서..
(단순한 문제일거라 생각했는데.. 며칠째 고민중입니다..)
매수수량에는 코스피와 코스닥을 판별하는 물량조절식을..
분할손절때도 코스피와 코스닥을 판별해서 물량을 10단위나 1단위로 끊어주는 식을
중간에 넣어주고..(전에 말씀해주신) 구성해보았습니다만..
제 식에 문제점을 알려주시길 부탁드립니다.
이전글