커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2018-06-25 15:45:25
178
글번호 120019
답변완료
안녕하세요? 아래 함수 수정 요청드립니다. 진입 이후 신호가 유지된다면 피라미딩을 하고 싶습니다. 가령 진입하고 익봉에서 신호가 유지된다면(즉 리버스로 손절이나 익절이 되지 않는다면) 그 다음 시가에 1개, 또 유지가 된다면 완성 봉 이후에 추가로 1개 총 3계약을 진입하고 싶습니다. 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-06-26 11:27:07

안녕하세요 예스스탁입니다. 피라미딩을 모든진입신호 허용으로 설정하고 적용하시면 됩니다. 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 and MaxEntries < 3 Then buy("bb",AtMarket); if MarketPosition == -1 and MaxEntries < 3 Then sell("ss",AtMarket); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 함수 수정 요청드립니다. 진입 이후 신호가 유지된다면 피라미딩을 하고 싶습니다. 가령 진입하고 익봉에서 신호가 유지된다면(즉 리버스로 손절이나 익절이 되지 않는다면) 그 다음 시가에 1개, 또 유지가 된다면 완성 봉 이후에 추가로 1개 총 3계약을 진입하고 싶습니다. 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);