커뮤니티

수식 작성 부탁드립니다.

프로필 이미지
이만스닥
2021-05-04 18:14:34
1343
글번호 148684
답변완료
종목 : 오일 선물 1. 미국 정규장에서만 작동. 그러나 X라는 이벤트 발생시 아시아장에서도 매매 시작. ㄱ. 정규장에서 작동 시작했을경우 - 프로그램 작동 시작 이후, 30틱 이상 익절 시(한 매매에서 30틱 익절 아닙니다. 5틱이든, 10틱이든, 프로그램 시작 이후 잔고에 진입 손실과 수익 포함 +30틱 이상의 수익이 발생했을 경우입니다), 다음 정규장 시작하기 전까지 매매 금지. 다음 정규장 시작하면 자동으로 다시 매매 시작. ㄴ. X라는 이벤트 발생후 아시아장에서 작동 시작했을 경우 - 위와 동일하나 아시아장 이후에 이어지는 정규장에서도 매매 금지입니다. 그 이후에 있는 정규장에서 다시 매매 시작. --------------- 매매 숏 진입 로직 (1계약) Y 발생 시 매도 진입.(봉 마감 이후 진입입니다) 익절은 현재가(Best Bid? 또는 H?)가 P라는 값보다 같거나 클 때 곧바로 시장가 매도 (봉 마감 이후가 아니라 실시간으로요) 스탑로스는 200틱 만약 숏 진입 이후 스탑로스를 건들면 곧바로 매수로 스위칭 했으면 좋겠습니다. 해당 스위칭 오더의 경우, 10틱 익절, 5틱 손절로 세팅해주세요. 롱 진입 로직 (2계약) W가 발생하고, 해당 봉이 마감하자마자 C[1] + 1틱에 매수 stop order 익절의 경우, 1. 진입가 + 진입 바로 전 봉의 몸통의 값에 1차 매도, 2. 2차 매도는 진입 봉 2개 전의 저가에 위치시키기. 봉이 계속 생겨날수록 2차 매도 값도 계속 변해야합니다(200틱 스탑로스처럼 고정이 아님) ------------- 이상입니다 부탁드립니다. 하다 막힌 부분이 있다면 안된다 하지 마시고 그냥 되는 것만 쭉 로직으로라도 짜주시길 부탁드립니다. 고맙습니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-05-06 10:34:00

안녕하세요 예스스탁입니다. 아래 내용 참고하셔서 수정보완해 식 완성해 사용하시기 바랍니다 숏진입 익절이 P라는 값보다 같거나 클 때 시장가 매도로 되어 있습니다. 내용이 좀 모호합니다. P값 이상의 시세발생하면 청산하게 작성해 드립니다. input : 미국시작(223000),미국종료(060000); input : 아시아시작(70000),아시아종료(160000); Input : 당일수익틱수(30); Var : N1(0),dayPl(0),당일수익(0),Xcond(false),dd(0); var : Tcond1(false),Tcond2(false),Trade(False),XT(0),XD(0); if (sdate != sdate[1] and stime >= 미국종료) or (sdate == sdate[1] and stime >= 미국종료 and stime[1] < 미국종료) Then { Tcond1 = False; } if (sdate != sdate[1] and stime >= 미국시작) or (sdate == sdate[1] and stime >= 미국시작 and stime[1] < 미국시작) Then { dd = dd+1; Tcond1 = true; N1 = NetProfit; if XD == 0 or (XD > 0 and XT == 1 and DD >= XD+1) or (XD > 0 and XT == 2 and DD >= XD+2) Then Xcond = false; } if (sdate != sdate[1] and stime >= 아시아종료) or (sdate == sdate[1] and stime >= 아시아종료 and stime[1] < 아시아종료) Then { Tcond2 = False; Trade = False; } if (sdate != sdate[1] and stime >= 아시아시작) or (sdate == sdate[1] and stime >= 아시아시작 and stime[1] < 아시아시작) Then { Tcond2 = true; Trade = False; } 당일수익 = PriceScale*당일수익틱수; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 Then { Xcond = true; XD = dd; XT = 0; if Tcond1 == true Then XT = 1; if Tcond2 == true Then XT = 2; } if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then { Xcond = true; XD = dd; XT = 0; if Tcond1 == true Then XT = 1; if Tcond2 == true Then XT = 2; } } if Tcond2 == true and X Then Trade = true; if (Tcond1 == true or (Tcond2 == true and Trade == true)) and Xcond == False Then { if MarketPosition >= 0 and y Then Sell("s",OnClose,DEf,1); if MarketPosition == -1 and IsEntryName("s") == true Then { ExitShort("sx",AtStop,P); Buy("sb",AtStop,EntryPrice-PriceScale*200,1); } if MarketPosition == 1 Then { ExitLong("sbx1",AtStop,EntryPrice-PriceScale*5,"sb"); ExitLong("sbx2",AtLimit,EntryPrice+PriceScale*10,"sb"); if IsEntryName("b") == true and CurrentContracts == MaxContracts Then ExitLong("bx1",AtLimit,EntryPrice+(abs(C[BarsSinceEntry+1]-O[BarsSinceEntry+1]))); if IsEntryName("b") == true and CurrentContracts < MaxContracts Then ExitLong("bx2",AtStop,L[2]); } if MarketPosition >= 0 and w Then { Buy("b",AtStop,C+PriceScale*1,2); } if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } } 즐거운 하루되세요 > 이만스닥 님이 쓴 글입니다. > 제목 : 수식 작성 부탁드립니다. > 종목 : 오일 선물 1. 미국 정규장에서만 작동. 그러나 X라는 이벤트 발생시 아시아장에서도 매매 시작. ㄱ. 정규장에서 작동 시작했을경우 - 프로그램 작동 시작 이후, 30틱 이상 익절 시(한 매매에서 30틱 익절 아닙니다. 5틱이든, 10틱이든, 프로그램 시작 이후 잔고에 진입 손실과 수익 포함 +30틱 이상의 수익이 발생했을 경우입니다), 다음 정규장 시작하기 전까지 매매 금지. 다음 정규장 시작하면 자동으로 다시 매매 시작. ㄴ. X라는 이벤트 발생후 아시아장에서 작동 시작했을 경우 - 위와 동일하나 아시아장 이후에 이어지는 정규장에서도 매매 금지입니다. 그 이후에 있는 정규장에서 다시 매매 시작. --------------- 매매 숏 진입 로직 (1계약) Y 발생 시 매도 진입.(봉 마감 이후 진입입니다) 익절은 현재가(Best Bid? 또는 H?)가 P라는 값보다 같거나 클 때 곧바로 시장가 매도 (봉 마감 이후가 아니라 실시간으로요) 스탑로스는 200틱 만약 숏 진입 이후 스탑로스를 건들면 곧바로 매수로 스위칭 했으면 좋겠습니다. 해당 스위칭 오더의 경우, 10틱 익절, 5틱 손절로 세팅해주세요. 롱 진입 로직 (2계약) W가 발생하고, 해당 봉이 마감하자마자 C[1] + 1틱에 매수 stop order 익절의 경우, 1. 진입가 + 진입 바로 전 봉의 몸통의 값에 1차 매도, 2. 2차 매도는 진입 봉 2개 전의 저가에 위치시키기. 봉이 계속 생겨날수록 2차 매도 값도 계속 변해야합니다(200틱 스탑로스처럼 고정이 아님) ------------- 이상입니다 부탁드립니다. 하다 막힌 부분이 있다면 안된다 하지 마시고 그냥 되는 것만 쭉 로직으로라도 짜주시길 부탁드립니다. 고맙습니다