커뮤니티
시스템 프로그램 작성 문의드립니다.
2016-08-04 15:39:54
102
글번호 100713
안녕하세요.
항상 친절한 답변 감사드립니다.
"10일선 dead" 에서 매수 및 "20일선 dead" 에서 추가 매수하고,
마지막 매수시점 7일이내 5% 수익 시 매도, 8일 이후 조건없이 전량 매도하는
프로그램을 짜고 있는데요...
"20일선 dead" 에서 추가매수하는 부분이 잘 안되고 있습니다.
도움말 보면 피라미딩(진입누적)을 설정해야 한다고 하는 것 같은데요...
어느 부분을 봐야 할 지 잘 모르겠네요...
아래는 짜놓은 프로그램입니다.
감사합니다.
-----------------------------------------------------------------------
var : Dayx(0);
var : buyday(0), buyprice(0), CDCav10dday(0);
if date != date[1] Then
Dayx = Dayx+1;
if MarketPosition == 0 and CrossDown(C, Ema(c,10))
Then {
Buy("10일선 dead");
buyday = dayx;
buyprice = C;
ExitLong("매도5%", AtLimit, buyprice*1.05);
}
if MarketPosition == 1 and CrossDown(C, Ema(c,20))
Then {
Buy("20일선 dead 추매");
buyday = dayx;
buyprice = (buyprice+C)/2;
ExitLong("추매 매도5%", AtLimit, buyprice*1.05);
}
if MarketPosition == 1 and buyday+6 >= dayx Then {
ExitLong("7일이내 5%", AtLimit, buyprice*1.05);
}
if MarketPosition == 1 and buyday+7 == dayx Then {
ExitLong("8일 포기");
}
답변 1
예스스탁 예스스탁 답변
2016-08-04 17:21:16
안녕하세요
예스스탁입니다.
작성하신 수식내에서는 따로 수정할 내용은 없습니다.
시스템은 기본적으로 추가로 진입을 못하게 되어 있습니다.
추가로 진입하는 내용을 작성하시면
시스템을 적용할때 시스템트레이딩 설정창의 피라미딩 탭에서
피라미딩을 [모든진입신호 허용]이나 [다른진입신호만허용] 중 하나를
택해서 선택후 적용하셔야 합니다.
기본설정은 항상 [허용안함]입니다.
작성하신 식의 경우
Buy("10일선 dead");로 최초 진입후
Buy("20일선 dead 추매");로 한번만 추가로 매수하는 식이므로
피라미딩을 [다른진입신호만허용]으로 설정하시면 됩니다.
[다른진입신호만허용]은 수식내 Buy와 같은 진입함수가 여러개 일때
청산전에 한번씩만 진입한다는 설정입니다.
Buy("10일선 dead"); ---> Buy("20일선 dead 추매"); --> 청산
[모든진입신호허용]으로 설정하시면
각 Buy별로 조건만족할때마다 횟수에 제한없이 진입합니다.
Buy("10일선 dead");의 경우에는 무포지션(MarketPosition == 0)이라는 조건이 있으므로
추가로 나오지 않지만 Buy("20일선 dead 추매");가 여러번 진입할수도 있습니다.
Buy("10일선 dead"); ---> Buy("20일선 dead 추매"); --> Buy("20일선 dead 추매"); --> ...--> 청산
참고로 피라미딩탭 하단의 진입설정은
최대 누적되는횟수와 수량에 제한을 주는 옵션입니다.
즐거운 하루되세요
> 으그흐흐 님이 쓴 글입니다.
> 제목 : 시스템 프로그램 작성 문의드립니다.
> 안녕하세요.
항상 친절한 답변 감사드립니다.
"10일선 dead" 에서 매수 및 "20일선 dead" 에서 추가 매수하고,
마지막 매수시점 7일이내 5% 수익 시 매도, 8일 이후 조건없이 전량 매도하는
프로그램을 짜고 있는데요...
"20일선 dead" 에서 추가매수하는 부분이 잘 안되고 있습니다.
도움말 보면 피라미딩(진입누적)을 설정해야 한다고 하는 것 같은데요...
어느 부분을 봐야 할 지 잘 모르겠네요...
아래는 짜놓은 프로그램입니다.
감사합니다.
-----------------------------------------------------------------------
var : Dayx(0);
var : buyday(0), buyprice(0), CDCav10dday(0);
if date != date[1] Then
Dayx = Dayx+1;
if MarketPosition == 0 and CrossDown(C, Ema(c,10))
Then {
Buy("10일선 dead");
buyday = dayx;
buyprice = C;
ExitLong("매도5%", AtLimit, buyprice*1.05);
}
if MarketPosition == 1 and CrossDown(C, Ema(c,20))
Then {
Buy("20일선 dead 추매");
buyday = dayx;
buyprice = (buyprice+C)/2;
ExitLong("추매 매도5%", AtLimit, buyprice*1.05);
}
if MarketPosition == 1 and buyday+6 >= dayx Then {
ExitLong("7일이내 5%", AtLimit, buyprice*1.05);
}
if MarketPosition == 1 and buyday+7 == dayx Then {
ExitLong("8일 포기");
}
다음글