커뮤니티

수식 변환 부탁 드립니다.

프로필 이미지
vlfaud3
2019-07-04 10:21:17
248
글번호 130036
답변완료
안녕하세요 ? 수고가 많으십니다. 기존 매매전략식을 예스트레이더 언어로 변환 부탁 드립니다. (전제사항) 매매시간 설정 1. 09:00 ~ 15:20까지만 매매, 진입이 있다면 무조건 강제청산 2. 09:00 ~ 익일 05:00까지매매하고 진입이 있다면 무조건 강제청산 R=highest(H,X) , R = Highest(H,기간) R = 20 일간 고가중 최고값 , 기간(X)= 20.(수치 가변 적용) S=lowest(L,X) , S = Lowest(L,기간) S = 20 일간 저가중 최저값 , 기간(X)= 20 . E = avg(c,MA) MA=5일 (이동평균) (수치 가변 적용) 매수진입, 매도청산 조건. crossUp( E,R(1)) MA=5일 , MA(이평5일)가 R 의 이전 종가를 상향돌파 하는 경우. 매도진입, 매수청산 조건. crossDown(E,S(1)) MA=5일 , MA(이평5일)가 S 의 이전 종가를 하향돌파 하는 경우. 익절 조건. 1. 진입가의 + 0.2% 시 익절 진입가가 +0.15% 도달후 10% 하락시 매도 2, 진입후 15틱 도달시 무조건 손익절 두가지 버전으로 부탁 드립니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-07-04 11:22:43

안녕하세요 예스스탁입니다. 1 input : starttime(90000),endtime(152000); input : x(20),maPeriod(5); var : Tcond(false),R(0),S(0),E(0); if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; if MarketPosition == 1 Then ExitLong("bx"); if MarketPosition == -1 Then ExitShort("sx"); } R = highest(H,X); S = lowest(L,X); E = ma(c,maPeriod); if crossUp(E,R[1]) Then buy("b"); if CrossDown(E,S[1]) Then sell("s"); if MarketPosition == 1 Then { ExitLong("bp1",atlimit,EntryPrice*1.002); if highest(H,BarsSinceEntry) >= EntryPrice*1.0015 Then ExitLong("btr",AtStop,highest(H,BarsSinceEntry)-(highest(H,BarsSinceEntry)-EntryPrice)*0.1); } if MarketPosition == -1 Then { ExitShort("sp1",atlimit,EntryPrice*0.998); if Lowest(L,BarsSinceEntry) <= EntryPrice*0.9985 Then ExitShort("str",AtStop,Lowest(L,BarsSinceEntry)-(EntryPrice-lowest(L,BarsSinceEntry))*0.1); } 2 input : starttime(90000),endtime(050000); input : x(20),maPeriod(5); var : Tcond(false),R(0),S(0),E(0); if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; if MarketPosition == 1 Then ExitLong("bx"); if MarketPosition == -1 Then ExitShort("sx"); } R = highest(H,X); S = lowest(L,X); E = ma(c,maPeriod); if crossUp(E,R[1]) Then buy("b"); if CrossDown(E,S[1]) Then sell("s"); if MarketPosition == 1 Then { ExitLong("bp2",atlimit,EntryPrice+PriceScale*15); ExitLong("bl",AtStop,EntryPrice-PriceScale*15); } if MarketPosition == -1 Then { ExitShort("sp2",atlimit,EntryPrice-PriceScale*15); ExitShort("sl",AtStop,EntryPrice+PriceScale*15); } 즐거운 하루되세요 > vlfaud3 님이 쓴 글입니다. > 제목 : 수식 변환 부탁 드립니다. > 안녕하세요 ? 수고가 많으십니다. 기존 매매전략식을 예스트레이더 언어로 변환 부탁 드립니다. (전제사항) 매매시간 설정 1. 09:00 ~ 15:20까지만 매매, 진입이 있다면 무조건 강제청산 2. 09:00 ~ 익일 05:00까지매매하고 진입이 있다면 무조건 강제청산 R=highest(H,X) , R = Highest(H,기간) R = 20 일간 고가중 최고값 , 기간(X)= 20.(수치 가변 적용) S=lowest(L,X) , S = Lowest(L,기간) S = 20 일간 저가중 최저값 , 기간(X)= 20 . E = avg(c,MA) MA=5일 (이동평균) (수치 가변 적용) 매수진입, 매도청산 조건. crossUp( E,R(1)) MA=5일 , MA(이평5일)가 R 의 이전 종가를 상향돌파 하는 경우. 매도진입, 매수청산 조건. crossDown(E,S(1)) MA=5일 , MA(이평5일)가 S 의 이전 종가를 하향돌파 하는 경우. 익절 조건. 1. 진입가의 + 0.2% 시 익절 진입가가 +0.15% 도달후 10% 하락시 매도 2, 진입후 15틱 도달시 무조건 손익절 두가지 버전으로 부탁 드립니다