커뮤니티

수식문의

프로필 이미지
softtoug
2018-05-29 08:38:53
110
글번호 119295
답변완료
안녕하세요 하기의 답변 잘 받았습니다. 감사합니다. 추가 문의 사항이 있어서 다시 메일 드립니다. 하기 확인 부탁드립니다. 작성해 주신 수식이 제 생각대비 잘 적용이 되지 않고 있는 것 같습니다. 제가 바라는 것은 하기와 같습니다. 매도 band %b 가 100 이상을 넘고 90 이하로 내려올 때 매도를 진입하는 것입니다. 이때 추가 조건은 data 2 의 볼린져 밴드 상단 밴드가 data 1 의 볼린져 밴드 상단 밴드 밖에 있을 경우에는 진입 대기 하다가, 안쪽으로 들어 왔을 때 진입하는 것입니다. 청산 조건은, 가격이 data 1 의 볼린져 밴드 하단에 닿으면 청산합니다. 이때 추가 조건은 볼린져 이평이 전봉대비 상승하고 있으면 data 2 의 볼린져 밴드 하단에 닿으면 청산합니다. 매수 band %b가 0 이하를 넘고 10 이상으로 올라올 때 매수를 진입하는 것입니다. 이때 추가 조건은 data 2의 볼린져 밴드 하단 밴드가 data 1 의 볼린져 밴드 하단 밴드 밖에 있을 경우에는 진입 대기 하다가, 안쪽으로 들어 왔을 때 진입하는 것입니다. 청산 조건은, 가격이 data 1 의 볼린져 밴드 상단에 닿으면 청산합니다. 이때 추가 조건은 볼린져 이평이 전봉대비 하락하고 있으면 data 2 의 볼린져 밴드 상단에 닿으면 청산합니다. 금번에 주신 식은 제 생각보다 진입 횟수가 훨씬 적습니다. 검토 부탁드립니다. 감사합니다. 안녕하세요 예스스탁입니다 input : Period(20),dv(2); var : BBmd1(0,data1),BBdn1(0,data1),bbup1(0,data1); var : BandB1(0,data1),HH1(0,data1),LL1(0,data1); var : BBmd2(0,data2),BBdn2(0,data2),bbup2(0,data2); 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)); 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 HH1 > 100 and CrossDown(BandB1,90) and BBdn2 < BBdn1 Then sell("s4"); if LL1 < 0 and crossup(BandB1,10) and BBdn2 > BBdn1 Then buy("b4"); if MarketPosition == 1 then{ if bbmd1 < bbmd1[1] and data1(CrossDown(c,bbmd1)) Then exitlong(); if data2(CrossUp(c,bbup2)) Then exitlong(); } if MarketPosition == -1 then{ if bbmd1 > bbmd1[1] and data1(CrossUp(c,bbmd1)) Then ExitShort(); if data2(CrossDown(c,bbdn2)) Then ExitShort(); } 즐거운 하루되세요 > softtoug 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요 하기 수식에서 손절에 추가 문의 드립니다. 검토 부탁드립니다. 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"); 1. b4 진입시 data 2의 볼린져 밴드 하단밴드가 data1 의 볼린져 밴드 하단밴드 밖에 있을 경우 진입 대기하다가 data2 의 볼린져 밴드 하단 밴드가 data1의 볼린져 밴드 하단 안으로 들어 왔을때 진입 부탁드립니다. s4 진입시 data 2의 볼린져 밴드 상단밴드가 data1 의 볼린져 밴드 상단밴드 밖에 있을 경우 진입 대기하다가 data2의 볼린져 밴드 상단 밴드가 data1의 볼린져 밴드 상단 안으로 들어 왔을때 진입 부탁드립니다. 2. b4 진입후 볼린져 중앙 이평이 전봉대비 하락하고 있을 경우, 가격이 data 1 중앙이평을 터치하면 바로 청산하는 수식 가격이 data 2의 볼린져 밴드 상단을 터치하면 바로 청산하는 수식 부탁드립니다. s4 진입후 볼린져 밴드 중앙 이평이 전봉대비 상승하고 있을 경우, 가격이 data 1 중앙이평을 터치하면 바로 청산하는 수식 가격이 data 2의 볼린져 밴드 하단을 터치하면 바로 청산하는 수식 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-29 16:58:28

안녕하세요 예스스탁입니다. 진입내용을 변경했습니다. 청산은 이전문의와 기준값 내용이 다릅니다. 현재 올리신 내용으로 수정해 드립니다. 청산내용이 단순 돌파/이탈 청산내용이므로 해당 부분은 사용자분이 수정보완하시기 바랍니다. input : Period(20),dv(2); var : BBmd1(0,data1),BBdn1(0,data1),bbup1(0,data1); var : BandB1(0,data1),HH1(0,data1),LL1(0,data1); var : BBmd2(0,data2),BBdn2(0,data2),bbup2(0,data2); var : T(0,data1); 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)); 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 CrossDown(BandB1,90) Then { T = 0; if HH1 > 100 Then T = -1; if BBup2 < BBup1 then T = -2; } if CrossUp(BandB1,10) Then { T = 0; if HH1 < 0 Then T = 1; if BBdn2 > BBdn1 then T = 2; } if T == -1 and BBup2 < BBup1 then T = -2; if T == 1 and BBdn2 > BBdn1 then T = 2; if T == -2 and T != T[1] Then { T = 0; sell("s4"); } if T == 2 and T != T[1] Then { T = 0; buy("b4"); } if MarketPosition == 1 then{ if data1(CrossUp(c,bbup1)) Then exitlong(); if bbmd1 < bbmd1[1] and data2(CrossUp(c,bbup2)) Then exitlong(); } if MarketPosition == -1 then{ if data1(CrossUp(c,bbdn1)) Then ExitShort(); if bbmd1 > bbmd1[1] and data2(CrossDown(c,bbdn2)) Then ExitShort(); } 즐거운 하루되세요 > softtoug 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요 하기의 답변 잘 받았습니다. 감사합니다. 추가 문의 사항이 있어서 다시 메일 드립니다. 하기 확인 부탁드립니다. 작성해 주신 수식이 제 생각대비 잘 적용이 되지 않고 있는 것 같습니다. 제가 바라는 것은 하기와 같습니다. 매도 band %b 가 100 이상을 넘고 90 이하로 내려올 때 매도를 진입하는 것입니다. 이때 추가 조건은 data 2 의 볼린져 밴드 상단 밴드가 data 1 의 볼린져 밴드 상단 밴드 밖에 있을 경우에는 진입 대기 하다가, 안쪽으로 들어 왔을 때 진입하는 것입니다. 청산 조건은, 가격이 data 1 의 볼린져 밴드 하단에 닿으면 청산합니다. 이때 추가 조건은 볼린져 이평이 전봉대비 상승하고 있으면 data 2 의 볼린져 밴드 하단에 닿으면 청산합니다. 매수 band %b가 0 이하를 넘고 10 이상으로 올라올 때 매수를 진입하는 것입니다. 이때 추가 조건은 data 2의 볼린져 밴드 하단 밴드가 data 1 의 볼린져 밴드 하단 밴드 밖에 있을 경우에는 진입 대기 하다가, 안쪽으로 들어 왔을 때 진입하는 것입니다. 청산 조건은, 가격이 data 1 의 볼린져 밴드 상단에 닿으면 청산합니다. 이때 추가 조건은 볼린져 이평이 전봉대비 하락하고 있으면 data 2 의 볼린져 밴드 상단에 닿으면 청산합니다. 금번에 주신 식은 제 생각보다 진입 횟수가 훨씬 적습니다. 검토 부탁드립니다. 감사합니다. 안녕하세요 예스스탁입니다 input : Period(20),dv(2); var : BBmd1(0,data1),BBdn1(0,data1),bbup1(0,data1); var : BandB1(0,data1),HH1(0,data1),LL1(0,data1); var : BBmd2(0,data2),BBdn2(0,data2),bbup2(0,data2); 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)); 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 HH1 > 100 and CrossDown(BandB1,90) and BBdn2 < BBdn1 Then sell("s4"); if LL1 < 0 and crossup(BandB1,10) and BBdn2 > BBdn1 Then buy("b4"); if MarketPosition == 1 then{ if bbmd1 < bbmd1[1] and data1(CrossDown(c,bbmd1)) Then exitlong(); if data2(CrossUp(c,bbup2)) Then exitlong(); } if MarketPosition == -1 then{ if bbmd1 > bbmd1[1] and data1(CrossUp(c,bbmd1)) Then ExitShort(); if data2(CrossDown(c,bbdn2)) Then ExitShort(); } 즐거운 하루되세요 > softtoug 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요 하기 수식에서 손절에 추가 문의 드립니다. 검토 부탁드립니다. 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"); 1. b4 진입시 data 2의 볼린져 밴드 하단밴드가 data1 의 볼린져 밴드 하단밴드 밖에 있을 경우 진입 대기하다가 data2 의 볼린져 밴드 하단 밴드가 data1의 볼린져 밴드 하단 안으로 들어 왔을때 진입 부탁드립니다. s4 진입시 data 2의 볼린져 밴드 상단밴드가 data1 의 볼린져 밴드 상단밴드 밖에 있을 경우 진입 대기하다가 data2의 볼린져 밴드 상단 밴드가 data1의 볼린져 밴드 상단 안으로 들어 왔을때 진입 부탁드립니다. 2. b4 진입후 볼린져 중앙 이평이 전봉대비 하락하고 있을 경우, 가격이 data 1 중앙이평을 터치하면 바로 청산하는 수식 가격이 data 2의 볼린져 밴드 상단을 터치하면 바로 청산하는 수식 부탁드립니다. s4 진입후 볼린져 밴드 중앙 이평이 전봉대비 상승하고 있을 경우, 가격이 data 1 중앙이평을 터치하면 바로 청산하는 수식 가격이 data 2의 볼린져 밴드 하단을 터치하면 바로 청산하는 수식 부탁드립니다. 감사합니다.