커뮤니티

문의드립니다.

프로필 이미지
카르마다
2023-07-12 02:44:35
1047
글번호 170533
답변완료
시가에서 40틱 이상 올라가면 1개 매도, 70틱 이상 올라가면 1개 추가 매도, 100틱 이상 올라가면 1개 추가 매도하는 3계약 역매매 매매시스템이 있습니다. (매수는 반대로 마찬가지 입니다) 1~3개 매도진입후 시가 근처까지 내려오면 1~3 계약을 동시 청산하고자 합니다. (매수는 반대로 마찬가지 입니다) 구체적으로 설명하자면 1번째 계약이 체결되고 시가 위 5틱 이하까지 내려오면 청산, 2번째 계약이 체결되고 나서 시가 위 10틱 이하까지 내려오면 전량 청산, 3번째 계약이 체결되고 나서 시가 위 20틱 이하까지만 내려오면 전량 청산입니다. (딱 시가 위 5, 10, 20틱에서 청산되도 좋고, 그 이하에서 캔들의 종가가 만들어지면 청산되도 좋습니다. 어떤 것이 더 효율적일지 비교해보고 싶습니다) 손절은 250틱인데 이 손절은 3계약 진입분 손절을 모두 합산한 누적 손절입니다. (이전 진입의 익절과 손절분과는 별개입니다) 마지막으로 손절은 해당 진입분의 합이 250틱이 되야 나오는데 이렇게 손절되면 거래시간에 관계없이 당일 매매는 종료하고 신호가 더이상 나오지 않게 하고 싶습니다. 거래시간은 9시부터 22시까지입니다. 미리 노고에 감사드립니다. 장마가 곧 온다는데 늘 건강하시길 바랍니다~
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-07-12 11:10:51

안녕하세요 예스스탁입니다. 피라미딩은 다른진입신호만 허용으로 설정하고 적용하시면 됩니다. input : StartTime(90000),EndTime(220000); var : Tcond(False),Xcond(False); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then { Tcond = False; } if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; Xcond = False; IF Endtime <= starttime Then { SetStopEndofday(0); } } if TotalTrades > TotalTrades[1] Then { if IsExitName("bl",1) == true or IsExitName("sl",1) == true Then Xcond = true; } if Tcond == true and Xcond == False Then { if MarketPosition >= 0 and H < DayOpen+PriceScale*40 Then { Sell("s1",AtLimit,DayOpen+PriceScale*40); Sell("s2.",AtLimit,DayOpen+PriceScale*70); Sell("s3.",AtLimit,DayOpen+PriceScale*100); } if MarketPosition == -1 Then { if highest(H,BarsSinceEntry) < DayOpen+PriceScale*70 Then Sell("s2",AtLimit,DayOpen+PriceScale*70); if highest(H,BarsSinceEntry) < DayOpen+PriceScale*100 Then Sell("s3",AtLimit,DayOpen+PriceScale*100); } if MarketPosition <= 0 and L > DayOpen-PriceScale*40 Then { Buy("b1",AtLimit,DayOpen-PriceScale*40); Buy("b2.",AtLimit,DayOpen-PriceScale*70); Buy("b3.",AtLimit,DayOpen-PriceScale*100); } if MarketPosition == 1 Then { if lowest(L,BarsSinceEntry) > DayOpen-PriceScale*70 Then Buy("b2",AtLimit,DayOpen-PriceScale*70); if lowest(L,BarsSinceEntry) > DayOpen-PriceScale*100 Then Buy("b3",AtLimit,DayOpen-PriceScale*100); } } if MarketPosition == 1 Then { if CurrentContracts == 1 Then ExitLong("bx1",AtLimit,DayOpen-PriceScale*5); if CurrentContracts == 2 Then ExitLong("bx2",AtLimit,DayOpen-PriceScale*10); if CurrentContracts == 3 Then { ExitLong("bx3",AtLimit,DayOpen-PriceScale*20); ExitLong("bl",AtStop,AvgEntryPrice-((PriceScale*250)/CurrentContracts)); } } if MarketPosition == -1 Then { if CurrentContracts == 1 Then ExitShort("sx1",AtLimit,DayOpen+PriceScale*5); if CurrentContracts == 2 Then ExitShort("sx2",AtLimit,DayOpen+PriceScale*10); if CurrentContracts == 3 Then { ExitShort("sx3",AtLimit,DayOpen+PriceScale*20); ExitShort("sl",AtStop,AvgEntryPrice+((PriceScale*250)/CurrentContracts)); } } 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 시가에서 40틱 이상 올라가면 1개 매도, 70틱 이상 올라가면 1개 추가 매도, 100틱 이상 올라가면 1개 추가 매도하는 3계약 역매매 매매시스템이 있습니다. (매수는 반대로 마찬가지 입니다) 1~3개 매도진입후 시가 근처까지 내려오면 1~3 계약을 동시 청산하고자 합니다. (매수는 반대로 마찬가지 입니다) 구체적으로 설명하자면 1번째 계약이 체결되고 시가 위 5틱 이하까지 내려오면 청산, 2번째 계약이 체결되고 나서 시가 위 10틱 이하까지 내려오면 전량 청산, 3번째 계약이 체결되고 나서 시가 위 20틱 이하까지만 내려오면 전량 청산입니다. (딱 시가 위 5, 10, 20틱에서 청산되도 좋고, 그 이하에서 캔들의 종가가 만들어지면 청산되도 좋습니다. 어떤 것이 더 효율적일지 비교해보고 싶습니다) 손절은 250틱인데 이 손절은 3계약 진입분 손절을 모두 합산한 누적 손절입니다. (이전 진입의 익절과 손절분과는 별개입니다) 마지막으로 손절은 해당 진입분의 합이 250틱이 되야 나오는데 이렇게 손절되면 거래시간에 관계없이 당일 매매는 종료하고 신호가 더이상 나오지 않게 하고 싶습니다. 거래시간은 9시부터 22시까지입니다. 미리 노고에 감사드립니다. 장마가 곧 온다는데 늘 건강하시길 바랍니다~