커뮤니티

함수요청

프로필 이미지
흰둥이아빠
2019-11-28 14:23:43
126
글번호 133973
답변완료
안녕하세요? 아래 전략에 대해 스크립트 작성 요청드립니다. ※ 1) 적용하고자 하는 상품 data1 = 항셍지수 선물 5분봉 data2 = 항셍지수 선물 10분봉 data3 = 항셍지수 선물 15분봉 data4 = 항셍지수 선물 20분봉 2) 매수진입 조건 (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 3) 매도진입 조건 (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 4) 매수청산 조건 {(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입}한 경우에는 현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 중심선을 상향이탈시 익봉 시가에 청산 {(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입} 한 경우에는 현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 상단선을 하향이탈시 익봉 시가에 청산 5) 매도청산 조건 {(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입} 한 경우에는 현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 하단선을 상향이탈시 익봉 시가에 청산 {(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입} 한 경우에는 현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 중심선을 상향이탈시 익봉 시가에 청산 ※ 아래 글번호 65045번에 답변주셨던 내용을 수정하여 답변 요청드립니다. input : P(20),dv(2); var : BBup1(0,data1),BBdn1(0,data1); var : BBup2(0,data2),BBdn2(0,data2); var : BBup3(0,data3),BBdn3(0,data3); var : BBup4(0,data4),BBdn4(0,data4); BBup1 = data1(BollBandUp(P,dv)); BBdn1 = data1(BollBandDown(P,dv)); BBup2 = data2(BollBandUp(P,dv)); BBdn2 = data2(BollBandDown(P,dv)); BBup3 = data3(BollBandUp(P,dv)); BBdn3 = data3(BollBandDown(P,dv)); BBup4 = data4(BollBandUp(P,dv)); BBdn4 = data4(BollBandDown(P,dv)); if data1(time < 101500 and NextBarStime >= 101500) and ((data1(O < C[1] and O < BBdn1) and data2(O < C[1] and O < BBdn2)) or data3(O < C[1] and O < BBdn3) or data4(O < C[1] and O < BBdn4)) Then buy("b",AtMarket); if data1(time < 101500 and NextBarStime >= 101500) and ((data1(O > C[1] and O > BBup1) and data2(O > C[1] and O > BBup2)) or data3(O > C[1] and O > BBup3) or data4(O > C[1] and O > BBup4)) Then sell("s",AtMarket); if MarketPosition == 1 and (data1(c > BBup1) or data2(c > BBup2) or data3(c > BBup3) or data3(c > BBup4)) Then ExitLong("bx",AtMarket); if MarketPosition == -1 and (data1(c < BBdn1) or data2(c < BBdn2) or data3(c < BBdn3) or data4(c < BBdn4)) Then ExitShort("sx",AtMarket);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-11-28 15:46:20

안녕하세요 예스스탁입니다. input : P(20),dv(2); var : BBup1(0,data1),BBdn1(0,data1),BBmd1(0,data1); var : BBup2(0,data2),BBdn2(0,data2),BBmd2(0,data2); var : BBup3(0,data3),BBdn3(0,data3),BBmd3(0,data3); var : BBup4(0,data4),BBdn4(0,data4),BBmd4(0,data4); BBup1 = data1(BollBandUp(P,dv)); BBdn1 = data1(BollBandDown(P,dv)); BBmd1 = data1(ma(C,P)); BBup2 = data2(BollBandUp(P,dv)); BBdn2 = data2(BollBandDown(P,dv)); BBmd2 = data2(ma(C,P)); BBup3 = data3(BollBandUp(P,dv)); BBdn3 = data3(BollBandDown(P,dv)); BBmd3 = data3(ma(C,P)); BBup4 = data4(BollBandUp(P,dv)); BBdn4 = data4(BollBandDown(P,dv)); BBmd4 = data4(ma(C,P)); if data1(time < 101500 and NextBarStime >= 101500) then { if data1(C[1] > BBup1[1] and O < BBdn1) and data2(C[1] > BBup2[1] and O < BBdn2) then buy("b1",AtMarket); if data3(C[1] > BBup3[1] and O < BBdn3) or data4(C[1] > BBup4[1] and O < BBdn4) then buy("b2",AtMarket); if data1(C[1] > BBup1[1] and O > BBup1) and data2(C[1] > BBup2[1] and O > BBup2) then buy("b3",AtMarket); if data3(C[1] > BBup3[1] and O > BBup3) or data4(C[1] > BBup4[1] and O > BBup4) then buy("b4",AtMarket); } if data1(time < 101500 and NextBarStime >= 101500) then { if data1(C[1] < BBdn1[1] and O > BBup1) and data2(C[1] < BBdn2[1] and O > BBup2) then sell("s1",AtMarket); if data3(C[1] < BBdn3[1] and O > BBup3) or data4(C[1] < BBdn4[1] and O > BBup4) then sell("s2",AtMarket); if data1(C[1] < BBdn1[1] and O < BBdn1) and data2(C[1] < BBdn2[1] and O < BBdn2) then sell("s3",AtMarket); if data3(C[1] < BBdn3[1] and O < BBdn3) or data4(C[1] < BBdn4[1] and O < BBdn4) then sell("s4",AtMarket); } if MarketPosition == 1 then { if (IsEntryName("b1") == true or IsEntryName("b2")) and (data1(crossup(c,BBmd1)) or data2(crossup(c,BBmd2)) or data3(crossup(c,BBmd3)) or data4(crossup(c,BBmd4))) Then ExitLong("bx1",AtMarket); if (IsEntryName("b3") == true or IsEntryName("b4")) and (data1(CrossDown(c,BBup1)) or data2(CrossDown(c,BBup2)) or data3(CrossDown(c,BBup3)) or data4(CrossDown(c,BBup4))) Then ExitLong("bx2",AtMarket); } if MarketPosition == -1 then { if (IsEntryName("s1") == true or IsEntryName("s2")) and (data1(CrossDown(c,BBmd1)) or data2(CrossDown(c,BBmd2)) or data3(CrossDown(c,BBmd3)) or data4(CrossDown(c,BBmd4))) Then ExitShort("sx1",AtMarket); if (IsEntryName("s3") == true or IsEntryName("s4")) and (data1(Crossup(c,BBdn1)) or data2(Crossup(c,BBdn2)) or data3(Crossup(c,BBdn3)) or data4(Crossup(c,BBdn4))) Then ExitShort("sx2",AtMarket); } 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 전략에 대해 스크립트 작성 요청드립니다. ※ 1) 적용하고자 하는 상품 data1 = 항셍지수 선물 5분봉 data2 = 항셍지수 선물 10분봉 data3 = 항셍지수 선물 15분봉 data4 = 항셍지수 선물 20분봉 2) 매수진입 조건 (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 3) 매도진입 조건 (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 4) 매수청산 조건 {(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입}한 경우에는 현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 중심선을 상향이탈시 익봉 시가에 청산 {(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입} 한 경우에는 현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 상단선을 하향이탈시 익봉 시가에 청산 5) 매도청산 조건 {(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입} 한 경우에는 현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 하단선을 상향이탈시 익봉 시가에 청산 {(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입 or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입} 한 경우에는 현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 중심선을 상향이탈시 익봉 시가에 청산 ※ 아래 글번호 65045번에 답변주셨던 내용을 수정하여 답변 요청드립니다. input : P(20),dv(2); var : BBup1(0,data1),BBdn1(0,data1); var : BBup2(0,data2),BBdn2(0,data2); var : BBup3(0,data3),BBdn3(0,data3); var : BBup4(0,data4),BBdn4(0,data4); BBup1 = data1(BollBandUp(P,dv)); BBdn1 = data1(BollBandDown(P,dv)); BBup2 = data2(BollBandUp(P,dv)); BBdn2 = data2(BollBandDown(P,dv)); BBup3 = data3(BollBandUp(P,dv)); BBdn3 = data3(BollBandDown(P,dv)); BBup4 = data4(BollBandUp(P,dv)); BBdn4 = data4(BollBandDown(P,dv)); if data1(time < 101500 and NextBarStime >= 101500) and ((data1(O < C[1] and O < BBdn1) and data2(O < C[1] and O < BBdn2)) or data3(O < C[1] and O < BBdn3) or data4(O < C[1] and O < BBdn4)) Then buy("b",AtMarket); if data1(time < 101500 and NextBarStime >= 101500) and ((data1(O > C[1] and O > BBup1) and data2(O > C[1] and O > BBup2)) or data3(O > C[1] and O > BBup3) or data4(O > C[1] and O > BBup4)) Then sell("s",AtMarket); if MarketPosition == 1 and (data1(c > BBup1) or data2(c > BBup2) or data3(c > BBup3) or data3(c > BBup4)) Then ExitLong("bx",AtMarket); if MarketPosition == -1 and (data1(c < BBdn1) or data2(c < BBdn2) or data3(c < BBdn3) or data4(c < BBdn4)) Then ExitShort("sx",AtMarket);