커뮤니티

60694 재질문 드립니다.

프로필 이미지
자동매매를알자
2019-01-03 21:31:55
141
글번호 124953
답변완료
안녕하세요. 하이투자선물 YesTrader 해외선물에서 다음식 작성 부탁드립니다. 현재 기본거래수량의 동일수량(계약)진입을 거래수량 1로 적용된 상태에서... 1. 매수 신호시 매수 진입 1) 진입 : "매수A"신호 발생 후 처음 발생하는 "매수B"신호시 매수 진입. (매수A 신호가 유효한 상태에서 매수B 신호시) ▶이때 진입 수량은 1~10으로 조정가능하도록 사용자 입력으로 적용 2) 청산 : 청산조건 발생시 진입수량과 동일한 수량으로 청산 ▶SetStopProfittarget(PriceScale*20,PointStop)으로 진입 1계약을 청산했으나, 1~10으로 진입수량과 동일한 수량으로 청산되도록 부탁드립니다. 2. 매도 신호시 매도 진입 1) 진입 : "매도A"신호 발생 후 처음 발생하는 "매도B"신호시 매도 진입. (매도A 신호가 유효한 상태에서 매도B 신호시) ▶이때 진입 수량은 1~10으로 조정가능하도록 사용자 입력으로 적용 2) 청산 : 청산조건 발생시 진입수량과 동일한 수량으로 청산 ▶SetStopProfittarget(PriceScale*20,PointStop)으로 진입 1계약을 청산했으나, 1~10으로 진입수량과 동일한 수량으로 청산되도록 부탁드립니다. ** 매수A신호와 매도A신호는 동시에 나올수 없으며, 매수A>매도A>매수A>매도A로 계속 반복하는 신호입니다. ** 매수B신호와 매도B신호도 동시에 나올수 없으며, 특정시점에 매수B or 매도B가 발생하는 신호입니다. ** 매수(매도)A 신호는 기간이 비교적 길게(1일~5일간) 지속되며, 매수(매도)B 신호는 비교적 짧게(1시간~8시간만) 지속되는 신호입니다. 3. 상기 매수/매도 청산 이후에는 설정창의 수량(거래수량 1)으로 매수/매도 되도록 적용. ▶ 매수A(or 매도A) 신호가 발생하여 유지하고 있는 상태에서, 처음발생하는 매수B(or 매도B)시에만 진입(청산)수량 1~10을 적용하고, 이후에는 진입(청산)수량을 1로 되도록 적용. 4. 피라미딩 미사용, 피라미딩 사용으로 2가지로 작성 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-01-04 13:16:49

안녕하세요 예스스탁입니다. 1 진입신호함수는 함수내에 4번째 매개변수가 수량입니다. 수량을 지정하지 않으면 설정창의 수량이 적용되고 수량을 지정하면 해당 수량으로 신호가 발생합니다. 2 피라미딩 적용여부는 설정창에서 설정하시면 됩니다. 아래 수식구조에서는 매수A나 매도A는 무포지션이거나 반대포지션일때 발생하고 매수B는 가장최근 진입이 매수A일떄만, 매도B는 가장최근 진입이 매도A일때만 발생합니다. 3 SetStopProfittarget은 각 진입별로 동작합니다. 각 진입별로 20틱 수익청산을 하고자 하시면 기존과 같이 해당 함수 하나만 사용하시면 됩니다. 평단가 기준으로 20틱 수익청산을 하고자 하시면 SetStopProfittarget(PriceScale*20,PointStop);를 삭제하시고 아래수식으로 대체하시면 됩니다. if MarketPosition == 1 then { exitlong("bp",atlimit,AvgEntryPrice+PriceScale*20); } if MarketPosition == -1 then { ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*20); } 4 주석 참고하시기 바랍니다. input : B수량(1); var : EN(0); #최근 발생한 진입명 저장 if CurrentContracts > CurrentContracts[1] Then EN = LatestEntryName(0); #매수A는 무포지션이거나 매도포지션이면 발생 #수량은 설정창의 수량 if MarketPosition <= 0 and 매수A조건 Then buy("매수A"); #매수B는 현재 무포지션이거나 매수진행상태이고 #가장최근 진입명이 "매수A"일때만 발생 #수량은 B수량으로 지정한 값 if MarketPosition >= 0 and EN == "매수A" and 매수B조건 Then buy("매수B",OnClose,def,B수량); #매도A는 무포지션이거나 매수포지션이면 발생 #수량은 설정창의 수량 if MarketPosition >= 0 and 매도B조건 Then sell("매도B"); #매도B는 현재 무포지션이거나 매도진행상태이고 #가장최근 진입명이 "매도A"일때만 발생 #수량은 B수량으로 지정한 값 if MarketPosition >= 0 and EN == "매도A" and 매수B조건 Then sell("매도B",OnClose,def,B수량); SetStopProfittarget(PriceScale*20,PointStop); 즐거운 하루되세요 > 자동매매를알자 님이 쓴 글입니다. > 제목 : 60694 재질문 드립니다. > 안녕하세요. 하이투자선물 YesTrader 해외선물에서 다음식 작성 부탁드립니다. 현재 기본거래수량의 동일수량(계약)진입을 거래수량 1로 적용된 상태에서... 1. 매수 신호시 매수 진입 1) 진입 : "매수A"신호 발생 후 처음 발생하는 "매수B"신호시 매수 진입. (매수A 신호가 유효한 상태에서 매수B 신호시) ▶이때 진입 수량은 1~10으로 조정가능하도록 사용자 입력으로 적용 2) 청산 : 청산조건 발생시 진입수량과 동일한 수량으로 청산 ▶SetStopProfittarget(PriceScale*20,PointStop)으로 진입 1계약을 청산했으나, 1~10으로 진입수량과 동일한 수량으로 청산되도록 부탁드립니다. 2. 매도 신호시 매도 진입 1) 진입 : "매도A"신호 발생 후 처음 발생하는 "매도B"신호시 매도 진입. (매도A 신호가 유효한 상태에서 매도B 신호시) ▶이때 진입 수량은 1~10으로 조정가능하도록 사용자 입력으로 적용 2) 청산 : 청산조건 발생시 진입수량과 동일한 수량으로 청산 ▶SetStopProfittarget(PriceScale*20,PointStop)으로 진입 1계약을 청산했으나, 1~10으로 진입수량과 동일한 수량으로 청산되도록 부탁드립니다. ** 매수A신호와 매도A신호는 동시에 나올수 없으며, 매수A>매도A>매수A>매도A로 계속 반복하는 신호입니다. ** 매수B신호와 매도B신호도 동시에 나올수 없으며, 특정시점에 매수B or 매도B가 발생하는 신호입니다. ** 매수(매도)A 신호는 기간이 비교적 길게(1일~5일간) 지속되며, 매수(매도)B 신호는 비교적 짧게(1시간~8시간만) 지속되는 신호입니다. 3. 상기 매수/매도 청산 이후에는 설정창의 수량(거래수량 1)으로 매수/매도 되도록 적용. ▶ 매수A(or 매도A) 신호가 발생하여 유지하고 있는 상태에서, 처음발생하는 매수B(or 매도B)시에만 진입(청산)수량 1~10을 적용하고, 이후에는 진입(청산)수량을 1로 되도록 적용. 4. 피라미딩 미사용, 피라미딩 사용으로 2가지로 작성 부탁드립니다.