커뮤니티

문의드립니다

프로필 이미지
월성맨
2016-04-03 21:43:03
64
글번호 96794
답변완료
안녕하세요 주말은잘보내셨는지요^^ 아래식은 추적청산식으로 제가쓰고있는전략에 대입해볼려고 보니 알수있는내용도있고 모르는내용이있어 식에대한 해석을도움 받고자문의드립니다. 주석으로 부탁드립니다^^ 그리고 단순진입신호에서 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);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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);