예스스탁
예스스탁 답변
2016-04-04 11:30:20
안녕하세요
예스스탁입니다.
1.
Input : shortPeriod(5), longPeriod(20) ;
Var : value(0),vol(0);
#포지션 진행중일때
if MarketPosition != 0 Then{
#손실중이면 현재거래량의 2배
if PositionProfit < 0 Then
Vol = MaxContracts*2;
Else#수익이면 1개
vol = 1;
}
#무포지션이면
if MarketPosition == 0 Then{
#직전거래가 손실이면 직전 거래량의 2배
if PositionProfit(1) < 0 Then
Vol = MaxContracts(1)*2;
Else #직전거래가 수익이면 1개
vol = 1;
}
#Price 오실레이터
value = OSCP(shortPeriod, longPeriod);
#오실레이터가 0을 상향돌파하면 매수
If CrossUP(value, 0) Then
Buy("b",OnClose,def,vol);
#오실레이터가 0을 하향이탈하면 매두
If CrossDown(value,-0) Then
Sell("s",OnClose,def,vol);
# 추적청산
input : AtrMult(6), AtrPeriod(6);
var : AtrVal(0), posHigh(0), posLow(0);
# ATR 추적청산
#ATR값의 AtrMult배
ATRVal = ATR(AtrPeriod) * AtrMult;
#진입이후의 최고가
PosHigh = Highest(H,BarssinceEntry+2);
#진입이후의 최저가
PosLow = Lowest(L,BarsSinceEntry+2);
#매수포지션이고 종가가 20이평보다 작으면
#진입이후 최고가-ATRval만큼 하락하면 매도로 스위칭
If MarketPosition == 1 and C < ma(c,20) Then
sell("ATR1", AtStop, PosHigh - ATRVal,Vol);
#매도포지션이고 종가가 20이평보다 크면
#진입이후 최저가+ATRval만큼 상승하면 매수로 스위칭
If MarketPosition == -1 and C > ma(c,20) Then
buy("ATR2", AtStop, PosLow + ATRVal,Vol);
#무포지션이고 종가가 20이평보다 크면
#청산이후 최고가에서 ATRval만큼 하락하면 매도로 진입
If MarketPosition == 0 and C > ma(C,20) Then
sell("ATR3", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal,Vol);
#무포지션이고 종가가 20이평보다 작으면
#청산이후 최저가에서 ATRval만큼 상승하면 매수로 진입
If MarketPosition == 0 and C < ma(C,20) Then
buy("ATR4", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal,Vol);
2
문의하신 내용 참조데이터를 이용해야 하는 부분입니다.
사용하시는 수식을 올려주셔야 변경해 볼수 있습니다.
아래내용 참고하셔서 수정보완해 사용하시기 바랍니다.
참조데이터는 차트 왼쪽 상단의 종목선택버튼 중 오른쪽 클릭하면
데이터를 추가할수 있습니다.
기본차트종목과 동일종목 다른주기로 차트에 추가가능합니다.
1분봉 차트에 동일종목으로 2분,3분 데이터를 추가한 후 아래식 적용하시면 됩니다.
아래식은 이평 돌파시스템입니다.
var : mav1(0,data1),mav2(0,data2),mav3(0,data3);
mav1 = data1(ma(C,20));
mav2 = data2(ma(C,20));
mav3 = data3(ma(C,20));
#기본차트(data1),참조데이터 data2,data3에서 조건만족하면 매수
if data1(crossup(C,mav1)) Then
buy();
if data2(crossup(C,mav2)) Then
buy();
if data3(crossup(C,mav3)) Then
buy();
#기본차트(data1),참조데이터 data2,data3에서 조건만족하면 매도
if data1(CrossDown(C,mav1)) Then
sell();
if data2(CrossDown(C,mav2)) Then
sell();
if data3(CrossDown(C,mav3)) Then
sell();
즐거운 하루되세요
> 월성맨 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요
주말은잘보내셨는지요^^
아래식은 추적청산식으로 제가쓰고있는전략에 대입해볼려고
보니 알수있는내용도있고 모르는내용이있어
식에대한 해석을도움 받고자문의드립니다.
주석으로 부탁드립니다^^
그리고 단순진입신호에서
1분봉에서 매수진입이든 매도진입신호이든 신호가잡히는데
혹가다 1분봉챠트에서진입신호가 발생하지않는것이 2분~3분챠트를돌려보면 진입신호가 발생하는것을볼수있는데
1,2,3분봉에서 진입신호가발생하면
1분봉에서 진입신호가 발생하도록 하고싶은데
시스템식부탁드립니다
감사합니다
/*
60201_46286
*/
Input : shortPeriod(5), longPeriod(20) ;
Var : value(0),vol(0);
if MarketPosition != 0 Then{
if PositionProfit < 0 Then
Vol = MaxContracts*2;
Else
vol = 1;
}
if MarketPosition == 0 Then{
if PositionProfit(1) < 0 Then
Vol = MaxContracts(1)*2;
Else
vol = 1;
}
value = OSCP(shortPeriod, longPeriod);
If CrossUP(value, 0) Then
Buy("b",OnClose,def,vol);
If CrossDown(value,-0) Then
Sell("s",OnClose,def,vol);
# 추적청산
input : AtrMult(6), AtrPeriod(6);
var : AtrVal(0), posHigh(0), posLow(0);
# ATR 추적청산
ATRVal = ATR(AtrPeriod) * AtrMult;
PosHigh = Highest(H,BarssinceEntry+2);
PosLow = Lowest(L,BarsSinceEntry+2);
If MarketPosition == 1 and C < ma(c,20) Then
sell("ATR1", AtStop, PosHigh - ATRVal,Vol);
If MarketPosition == -1 and C > ma(c,20) Then
buy("ATR2", AtStop, PosLow + ATRVal,Vol);
If MarketPosition == 0 and C > ma(C,20) Then
sell("ATR3", AtStop, Highest(H,BarsSinceExit(1)+1) - ATRVal,Vol);
If MarketPosition == 0 and C < ma(C,20) Then
buy("ATR4", AtStop, Lowest(L,BarsSinceExit(1)+1) + ATRVal,Vol);