예스스탁
예스스탁 답변
2016-04-12 09:54:51
안녕하세요
예스스탁입니다.
첫번째 케이스로 작성해 드립니다.
var : T1(0);
var1 = ma(C,20);
var2 = ma(C,60);
if var2 > var2[1] Then
T1 = 1;
if var2 < var2[1] Then
T1 = -1;
if T1 == 1 and NextBarOpen >= var1 Then
buy("b",AtLimit,var1-PriceScale*7,2);
if T1 == -1 and NextBarOpen <= var1 Then
sell("s",AtLimit,var1+PriceScale*7,2);
if MarketPosition == 1 Then{
ExitLong("BP",atlimit,EntryPrice+PriceScale*20,"",1,1);
if T1 == -1 Then
exitlong("Bx");
}
if MarketPosition == -1 Then{
ExitShort("SP",atlimit,EntryPrice-PriceScale*20,"",1,1);
if T1 == 1 Then
ExitShort("sx");
}
즐거운 하루되세요
> 상중하 님이 쓴 글입니다.
> 제목 : 질문 드려요?
> 안녕하세요 ?
예스트레이더(시스템매매)에 입문한지 일주일이 지났습니다.
한주동안 좋은 성과가 나와서 기쁘고요 그리고 감사드립니다.
지난주에 작성해주신것에 좀 보완 할려고 합니다.
청산은 설정에서 익절 손절을 사용하고 있습니다.
지난번 진입조건 :
60MA가 상승이면 20MA 아래 -7틱에서 매수(매도는반대)
문제점: 손절시 60MA 각도때문에 계속 동방향으로 진입하게 되는문제.
(예: 매수 - 손절 - 매수 ;재매수과정에서 단가만 올라가는 단점발생)그림1 참고하세요
2계약을 진입해서 1계약은 +50틱청산(단타) 1계약은 60MA가 방향이바뀌면 청산 종가기준(추세),
이렇게 구현하고 싶은데요 문제가 좀 있습니다.
요청수식; 그림1참고 하세요.
익절:20
손절:10
A. 그림1 참고하세요
첫진입은 2계약(단타+추세) 60MA방향이 상승하면 단타는 +20틱에서 청산 그이후 신호 발생시 진입,청산 반복.
추세포는 60MA방향전환시(종가기준) 청산(단타포도 있을경우 올청) 후 스위칭하는 구조.
문제점: 손절시 60MA 각도때문에 계속 동방향으로 손절,진입이 자주발생 되는문제.
그래서 그걸 좀 보완할려고 합니다.
B.그림2 참고하세요
첫진입은 2계약을 진입해서 60MA가 각도가 하락하기전까지는
1계약은(추세) 추세로 가지고 가고 1계약은(단타) +20틱에서 청산 , -10틱에서는 추가진입 1계약.
단타 청산시 추가매수분도 청산.
(추가매수를 한번하면 총2계약_첫진입1계약+추가1계약)
(추가매수를 두번하면 총3계약_첫진입1계약+추가2계약)
(추가매수를 세번하면 총4계약_첫진입1계약+추가3계약)
추가매수는 3번까지만
이런식 구현하고 싶습니다.
신규 진입 2계약 진입후 익절시 1계약만 보유하고 나머지는 청산할려고 합니다만.
그런데 추가 진입때문에 단타포 수량이 유동적이여서 이부분이 수식으로 가능하나요
가능하면 B항으로 해주시고요 불가능하면 A항으로 해주십시요.
※ 추가매수하면 단가는 어떻게 계산되나요(B항이 작성불가시 이부분은 무시하세요)
1) 첫진입후 익절가와 손절가를 매입기준으로 수식작성.
2) 첫진입후 익절가와 손절가를 평단으로 바꾸는 방법만 부연설명 해주세요.
(첫진입은 스위칭이후를 표현한것임)
예를 들어
첫진입가 : 30.00 1차추가:29.90 2차추가:29.80 3차추가: 29.70
1)첫진입 2계약(딘타_익절가 30.20 추세_익절가 60MA_전환시,손절가 -10틱) 1차( 익절가_30.00 손절가:29.80) .....진입가기준
2)첫진입 2계약(딘타_익절가 30.20 추세_익절가 60MA_전환시,손절가 -10틱) 1차( 평균단가 29.96 기준으로 익절 손절)....평균단가기준
지난번수식
var : T1(0);
var1 = ma(C,20);
var2 = ma(C,60);
if var2 > var2[1] Then
T1 = 1;
if var2 < var2[1] Then
T1 = -1;
if T1 == 1 and NextBarOpen >= var1 Then
buy("b",AtLimit,var1-PriceScale*7);
if T1 == -1 and NextBarOpen <= var1 Then
sell("s",AtLimit,var1+PriceScale*7);
그럼수고하십시요.
감사합니다.