커뮤니티

수식문의

프로필 이미지
softtoug
2018-02-11 17:20:56
159
글번호 116502
답변완료
안녕하세요 하기 수식과 관련하여 문의 드립니다. 검토 부탁드립니다. nput : Period(20),dv(2); var : BBmd(0),BBdn(0),bbup(0),BandB(0),HH(0),LL(0); BBmd = ma(C,Period); BBdn = BollBandDown(Period,Dv); BBUp = BollBandUp(Period,Dv); BandB = ((C-BBDn)/(BBUp-BBdn))*100; if crossup(BandB,90) Then HH = BandB; if BandB > 90 and BandB > HH Then HH = BandB; if CrossDown(BandB,10) Then LL = BandB; if BandB < 10 and BandB < LL Then LL = BandB; if HH > 100 and CrossDown(BandB,90) and c >= bbmd-PriceScale*10 and C >= O Then sell("s4"); if LL < 0 and crossup(BandB,10) and C <= bbmd+PriceScale*10 and C <= O Then buy("b4"); 1. 상기 수식이 잘 적용되지 않고 있습니다. 발생하는 부분인데도 발생하지 않고, 넘어갑니다. 무엇이 잘못된 것인지 잘 모르겠습니다. 제가 원하는 것은 Band%B로 진입을 결정하는 것입니다. 매도 : Band%B가 90 이하로 내려올 때 매도 진입 - 조건은 100을 넘고 와서 90이하로 내려와야 합니다. 95나 98에서 90이하로 내려오면 진입하지 않습니다. 매수 : Band%B가 10 이상으로 올라올 때 매수 진입 - 조건은 0을 넘고와서 10 이상으로 올라와야 합니다. 2 나 5 에서 10 이상으로 올라오면 진입하지 않습니다. 2. 추가 조건사항으로 두가지 시간 프레임을 사용해서 적용하고 싶습니다.(data2 사용) data 1 과 data 2가 동시에 band%b의 90이하로 내려올 때 매도, 10 이상으로 올라올 때 매수 하는 수식 부탁드립니다. 조건은 1번과 같습니다. 참고로 data2 가 짧은 주기 입니다. data 1 (60분봉) 과 data 2 (30분봉) 가 동시에 신호를 발생할 때, data 2 기준으로 진입 부탁드립니다. 즉 data 1 은 경계선에 있는데, data 2는 탈출을 했으면 진입되게 부탁드립니다. 3. 추가 조건사항으로 data 1의 ADX가 1 이상이면 진입대기 하다가, 1보다 작아지면 진입합니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-02-12 14:27:28

안녕하세요 예스스탁입니다. 1. 식 적용해 보았지만 정상적으로 신호 발생합니다. 100 위로 상승후 하락해 90이하로 내려올때만 매도 0 밑으로 하락후 상승해 10이상으로 올라가면 매수신호가 발생합니다. 부대조건으로 매도는 종가가 볼밴중단-10틱 위이고 양봉이나 도지봉이어야 하고 매수는 종가가 볼밴중단+10틱 아래이고 음봉이나 도지봉이어야 진입신호 발생합니다. 특별히 수정해 드릴부분이 없습니다. 위 부대조건 제외하면 아래와 같습니다. input : Period(20),dv(2); var : BBmd(0),BBdn(0),bbup(0),BandB(0),HH(0),LL(0); BBmd = ma(C,Period); BBdn = BollBandDown(Period,Dv); BBUp = BollBandUp(Period,Dv); BandB = ((C-BBDn)/(BBUp-BBdn))*100; if crossup(BandB,90) Then HH = BandB; if BandB > 90 and BandB > HH Then HH = BandB; if CrossDown(BandB,10) Then LL = BandB; if BandB < 10 and BandB < LL Then LL = BandB; if HH > 100 and CrossDown(BandB,90) Then sell("s4"); if LL < 0 and crossup(BandB,10) Then buy("b4"); 2 input : Period(20),dv(2); var : BBmd1(0),BBdn1(0),bbup1(0),BandB1(0),HH1(0),LL1(0); var : BBmd2(0),BBdn2(0),bbup2(0),BandB2(0),HH2(0),LL2(0); BBmd1 = data1(ma(C,Period)); BBdn1 = data1(BollBandDown(Period,Dv)); BBUp1 = data1(BollBandUp(Period,Dv)); BandB1 = data1(((C-BBDn1)/(BBUp1-BBdn1))*100); BBmd2 = data2(ma(C,Period)); BBdn2 = data2(BollBandDown(Period,Dv)); BBUp2 = data2(BollBandUp(Period,Dv)); BandB2 = data2(((C-BBDn2)/(BBUp2-BBdn2))*100); if crossup(BandB1,90) Then HH1 = BandB1; if BandB1 > 90 and BandB1 > HH1 Then HH1 = BandB1; if CrossDown(BandB1,10) Then LL1 = BandB1; if BandB1 < 10 and BandB1 < LL1 Then LL1 = BandB1; if crossup(BandB2,90) Then HH2 = BandB2; if BandB2 > 90 and BandB2 > HH2 Then HH2 = BandB2; if CrossDown(BandB2,10) Then LL2 = BandB2; if BandB1 < 10 and BandB1 < LL1 Then LL1 = BandB1; if HH1 > 100 and CrossDown(BandB1,90) and HH2 > 100 and CrossDown(BandB2,90) Then sell("s4"); if LL1 < 0 and crossup(BandB1,10) and LL2 < 0 and crossup(BandB2,10) Then buy("b4"); 3 input : Period(20),dv(2),ADXP(14); var : BBmd1(0),BBdn1(0),bbup1(0),BandB1(0),HH1(0),LL1(0); var : BBmd2(0),BBdn2(0),bbup2(0),BandB2(0),HH2(0),LL2(0); var : ADXV(0); adxv = data1(adx(ADXP)); BBmd1 = data1(ma(C,Period)); BBdn1 = data1(BollBandDown(Period,Dv)); BBUp1 = data1(BollBandUp(Period,Dv)); BandB1 = data1(((C-BBDn1)/(BBUp1-BBdn1))*100); BBmd2 = data2(ma(C,Period)); BBdn2 = data2(BollBandDown(Period,Dv)); BBUp2 = data2(BollBandUp(Period,Dv)); BandB2 = data2(((C-BBDn2)/(BBUp2-BBdn2))*100); if crossup(BandB1,90) Then HH1 = BandB1; if BandB1 > 90 and BandB1 > HH1 Then HH1 = BandB1; if CrossDown(BandB1,10) Then LL1 = BandB1; if BandB1 < 10 and BandB1 < LL1 Then LL1 = BandB1; if crossup(BandB2,90) Then HH2 = BandB2; if BandB2 > 90 and BandB2 > HH2 Then HH2 = BandB2; if CrossDown(BandB2,10) Then LL2 = BandB2; if BandB1 < 10 and BandB1 < LL1 Then LL1 = BandB1; if HH1 > 100 and CrossDown(BandB1,90) and ADXV < 1 and HH2 > 100 and CrossDown(BandB2,90) Then sell("s4"); if LL1 < 0 and crossup(BandB1,10) and ADXV < 1 and LL2 < 0 and crossup(BandB2,10) Then buy("b4"); 즐거운 하루되세요 > softtoug 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요 하기 수식과 관련하여 문의 드립니다. 검토 부탁드립니다. nput : Period(20),dv(2); var : BBmd(0),BBdn(0),bbup(0),BandB(0),HH(0),LL(0); BBmd = ma(C,Period); BBdn = BollBandDown(Period,Dv); BBUp = BollBandUp(Period,Dv); BandB = ((C-BBDn)/(BBUp-BBdn))*100; if crossup(BandB,90) Then HH = BandB; if BandB > 90 and BandB > HH Then HH = BandB; if CrossDown(BandB,10) Then LL = BandB; if BandB < 10 and BandB < LL Then LL = BandB; if HH > 100 and CrossDown(BandB,90) and c >= bbmd-PriceScale*10 and C >= O Then sell("s4"); if LL < 0 and crossup(BandB,10) and C <= bbmd+PriceScale*10 and C <= O Then buy("b4"); 1. 상기 수식이 잘 적용되지 않고 있습니다. 발생하는 부분인데도 발생하지 않고, 넘어갑니다. 무엇이 잘못된 것인지 잘 모르겠습니다. 제가 원하는 것은 Band%B로 진입을 결정하는 것입니다. 매도 : Band%B가 90 이하로 내려올 때 매도 진입 - 조건은 100을 넘고 와서 90이하로 내려와야 합니다. 95나 98에서 90이하로 내려오면 진입하지 않습니다. 매수 : Band%B가 10 이상으로 올라올 때 매수 진입 - 조건은 0을 넘고와서 10 이상으로 올라와야 합니다. 2 나 5 에서 10 이상으로 올라오면 진입하지 않습니다. 2. 추가 조건사항으로 두가지 시간 프레임을 사용해서 적용하고 싶습니다.(data2 사용) data 1 과 data 2가 동시에 band%b의 90이하로 내려올 때 매도, 10 이상으로 올라올 때 매수 하는 수식 부탁드립니다. 조건은 1번과 같습니다. 참고로 data2 가 짧은 주기 입니다. data 1 (60분봉) 과 data 2 (30분봉) 가 동시에 신호를 발생할 때, data 2 기준으로 진입 부탁드립니다. 즉 data 1 은 경계선에 있는데, data 2는 탈출을 했으면 진입되게 부탁드립니다. 3. 추가 조건사항으로 data 1의 ADX가 1 이상이면 진입대기 하다가, 1보다 작아지면 진입합니다. 감사합니다.