커뮤니티

부탁드립니다.

프로필 이미지
골드핑거
2011-03-18 15:19:37
845
글번호 36699
답변완료
수고 많으십니다. 초보라서 자동프로그램을 만들어 보는데 애로가 많습니다. 첨부화일을 보시고 정정부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-03-18 15:57:43

안녕하세요 예스스탁입니다. 올리신 내용에 대해 정확히 이해를 하지 못했습니다. 이해된 내용으로 수식을 올려드립니다. 기준의 매수와 매도 진입에 var3와 var2가 현재 발생한 봉임을 추가했고 추가진입내용도 추가했습니다. 예스랭귀지에는 1대1 비교만 가능합니다. A > B > c와 같은 내용은 A > B and B > C와 같이 표현하셔야 합니다. Setstoptrailing은 최소 수익과 감소폭 2개를 지정하셔야 합니다. 식에서는 문법에 맞지않아 삭제했습니다, 도움말을 참고하셔서 문법에 맞게 추가하시기 바랍니다. input : gap(30),ttime(1.2), barnum(20), stoploss(40), limitprofit(200), moddletarget(120); #mh~bml간격, mh~ml 간격배수, 이전봉범위 Var1 = ma(c,5); Var2 = swinglow(1, var1, 2, 1, barnum); #buy 진입반등조건 ma값 Var3 = swinghigh(1, var1, 2, 1, barnum); #sell 진입반락조건 ma값 Var4 = swinghigh(1, var1, 2, 2, barnum); #구간내 ma고점값 Var5 = swinglow(1, var1, 2, 2, barnum); #구간내 ma저점값 #buy1 진입조건-sell 진입청산 후 if MarketPosition != 1 Then{ If var4-var3> gap and var4-var5>gap*ttime and SwingHigh(1, var1, 2, 1, 3) != -1 then Buy("매수1"); } if MarketPosition == 1 Then{ if var4 >= 0 and SwingHigh(1, var1, 2, 1, 3) != -1 and SwingHigh(1, var1, 2, 1, 3) > var4 Then buy("b",OnClose,def,int(CurrentContracts/2)); } #sell1 진입조건-buy 진입청산 후 If var2-var5>gap and var4-var5>gap*ttime and SwingLowBar(1, var1, 2, 1, 3) != 1 then Sell("매도1"); if MarketPosition == -1 Then{ if var4 >= 0 and swinglow(1, var1, 2, 1, 3) != -1 and swinglow(1, var1, 2, 1, 3) < var5 Then Sell("s",OnClose,def,int(CurrentContracts/2)); } #buy 진입청산 If marketposition==1 then { If var4>var3 and var3 > entryprice(0) then Exitlong("매수익절"); If var5>c then Exitlong("매수손절"); } #sell 진입청산 If marketposition==-1 then { If entryprice(0)>var2 and var2 > var5 then Exitshort("매도익절"); If var4<c then Exitshort("매도손절"); } #스탑설정 Setstoploss((pricescale*10)*stoploss, pointstop); Setstopprofittarget((pricescale*10)*limitprofit, pointstop); 즐거운 하루되세요 > 골드핑거 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 수고 많으십니다. 초보라서 자동프로그램을 만들어 보는데 애로가 많습니다. 첨부화일을 보시고 정정부탁드립니다. 감사합니다.