커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2019-07-29 10:24:41
257
글번호 130721
답변완료
안녕하세요? 아래 스크립트 전략을 추가하고자 하여 스크립트를 수정요청드립니다. 세부내용은, 아래의 전략에 진입신호가 발생되었을 때 그 위치가 data1의 볼린저밴드 상하단 내에서로 진입신호를 필터링하고자 합니다. 즉, 매수신호는 기본종목이 볼린저밴드 상단 아래에서 매도신호는 기본종목이 볼린저밴드 하단 위에서 신호가 생성되게 하고자 합니다. 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, 3)); 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
프로필 이미지

예스스탁 예스스탁 답변

2019-07-29 15:54:36

안녕하세요 예스스탁입니다. Input : Period(20), MultiD(2); 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); var : BBup(0,data1),BBdn(0,data1); BBup = data1(BollBandUp(Period,MultiD)); BBdn = data1(BollBandDown(Period,MultiD)); 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, 3)); 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 C < BBup and data2(C) > sndHH[1] Then Buy("B", AtStop, fstHH - TickSize); IF MarketPosition == 0 and C > BBdn and data2(C) < sndLL[1] Then Sell("S", AtStop, fstLL + TickSize); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 스크립트 전략을 추가하고자 하여 스크립트를 수정요청드립니다. 세부내용은, 아래의 전략에 진입신호가 발생되었을 때 그 위치가 data1의 볼린저밴드 상하단 내에서로 진입신호를 필터링하고자 합니다. 즉, 매수신호는 기본종목이 볼린저밴드 상단 아래에서 매도신호는 기본종목이 볼린저밴드 하단 위에서 신호가 생성되게 하고자 합니다. 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, 3)); 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);