예스스탁
예스스탁 답변
2017-03-02 14:41:13
안녕하세요
예스스탁입니다.
올려주신 내용은 따로 스팟에서 구현하는 부분이 아니라
예스랭귀지로 구현하셔야 할 부분입니다.
1
아래식 분봉차트에 적요하시면 됩니다.
일부매도는 전봉대비 현재봉종가가 5%상승하면 매도한다는 내용입니다.
진입만 일봉조건으로 진입하게 수정하고
청산은 전일종가대비 5%상승하면 즉시 일부청산되게 하시면 됩니다.
input : P5(5),P20(20);
var : cnt(0),sum1(0),sum11(0),sum2(0),sum22(0);
var : mav1(0),mav11(0),mav2(0),mav22(0);
#일봉이평 계산
sum1 = 0;
sum11 = 0;
sum2 = 0;
sum22 = 0;
for cnt = 0 to P20{
if cnt < P5 then{
sum1 = sum1 + DayClose(cnt);
sum11 = sum11 + DayClose(cnt+1);
}
if cnt < P20 then{
sum2 = sum2 + DayClose(cnt);
sum22 = sum22 + DayClose(cnt+1);
}
}
mav1 = sum1/P5;
mav11 = sum11/P5;
mav2 = sum2/P20;
mav22 = sum22/P20;
if NextBarSdate > sdate then{
if mav1 > mav2 and mav11 < mav22 Then
buy("매수",OnClose,def,Floor(2000000/C));
if mav1 < mav2 and mav11 > mav22 Then
sell("매도");
}
if MarketPosition == 1 Then
ExitLong("1/3매도",AtStop,DayClose(1)*1.05,"",Floor(CurrentContracts*0.33),1);
2
마찬가지로 아래도 예스랭귀지 수식입니다.
평단가 기준으로 구동되는 식입니다.
input : 손절틱수(20), 최소수익틱수(20), 수익감소틱수(10);
var : HH(0),LL(0);
if MarketPosition == 1 Then{
ExitLong("bx",AtStop,AvgEntryPrice-PriceScale*손절틱수);
if CurrentContracts > CurrentContracts[1] Then
HH = H;
if H > HH Then
HH = H;
if HH >= AvgEntryPrice+PriceScale*최소수익틱수 Then
ExitLong("btr",AtStop,HH-PriceScale*수익감소틱수);
}
if MarketPosition == -1 Then{
ExitShort("sx",AtStop,AvgEntryPrice+PriceScale*손절틱수);
if CurrentContracts > CurrentContracts[1] Then
LL = L;
if L < LL Then
LL = L;
if LL <= AvgEntryPrice-PriceScale*최소수익틱수 Then
ExitShort("str",AtStop,LL+PriceScale*수익감소틱수);
}
즐거운 하루되세요
> 탄탄시스템 님이 쓴 글입니다.
> 제목 : 수식부탁드립니다.
> 항상 감사를 드리며, 덕분에 많은 발전을 하고 있습니다. 질문은 두가지입니다.
1. 기존 시스템로직에서 특정한 주문만 스팟으로 조건만족시 주문낼 수 있는지 궁금합니다.
아래 그림의 기본수식에서 매수와 매도는 일봉기준으로 봉 완성시 즉 다음날 시초가에 주문나가게 그냥 두고 일부매도 주문만 장중에 조건을 만족하면 즉시 전체 비중의 30% 매도주문이 나가게끔 설정하고 싶습니다.
아니면 기존 시스템로직에 일부매도 주문을 빼고 스팟으로만 일부매도 주문명령을 내려도 됩니다.
2. 시스템로직에서 트레일링스탑이나 스탑로스같은 명령은 그 주문건 전체가 매도가 되는데, 각각 주문건에 대한 주문이 나가는 것이 아니라 전체 주문건에 대한 평균값으로 트레일링스탑탑이나 스탑로스를 걸 수 있는지 궁금합니다.
예를 들어 매수가 5건이 발생된 상황에서 개별주문건에 대한 조건값이 아니라 전체 평균값에 대한 수익 5% 달성시 트레이링스탑주문이 가동되고 1% 하락시 전체비중의 30%에 해당하는 수량을 주문할 수 있는 명령을 알고 싶습니다.