커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2018-05-24 07:50:05
174
글번호 119147
답변완료
안녕하세요? 함수요청드립니다. 아래 함수를 항셍지수로 거래를 하고자 합니다. 다만 5분봉거래시 진입기준 주문의 생성을 T장까지만 하고 포지션이 오버되지 않게 청산은 T+1장 시가에는 강제청산하고자 합니다. 여기서 주문의 생성은 그렇지만 주문생성을 위한 데이터는 T장과 T+1장을 모두 적용하고자합니다. 즉 모든 시세데이터를 신호에 적용하되 실제 주문생성은 T장에서만 거래를 하고 싶습니다. Vars : SP(0,data1), TickSize(0,data1); Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2); var : v1(0,data2),v2(0,data2); SP = MarketPosition; TickSize = PriceScale; v1 = data2(H); v2 = data2(L); IF v1[10] > 0 Then Begin fstHH = data1(Highest(H, 5)); fstLL = data1(Lowest(L, 5)); sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]); sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]); End; IF MarketPosition == 0 and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize); IF MarketPosition == 0 and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL - TickSize);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-25 11:51:39

안녕하세요 예스스탁입니다. 문의하신 내용은 수식에서 시간을 지정하셔야 합니다. 거래시작과 거래종료로 진입이 발생하는 시간대를 지정해 주시고 오버를 하지 않게 당일청산의 시간도 지정해 주시면 됩니다 input : 거래시작(101500),거래종료(163000),당일청산(171500); Vars : SP(0,data1), TickSize(0,data1); Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2); var : v1(0,data2),v2(0,data2),tcond(false,data1); if (sdate != sdate[1] and stime >= 거래시작) or (sdate == sdate[1] and stime >= 거래시작 and stime[1] < 거래시작) Then tcond = true; if (sdate != sdate[1] and stime >= 거래종료) or (sdate == sdate[1] and stime >= 거래종료 and stime[1] < 거래종료) Then tcond = false; if (sdate != sdate[1] and stime >= 당일청산) or (sdate == sdate[1] and stime >= 당일청산 and stime[1] < 당일청산) Then { if MarketPosition == 1 then ExitLong(); if MarketPosition == -1 Then ExitShort(); } SP = MarketPosition; TickSize = PriceScale; v1 = data2(H); v2 = data2(L); IF v1[10] > 0 Then Begin fstHH = data1(Highest(H, 5)); fstLL = data1(Lowest(L, 5)); sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]); sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]); End; if Tcond == true then { IF MarketPosition == 0 and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize); IF MarketPosition == 0 and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL - TickSize); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 함수요청드립니다. 아래 함수를 항셍지수로 거래를 하고자 합니다. 다만 5분봉거래시 진입기준 주문의 생성을 T장까지만 하고 포지션이 오버되지 않게 청산은 T+1장 시가에는 강제청산하고자 합니다. 여기서 주문의 생성은 그렇지만 주문생성을 위한 데이터는 T장과 T+1장을 모두 적용하고자합니다. 즉 모든 시세데이터를 신호에 적용하되 실제 주문생성은 T장에서만 거래를 하고 싶습니다. Vars : SP(0,data1), TickSize(0,data1); Vars : fstHH(0,data1), fstLL(0,data1), sndHH(0,data2), sndLL(0,data2); var : v1(0,data2),v2(0,data2); SP = MarketPosition; TickSize = PriceScale; v1 = data2(H); v2 = data2(L); IF v1[10] > 0 Then Begin fstHH = data1(Highest(H, 5)); fstLL = data1(Lowest(L, 5)); sndHH = Max(v1, v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10]); sndLL = Min(v2, v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10]); End; IF MarketPosition == 0 and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize); IF MarketPosition == 0 and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL - TickSize);