커뮤니티

시스템식 부탁드립니다.

프로필 이미지
양치기
2023-10-22 22:57:05
814
글번호 173291
답변완료
항상 도움 주셔서 감사합니다. 종목 : 해외선물 (유로마이크로) 차트 : 60분봉 요청수식1) 시스템식 : 포지션 손익이 10$ 이상이면 익절 후 다시 포지션 진입 만약 포지션 진입 이후 손실 발생시 마팅게일로 추가 진입 후 전체 포지션 손익이 10$ 이면 모두 청산 포지션 진입은 시장가로 진입 매수 조건 : 외부변수로 선택(1:매수, -1:매도) 매수 진입식 : 첫번째 진입 : 외부변수가 1이고, 포지션이 0 이면 현재가로 1계약 매수 두번째 진입 : 포지션이 1이고 매수 진입이후 손실이 25$ 발생하면 추가로 2계약 매수 진입 세번째 진입 : 포지션이 1이고 매수 진입이후 손실이 1번째 진입한 1계약의 손실이 50$이면 4계약 매수 진입 네번째 진입 : 포지션이 1이고 매수 진입이후 손실이 1번째 진입한 1계약의 손실이 75$이면 8계약 매수 진입 다섯번째 진입 : 포지션이 1이고 매수 진입이후 손실이 1번째 진입한 1계약의 손실이 100$이면 16계약 매수 진입 여섯번째 진입 : 포지션이 1이고 매수 진입이후 손실이 1번째 진입한 1계약의 손실이 125$이면 32계약 매수 진입 익절 : 현재 포지션 수익이 10$이면 익절 여러번 다계약 진입후 포지션 평균 수익이 10$이면 이상이면 익절 후 다시 1계약 매수 진입 손절 : 현재 포지션 총 손실이 300$이면 손절(모든 계약 청산) 후 다시 1계약 매수 진입 요청수식2) 잔고함수를 시스템식에 사용하고 싶습니다. 사용방법에 대한 샘플 수식좀 부탁드립니다. 예) 마이크로 유로 차트에 특정 계좌 적용시 1. 차특에 적용되어 있는 종목코드 2. 적용되어 있는 계좌의 계좌번호 3. 지정한 계좌의 지정한 종목의 평균가 4. 지정한 계좌의 지정한 종목의 현재가 5. 지정한 계좌의 지정한 종목의 평가손익 6. 지정한 계좌의 지정한 종목의 보유수량 7. 지정한 계좌의 예수금 요청수식 : 마이크로 유로 차트에 시스템식을 적용하였을 경우 마이크로 유로에 여러번 여러계약을 매수 진입시 평가손익이 10$ 이상이면 익절 평가손익이 -300$ 이상 손실이면 손절 보유수량이 30개 이상이면 손절 보유수량의 평균가 보다 25틱 이상 손실이면 추가 매수진입 위와 같은 시스템식을 만들고 싶습니다. 도움 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-10-23 14:33:21

안녕하세요 예스스탁입니다. 1 피라미딩은 모든진입신호 허용으로 설정하고 적용하시면 됩니다. input : Pst(1); var : value(0),vol(0); value1 = 25/PointValue; value2 = 10/PointValue; value3 = 300/PointValue; if pst == 1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Buy("b",OnClose,Def,vol); } if MarketPosition == 1 Then { if MaxEntries > MaxEntries[1] Then vol = vol*2; if MaxContracts < 32 Then Buy("bb",AtLimit,EntryPrice(0)-PriceScale*(value1*MaxEntries),vol); ExitLong("bp",AtLimit,AvgEntryPrice+PriceScale*Value2); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*Value3); } } if pst == -1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Sell("s",OnClose,Def,vol); } if MarketPosition == -1 Then { if MaxEntries > MaxEntries[1] Then vol = vol*2; if MaxContracts < 32 Then Sell("ss",AtLimit,EntryPrice(0)+PriceScale*(value1*MaxEntries),vol); ExitShort("sp",AtLimit,AvgEntryPrice-PriceScale*Value2); ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*Value3); } } 2 차트의 종목코드는 SymbolCode함수로 리턴됩니다. 다만 해당함수가 차트의 코드를 리턴하므로 차트가 연결선물데이터인 경우 직접 근월물의 코드를 지정하셔야 합니다. 잔고함수는 과거 히스토리가 없고 항상 실시간에서만 값이 리턴됩니다. 일부 한정적인 상황에서만 사용이 가능해서 사용을 권장하지 않습니다. 아래 내용을 참고하시기 바랍니다. 잔고함수는 실시간에서만 값이 리턴됩니다. 재접속이나 차트 재조회나 시스템이 다시 적용되면 차트 모든 과거봉은 값이 0이므로 신호를 연결해 갈수 없게 되므로 이용에 주의하시기 바랍니다. 또한 평균가 보다 25틱 이상 손실이면 추가 매수진입을 하는데 주문이 미체결되고 다음봉에서 또 25틱이상 손실이 유지중이면 다시 추가매수 신호가 발생합니다. 주문체결을 인지하는 것이 아니므로 위와 같은 내용이면 미체결시 계속 추가진입이 발생하는 위험성이 있습니다. input : Pst(1); var : accnum(""),code(""),vol(0); accnum = "1111111-11-11"; //계좌번호 지정 code = SymbolCode; //연결선물데이터이면 직접 근월물 코드 지정 value1 = GetPositionAveragePrice(code, accnum); Value2 = GetPositionOpenPL(code, accnum); Value3 = GetPositionQuantity(code, accnum); if pst == 1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Buy("b",OnClose,Def,vol); } if MarketPosition == 1 Then { if MaxEntries > MaxEntries[1] Then vol = vol*2; if Value3 < 30 and Value2 <= PriceScale*25 Then Buy("bb",OnClose,Def,vol); if Value2 >= 10 Then ExitLong("bp"); if Value2 <= -300 Then ExitLong("bl"); if Value3 >= 30 Then ExitLong("bx"); } } if pst == -1 Then { if MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { vol = 1; Sell("s",OnClose,Def,vol); } if MarketPosition == 1 Then { if MaxEntries > MaxEntries[1] Then vol = vol*2; if Value3 < 30 and Value2 <= PointValue*25 Then Sell("ss",OnClose,Def,vol); if Value2 >= 10 Then ExitShort("sp"); if Value2 <= -300 Then ExitShort("sl"); if Value3 >= 30 Then ExitShort("sx"); } } 즐거운 하루되세요 > 양치기 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다. > 항상 도움 주셔서 감사합니다. 종목 : 해외선물 (유로마이크로) 차트 : 60분봉 요청수식1) 시스템식 : 포지션 손익이 10$ 이상이면 익절 후 다시 포지션 진입 만약 포지션 진입 이후 손실 발생시 마팅게일로 추가 진입 후 전체 포지션 손익이 10$ 이면 모두 청산 포지션 진입은 시장가로 진입 매수 조건 : 외부변수로 선택(1:매수, -1:매도) 매수 진입식 : 첫번째 진입 : 외부변수가 1이고, 포지션이 0 이면 현재가로 1계약 매수 두번째 진입 : 포지션이 1이고 매수 진입이후 손실이 25$ 발생하면 추가로 2계약 매수 진입 세번째 진입 : 포지션이 1이고 매수 진입이후 손실이 1번째 진입한 1계약의 손실이 50$이면 4계약 매수 진입 네번째 진입 : 포지션이 1이고 매수 진입이후 손실이 1번째 진입한 1계약의 손실이 75$이면 8계약 매수 진입 다섯번째 진입 : 포지션이 1이고 매수 진입이후 손실이 1번째 진입한 1계약의 손실이 100$이면 16계약 매수 진입 여섯번째 진입 : 포지션이 1이고 매수 진입이후 손실이 1번째 진입한 1계약의 손실이 125$이면 32계약 매수 진입 익절 : 현재 포지션 수익이 10$이면 익절 여러번 다계약 진입후 포지션 평균 수익이 10$이면 이상이면 익절 후 다시 1계약 매수 진입 손절 : 현재 포지션 총 손실이 300$이면 손절(모든 계약 청산) 후 다시 1계약 매수 진입 요청수식2) 잔고함수를 시스템식에 사용하고 싶습니다. 사용방법에 대한 샘플 수식좀 부탁드립니다. 예) 마이크로 유로 차트에 특정 계좌 적용시 1. 차특에 적용되어 있는 종목코드 2. 적용되어 있는 계좌의 계좌번호 3. 지정한 계좌의 지정한 종목의 평균가 4. 지정한 계좌의 지정한 종목의 현재가 5. 지정한 계좌의 지정한 종목의 평가손익 6. 지정한 계좌의 지정한 종목의 보유수량 7. 지정한 계좌의 예수금 요청수식 : 마이크로 유로 차트에 시스템식을 적용하였을 경우 마이크로 유로에 여러번 여러계약을 매수 진입시 평가손익이 10$ 이상이면 익절 평가손익이 -300$ 이상 손실이면 손절 보유수량이 30개 이상이면 손절 보유수량의 평균가 보다 25틱 이상 손실이면 추가 매수진입 위와 같은 시스템식을 만들고 싶습니다. 도움 부탁드립니다. 감사합니다.