커뮤니티

예스스팟 수식문의

프로필 이미지
회원
2013-05-28 11:24:21
192
글번호 63663
답변완료
예스스팟을 사용하여 미완성 신호에 진입하고 싶습니다.. 1. 현재 봉기준으로 미완성 신호를 제일 첫번째 챠트조건 모두가 만족되면 한번만 나오게 하고 싶습니다.. 2. 그리고 매수진입시에는 매수 신호가 나오지 않게 하고 매도 진입중에는 매도신호가 나오지 않게 수정하고 싶습니다. 아래의 수식 수정 부탁드립니다. - 아래 - //차트객체명 Chart1 --> 속성에서 차트아이디 연결 //계좌객체명 Account1 --> 속성에서 계좌선택 var cnt; function Main_OnStart() { cnt = 0; } //봉완성(시가수신) 카운트 0로 초기화 function Chart1_OnBarAppended(nData) { cnt = 0; } function Chart1_OnRiseIncompleteSignal(IncompleteSignal) { //Buy미완성신호 발생 if (IncompleteSignal.signalKind == 1) { //미완성신호 발생 카운트 cnt = cnt+1; //현재봉에서 첫번째 발생한 미완성 신호이고 차트 포지션이 무포지션이나 매도포지션일때 if (cnt == 1 && Chart1.GetOpenContracts() <= 0) Account1.OrderBuy(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); } //Exitlong미완성신호 발생 if (IncompleteSignal.signalKind == 2) { //미완성신호 발생 카운트 cnt = cnt+1; //현재봉에서 첫번째 발생한 미완성 신호이고 차트 포지션이 매수포지션일때 if (cnt == 1 && Chart1.GetOpenContracts() >= 1) Account1.OrderSell(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); } //Sell미완성신호 발생 if (IncompleteSignal.signalKind == 3) { //미완성신호 발생 카운트 cnt = cnt+1; //현재봉에서 첫번째 발생한 미완성 신호이고 차트 포지션이 무포지션이나 매수포지션일때 if (cnt == 1 && Chart1.GetOpenContracts() >= 0) Account1.OrderSell(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); } //ExitShort미완성신호 발생 if (IncompleteSignal.signalKind == 4) { //미완성신호 발생 카운트 cnt = cnt+1; //현재봉에서 첫번째 발생한 미완성 신호이고 차트 포지션이 매도포지션일때 if (cnt == 1 && Chart1.GetOpenContracts() <= -1) Account1.OrderBuy(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-05-28 13:19:42

안녕하세요 예스스탁입니다. //차트객체명 Chart1 --> 속성에서 차트아이디 연결 //계좌객체명 Account1 --> 속성에서 계좌선택 var cnt; function Main_OnStart() { cnt = 0; } //봉완성(시가수신) 카운트 0로 초기화 function Chart1_OnBarAppended(nData) { cnt = 0; } function Chart1_OnRiseIncompleteSignal(IncompleteSignal) { //차트가 무포지션이거나 매도포지션 상태일 때 Buy미완성신호 발생하면 매수 if (cnt == 0 && IncompleteSignal.signalKind == 1 && Chart1.GetOpenContracts() <= 0) { Account1.OrderBuy(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); cnt = 1; } //차트가 매수포지션일때 Exitlong미완성신호 발생시 청산 if (cnt == 0 &&Chart1.GetOpenContracts() >= 1 && IncompleteSignal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); cnt = 1; } //차트가 무포지션 상태이거나 매수포지션 상태일 때 Sell미완성신호 발생하면 매도 if (cnt == 0 && IncompleteSignal.signalKind == 3) { Account1.OrderSell(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); cnt = 1; } //차트가 매도포지션 상태일 때 ExitShort미완성신호 발생 if (cnt == 0 && IncompleteSignal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); cnt = 1; } } 즐거운 하루되세요 > HI_lhj4610 님이 쓴 글입니다. > 제목 : 예스스팟 수식문의 > 예스스팟을 사용하여 미완성 신호에 진입하고 싶습니다.. 1. 현재 봉기준으로 미완성 신호를 제일 첫번째 챠트조건 모두가 만족되면 한번만 나오게 하고 싶습니다.. 2. 그리고 매수진입시에는 매수 신호가 나오지 않게 하고 매도 진입중에는 매도신호가 나오지 않게 수정하고 싶습니다. 아래의 수식 수정 부탁드립니다. - 아래 - //차트객체명 Chart1 --> 속성에서 차트아이디 연결 //계좌객체명 Account1 --> 속성에서 계좌선택 var cnt; function Main_OnStart() { cnt = 0; } //봉완성(시가수신) 카운트 0로 초기화 function Chart1_OnBarAppended(nData) { cnt = 0; } function Chart1_OnRiseIncompleteSignal(IncompleteSignal) { //Buy미완성신호 발생 if (IncompleteSignal.signalKind == 1) { //미완성신호 발생 카운트 cnt = cnt+1; //현재봉에서 첫번째 발생한 미완성 신호이고 차트 포지션이 무포지션이나 매도포지션일때 if (cnt == 1 && Chart1.GetOpenContracts() <= 0) Account1.OrderBuy(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); } //Exitlong미완성신호 발생 if (IncompleteSignal.signalKind == 2) { //미완성신호 발생 카운트 cnt = cnt+1; //현재봉에서 첫번째 발생한 미완성 신호이고 차트 포지션이 매수포지션일때 if (cnt == 1 && Chart1.GetOpenContracts() >= 1) Account1.OrderSell(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); } //Sell미완성신호 발생 if (IncompleteSignal.signalKind == 3) { //미완성신호 발생 카운트 cnt = cnt+1; //현재봉에서 첫번째 발생한 미완성 신호이고 차트 포지션이 무포지션이나 매수포지션일때 if (cnt == 1 && Chart1.GetOpenContracts() >= 0) Account1.OrderSell(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); } //ExitShort미완성신호 발생 if (IncompleteSignal.signalKind == 4) { //미완성신호 발생 카운트 cnt = cnt+1; //현재봉에서 첫번째 발생한 미완성 신호이고 차트 포지션이 매도포지션일때 if (cnt == 1 && Chart1.GetOpenContracts() <= -1) Account1.OrderBuy(Main.GetOrderCode(IncompleteSignal.code), 3, 0, 0); } }