커뮤니티
수식문의
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보다 작아지면 진입합니다.
감사합니다.
다음글
이전글