커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2018-04-11 14:21:08
118
글번호 118101
답변완료
안녕하세요? 아래 작성주신 식에 강제청산을 넣었더니 진입봉에 청산이 나오는 경우가 있습니다. 진입봉에 청산이 안되도록, 진입 봉 이후부터 청산이 될 수 있도록 함수 수정 요청드립니다. 감사합니다. 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 data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize); IF data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL - TickSize); SetStopLoss(1,PercentStop); SetStopProfittarget(3,PercentStop); SetStopInactivity(3,23,percentStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-04-12 10:29:36

안녕하세요 예스스탁입니다. 손절매와 목표수익을 별도로 풀어서 작성해야 합니다. 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); if MarketPosition == 1 then { ExitLong("bl",AtStop,EntryPrice*0.99); ExitLong("bp",Atlimit,EntryPrice*1.03); } if MarketPosition == -1 then { ExitShort("sl",AtStop,EntryPrice*1.01); ExitShort("sp",Atlimit,EntryPrice*0.97); } SetStopInactivity(3,23,percentStop); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 작성주신 식에 강제청산을 넣었더니 진입봉에 청산이 나오는 경우가 있습니다. 진입봉에 청산이 안되도록, 진입 봉 이후부터 청산이 될 수 있도록 함수 수정 요청드립니다. 감사합니다. 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 data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize); IF data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL - TickSize); SetStopLoss(1,PercentStop); SetStopProfittarget(3,PercentStop); SetStopInactivity(3,23,percentStop);