커뮤니티

예스스팟에서 ATR 추적청산 문의

프로필 이미지
2mak
2012-12-28 11:00:13
259
글번호 57654
답변완료
안녕하세요. 예스스팟에서 아래 예스랭귀지에서와 같은 수식으로 ATR 추적청산 할수 있는 식이 가능하다면 부탁드립니다. 예스스팟에서 선물의 매수신호를 받아서 옵션등가로 옵션 매수진입 한 다음, 그 옵션을 ATR을 사용하여 추적청산 하고자 합니다. exitlong("매수추적3",Atstop,highest(high,barsSinceEntry+1)-atr(20)*3.2); 끝.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-12-28 11:31:23

안녕하세요 예스스탁입니다. 1. exitlong("매수추적3",Atstop,highest(high,barsSinceEntry+1)-atr(20)*3.2); 위식은 차트의 적용하는 식이고 봉이 기반이 되는 식입니다. atr(20)과 같은 경우에는 적용하는 차트에서 20개봉이므로 예스스팟 자체에서 코딩으로 작성하기에는 어려운 내용이고 차트에서 해당 값을 가져오셔야 합니다 원하시는 주기의 차트에 atr지표를 적용하시고 스팟에서 차트객체의 GetIndicatorData함수를 이용해 ATR지표의 값을 가져와 사용하셔야 합니다. 도움말에 GetIndicatorData 함수 참고하시기 바랍니다. 2 highest(high,barsSinceEntry+1)은 진입이후의 최고값이고 청산식만으로는 진입이 언제 이루어지는지 알수 없으므로 기존 작성하신 스팟의 매수진입이 발생하는 곳에서 진입이후의 최고값을 계산하기 위한 초기값을 셋팅하셔야 합니다. 3 아래식 참고하셔서 수정해 사용하시기 바랍니다. 함수중 영문으로 업데이트는 게시판의 쓰기 금칙어라 업데이트에 P가 *로 되어 있습니다. var HH; //특정 이벤트 발생하고 if조건 만족하면 매수주문하고 //진입이후 최고가를 계산하기 위한 변수HH는 초기값으로 0을 세팅 이벤트설정 { if (조건) { Account1.OrderBuy(sItemCode, nCount, dPrice, nPriceKind) HH = 0; } } //매수한 종목의 시세가 변화가 있을때마다 function Main_OnU*dateMarket(sItemCode, lU9dateID) { if (sItemCode == MarketData1.code && lU*dateID == 20001) //현재가가 HH보다 크면 HH를 현재가로 변경 if (MarketData1.current > HH) HH = MarketData1.current; //현재가가 HH-ATR값만큼 작아지면 청산 (수량,주문가격등은 직접 설정하셔야 합니다) if (MarketData1.current <= HH-Chart1.GetIndicatorData("ATR(Average True Range)",1,1)) Account1.OrderSell(MarketData1.code, nCount, dPrice, nPriceKind) } 즐거운 하루되세요 > 2mak 님이 쓴 글입니다. > 제목 : 예스스팟에서 ATR 추적청산 문의 > 안녕하세요. 예스스팟에서 아래 예스랭귀지에서와 같은 수식으로 ATR 추적청산 할수 있는 식이 가능하다면 부탁드립니다. 예스스팟에서 선물의 매수신호를 받아서 옵션등가로 옵션 매수진입 한 다음, 그 옵션을 ATR을 사용하여 추적청산 하고자 합니다. exitlong("매수추적3",Atstop,highest(high,barsSinceEntry+1)-atr(20)*3.2); 끝.