커뮤니티

시스템식 부탁드립니다.

프로필 이미지
양치기
2020-11-29 00:27:18
717
글번호 144240
답변완료
안녕하세요. 아래 조건에 맞는 시스템식 부탁드립니다. 1) 첫번째 질문 종목 : 해외선물 특이사항 : 당일 청산하지 못하고 익일 이후 청산할 경우 진입가격을 기준으로 청산 하고자 합니다. 처음 매수 진입은[포지션이 없을 경우] 당일 시가를 기준으로 10틱 상승시 매수하고 매수청산은 당일 시가 기준으로 10틱 하락시 매도한다고 가정할 경우 당일 변동성이 당일시가에서 10틱 상승 후 당일시가에서 5틱 밖에 하락하지 않아서 당일 청산 못하는 경우 익일[매수 청산은 2일,3일, 4일, 5일이 될수도 있음] 전일 시가 기준으로 10틱 하락시 매수 청산하는 시스템식 부탁드립니다. 아래처럼 코딩시 포지션 진입과 청산이 잘 안되는것 같습니다. var : 기준가(0); if marketpostion == 0 and bdate != bdate[0] then 기준가 = dayopen() ; # 당일 시가기준으로 당일 진입 및 당일 청산시 익일 진입 가격은 익일 시가가 기준가 # 당일 시가기준으로 당일 진입 및 당일 청산하지 못한 경우 전일 시가[진입시 기준가]기준으로 익일, 3일, 4일 5일 ...이후에 청산시 처음 진입한 날의 시가를 기준으로 청산하고자 합니다. # 모두 청산이 끝난날 신규 포지션 진입은 다시 당일 시가를 기준가로 설정하고자 합니다. if marketpositon == 0 and c > var1 + pricescal * 10 then buy() ; if marketpositon == 0 and c < var1 - pricscal * 10 then exitlong() ; 2) 두번째 질문 만약에 시가에서 위로 10틱 하락할때마다 1개씩 물타기 했을경우 1번째 진입가격에서 10틱 상승시 1계약 매수청산 2번째 진입가격에서 20틱 상승시 1계약 매수청산 ..... 아래와 같이 시스템식으로 표현해봤는데 잘 안되네요. 매수진입 if marketpositoion == 0 and c < dayopen()-pricescale * 10 then buy("b1",atstop,dayopen() + pricescale * 10,1); - 1번째 진입가격 if marketpositoion == 1 and c < dayopen()-pricescale * 20 then buy("b21",atstop,dayopen() + pricescale * 20,1); - 2번째 진입가격 if marketpositoion == 1 and c < dayopen()-pricescale * 30 then buy("b3",atstop,dayopen() + pricescale * 30,1); - 3번째 진입가격 if marketpositoion == 1 and c < dayopen()-pricescale * 40 then buy("b4",atstop,dayopen() + pricescale * 40,1); - 4번째 진입가격 if marketpositoion == 1 and c < dayopen()-pricescale * 50 then buy("b5",atstop,dayopen() + pricescale * 50,1); - 5번째 진입가격 매수청산 if maretposition == 1 and maxcontracts == 1 then exitlong("bx1", atstop,1번째진입가격+pricescale*10),1); if maretposition == 1 and maxcontracts == 2 then exitlong("bx2", atstop,2번째진입가격+pricescale*10),1); if maretposition == 1 and maxcontracts == 3 then exitlong("bx3", atstop,3번째진입가격+pricescale*10),1); if maretposition == 1 and maxcontracts == 4 then exitlong("bx4", atstop,4번째진입가격+pricescale*10),1); if maretposition == 1 and maxcontracts == 5 then exitlong("bx5", atstop,5번째진입가격+pricescale*10),1); 답변 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-11-30 11:39:31

안녕하세요 예스스탁입니다. 매수신호 발생상태는 marketpositon == 1 입니다. 1 if MarketPosition == 0 and c > dayopen() + pricescale * 10 then buy() ; if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then var1 = DayOpen; if c < var1 - PriceScale * 10 then exitlong() ; } 2 시가에서 10틱 하락시 마다 진입(총 5회)하고 각 진입별 모두 10틱 수익시 청산이면 아래와 같습니다. var1 = PriceScale*10; if MarketPosition == 0 then buy("b1",AtLimit,dayopen()-var1,1); if MarketPosition == 1 and MaxEntries < 5 then buy("bb",atstop,dayopen()- var1*(MaxEntries+1),1); SetStopProfittarget(PriceScale*10,PointStop); 시가에서 10틱 하락시 마다 진입하고 1번째 진입가격에서 10틱 상승시 1계약 매수청산 2번째 진입가격에서 20틱 상승시 1계약 매수청산 3번째 진입가격에서 40틱 상승시 1계약 매수청산 4번째 진입가격에서 50틱 상승시 1계약 매수청산 5번째 진입가격에서 60틱 상승시 1계약 매수청산 와 같으면 1번째 시에에 모두 청산하는 것과 같습니다. var1 = PriceScale*10; if MarketPosition == 0 then buy("b1",AtLimit,dayopen()-var1,1); if MarketPosition == 1 and MaxEntries < 5 then buy("bb",atstop,dayopen()- var1*(MaxEntries+1),1); if MarketPosition == 1 Then ExitLong("bx",AtLimit,DayOpen); 즐거운 하루되세요 > 양치기 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다. > 안녕하세요. 아래 조건에 맞는 시스템식 부탁드립니다. 1) 첫번째 질문 종목 : 해외선물 특이사항 : 당일 청산하지 못하고 익일 이후 청산할 경우 진입가격을 기준으로 청산 하고자 합니다. 처음 매수 진입은[포지션이 없을 경우] 당일 시가를 기준으로 10틱 상승시 매수하고 매수청산은 당일 시가 기준으로 10틱 하락시 매도한다고 가정할 경우 당일 변동성이 당일시가에서 10틱 상승 후 당일시가에서 5틱 밖에 하락하지 않아서 당일 청산 못하는 경우 익일[매수 청산은 2일,3일, 4일, 5일이 될수도 있음] 전일 시가 기준으로 10틱 하락시 매수 청산하는 시스템식 부탁드립니다. 아래처럼 코딩시 포지션 진입과 청산이 잘 안되는것 같습니다. var : 기준가(0); if marketpostion == 0 and bdate != bdate[0] then 기준가 = dayopen() ; # 당일 시가기준으로 당일 진입 및 당일 청산시 익일 진입 가격은 익일 시가가 기준가 # 당일 시가기준으로 당일 진입 및 당일 청산하지 못한 경우 전일 시가[진입시 기준가]기준으로 익일, 3일, 4일 5일 ...이후에 청산시 처음 진입한 날의 시가를 기준으로 청산하고자 합니다. # 모두 청산이 끝난날 신규 포지션 진입은 다시 당일 시가를 기준가로 설정하고자 합니다. if marketpositon == 0 and c > var1 + pricescal * 10 then buy() ; if marketpositon == 0 and c < var1 - pricscal * 10 then exitlong() ; 2) 두번째 질문 만약에 시가에서 위로 10틱 하락할때마다 1개씩 물타기 했을경우 1번째 진입가격에서 10틱 상승시 1계약 매수청산 2번째 진입가격에서 20틱 상승시 1계약 매수청산 ..... 아래와 같이 시스템식으로 표현해봤는데 잘 안되네요. 매수진입 if marketpositoion == 0 and c < dayopen()-pricescale * 10 then buy("b1",atstop,dayopen() + pricescale * 10,1); - 1번째 진입가격 if marketpositoion == 1 and c < dayopen()-pricescale * 20 then buy("b21",atstop,dayopen() + pricescale * 20,1); - 2번째 진입가격 if marketpositoion == 1 and c < dayopen()-pricescale * 30 then buy("b3",atstop,dayopen() + pricescale * 30,1); - 3번째 진입가격 if marketpositoion == 1 and c < dayopen()-pricescale * 40 then buy("b4",atstop,dayopen() + pricescale * 40,1); - 4번째 진입가격 if marketpositoion == 1 and c < dayopen()-pricescale * 50 then buy("b5",atstop,dayopen() + pricescale * 50,1); - 5번째 진입가격 매수청산 if maretposition == 1 and maxcontracts == 1 then exitlong("bx1", atstop,1번째진입가격+pricescale*10),1); if maretposition == 1 and maxcontracts == 2 then exitlong("bx2", atstop,2번째진입가격+pricescale*10),1); if maretposition == 1 and maxcontracts == 3 then exitlong("bx3", atstop,3번째진입가격+pricescale*10),1); if maretposition == 1 and maxcontracts == 4 then exitlong("bx4", atstop,4번째진입가격+pricescale*10),1); if maretposition == 1 and maxcontracts == 5 then exitlong("bx5", atstop,5번째진입가격+pricescale*10),1); 답변 부탁드립니다. 감사합니다.