커뮤니티

시스템 수식 부탁드립니다

프로필 이미지
두부맛솜사탕
2017-08-20 20:48:27
146
글번호 112032
답변완료
안녕하세요, 항상 노고에 감사드립니다. 저 혼자 작성해보려고 하니 되는게 하나도 없네요ㅠ 시스템 작성 문의 드립니다. 아래 조건에서 -4P(2차진입기준포인트), 10P(1계약 이익실현기준포인트), 1차 진입 계약수, 2차 진입 계약수를 변수화 시켜서 수식 작성 가능할까요? 예를들어 tick2(40), exitick(100), ent1(2), ent2(1) 이런 식으로 수식에서 Point를 틱수로도 설정 가능한가요? 혹시 가능하다면 그렇게 수식작성 부탁드리고 불가능하다면 그냥 아래 조건처럼 Point로 작성 부탁드리겠습니다. ------------------------------------------------------ 1. "5일선과 20일선 크로스" 발생 시 '1차' 2계약 매수/매도 진입 2계약 보유 시에만 '계좌 평균단가'에서 10P 수익일 때 1계약 이익실현 1계약 보유 시에만 "5일선과 20일선 크로스" 발생 시 해당 종가(1차 진입가)에서 -4P 하락/상승(눌림목) 터치할 경우 '2차' 1계약 추가 진입 (시스템의 최대보유수량은 2계약으로 제한, 최초 2계약이 이미 진입되어 있고 이익실현이 발생하지 않은 상태에서 눌림목이 발생하여도 추가 1계약은 진입하지 않음) "5일선과 20일선 크로스"(반대방향) 발생 시 보유물량(1계약 또는 2계약) 전량청산 & 동시에 2계약 신규진입 --------------------------------------- 2. "5일선과 20일선 크로스" 발생 시 '1차' 1계약 매수/매도 진입 1계약 진입 후 위 크로스 발생 당시 캔들 종가에서 -4P 하락/상승(눌림목) 터치할 경우 '2차' 1계약 추가 진입 '계좌 평균단가'에서 10P 수익일 때 1계약 이익실현(포지션 수량 1계약, 2계약 상관 없이) 1계약 또는 2계약의 진입이 이루어 진 후 반대방향의 "5일선과 20일선 크로스"가 발생하기 전까지는 같은방향의 재진입은 하지 않아야 함 "5일선과 20일선 크로스"(반대방향) 발생 시 보유물량(1계약 또는 2계약) 전량청산 & 동시에 1계약 신규진입 --------------------------------------------------------- 3. 궁금한 점이 있습니다. 계좌 포지션이 없을 때 (처음 시스템을 시험에서 자동으로 변경할 때) ExitLong() 함수가 들어가면 매도로 1계약이 진입이 되나요? MarketPosition=1 or MarketPosition=2 일 때만 ExitLong() 함수를 작성하면 해당 문제를 해결할 수 있나요? 다소 복잡하지만 부탁드리겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-08-21 11:12:00

안녕하세요 예스스탁입니다. 추가진입하므로 설정창의 피라미딩탭에서 피라미딩을 다른 진입신호만 허용으로 설정하고 적용하시면 됩니다. 1. input : tick2(40), exitick(100), ent1(2),ent2(1); var1 = ma(C,5); var2 = ma(C,20); if MarketPosition <= 0 and crossup(var1,var2) Then{ value1 = c; buy("b1",OnClose,def,ent1); } if MarketPosition >= 0 and CrossDown(var1,var2) Then{ value1 = c; sell("s1",OnClose,def,ent1); } if MarketPosition == 1 then{ if CurrentContracts == 2 then exitlong("bx1",atlimit,AvgEntryPrice+PriceScale*exitick,"",1,1); if CurrentContracts == 1 and L > value1-PriceScale*tick2 then buy("bb",AtLimit,value1-PriceScale*tick2,ent2); } if MarketPosition == -1 then{ if CurrentContracts == 2 then ExitShort("sx1",atlimit,AvgEntryPrice-PriceScale*exitick,"",1,1); if CurrentContracts == 1 and H < value1+PriceScale*tick2 then sell("ss",AtLimit,value1+PriceScale*tick2,ent2); } 2 input : tick2(40), exitick(100), ent1(1),ent2(1); var1 = ma(C,5); var2 = ma(C,20); if MarketPosition <= 0 and crossup(var1,var2) Then{ value1 = c; buy("b1",OnClose,def,ent1); } if MarketPosition >= 0 and CrossDown(var1,var2) Then{ value1 = c; sell("s1",OnClose,def,ent1); } if MarketPosition == 1 then{ exitlong("bx1",atlimit,AvgEntryPrice+PriceScale*exitick); if CurrentContracts == 1 and L > value1-PriceScale*tick2 then buy("bb",AtLimit,value1-PriceScale*tick2,ent2); } if MarketPosition == -1 then{ ExitShort("sx1",atlimit,AvgEntryPrice-PriceScale*exitick); if CurrentContracts == 1 and H < value1+PriceScale*tick2 then sell("ss",AtLimit,value1+PriceScale*tick2,ent2); } 3 시스템은 실제 잔고를 알지 못합니다. 차트에서 신호가 발생하면 신호와 주문이 집행됩니다. 수식에 사용되는 모든 포지션관련 함수는 차트신호상 포지션입니다. 시스템 적용시 나타나는 시스템 트레이딩 설정창의 매매탭에 주문시작신호라는 옵션이 있습니다. 주문시작신호를 진입신호로 설정하시면 시스템 적용후 첫번째 발생하는 진입신호부터 주문을 집행하게 됩니다. 적용후 첫신호가 청산신호이면 해당 신호는 주문하지 않고 패스하게 됩니다. 주문시작신호가 모든신호이면 적용이후 발생하는 첫신호의 종류에 관계없이 주문이 집행됩니다. 즐거운 하루되세요 > 두부맛솜사탕 님이 쓴 글입니다. > 제목 : 시스템 수식 부탁드립니다 > 안녕하세요, 항상 노고에 감사드립니다. 저 혼자 작성해보려고 하니 되는게 하나도 없네요ㅠ 시스템 작성 문의 드립니다. 아래 조건에서 -4P(2차진입기준포인트), 10P(1계약 이익실현기준포인트), 1차 진입 계약수, 2차 진입 계약수를 변수화 시켜서 수식 작성 가능할까요? 예를들어 tick2(40), exitick(100), ent1(2), ent2(1) 이런 식으로 수식에서 Point를 틱수로도 설정 가능한가요? 혹시 가능하다면 그렇게 수식작성 부탁드리고 불가능하다면 그냥 아래 조건처럼 Point로 작성 부탁드리겠습니다. ------------------------------------------------------ 1. "5일선과 20일선 크로스" 발생 시 '1차' 2계약 매수/매도 진입 2계약 보유 시에만 '계좌 평균단가'에서 10P 수익일 때 1계약 이익실현 1계약 보유 시에만 "5일선과 20일선 크로스" 발생 시 해당 종가(1차 진입가)에서 -4P 하락/상승(눌림목) 터치할 경우 '2차' 1계약 추가 진입 (시스템의 최대보유수량은 2계약으로 제한, 최초 2계약이 이미 진입되어 있고 이익실현이 발생하지 않은 상태에서 눌림목이 발생하여도 추가 1계약은 진입하지 않음) "5일선과 20일선 크로스"(반대방향) 발생 시 보유물량(1계약 또는 2계약) 전량청산 & 동시에 2계약 신규진입 --------------------------------------- 2. "5일선과 20일선 크로스" 발생 시 '1차' 1계약 매수/매도 진입 1계약 진입 후 위 크로스 발생 당시 캔들 종가에서 -4P 하락/상승(눌림목) 터치할 경우 '2차' 1계약 추가 진입 '계좌 평균단가'에서 10P 수익일 때 1계약 이익실현(포지션 수량 1계약, 2계약 상관 없이) 1계약 또는 2계약의 진입이 이루어 진 후 반대방향의 "5일선과 20일선 크로스"가 발생하기 전까지는 같은방향의 재진입은 하지 않아야 함 "5일선과 20일선 크로스"(반대방향) 발생 시 보유물량(1계약 또는 2계약) 전량청산 & 동시에 1계약 신규진입 --------------------------------------------------------- 3. 궁금한 점이 있습니다. 계좌 포지션이 없을 때 (처음 시스템을 시험에서 자동으로 변경할 때) ExitLong() 함수가 들어가면 매도로 1계약이 진입이 되나요? MarketPosition=1 or MarketPosition=2 일 때만 ExitLong() 함수를 작성하면 해당 문제를 해결할 수 있나요? 다소 복잡하지만 부탁드리겠습니다.