커뮤니티
쌍바닥수식문의드립니다~
2017-02-20 02:46:51
212
글번호 106997
input : P(5),Left(3),right(3);
var : mav(0),H1(0),H2(0),L1(0),L2(0);
mav = ma(C,P);
if SwingHigh(1,mav,Left,Right,Left+Right+1) != -1 Then{
H1 = mav[right];
H2 = H1[1];
if H1 < H2 and H2 > 0 Then
sell();
}
if SwingLow(1,mav,Left,Right,Left+Right+1) != -1 Then{
L1 = mav[right];
L2 = L1[1];
if L1 > L2 and L2 > 0 Then
Buy();
}
1.위에수식에서요 스윙로우에서 L1 = mav[right]; //
뜻이 L1은 3봉전의 5일선가격이다.
그리고 L2 = L1[1];// 여기부분에서 이해가 안갑니다. 수식상에서는 L1[1]가 직전스윙로우보다 한단계 이전스윙로우를 얘기하는거 같은데요 수식만보면 L1이 3봉전의 5일선가격이니깐
L1[1]은 4봉전의 5일선가격을 얘기하는게 아닌가요? 어째서 L1[1]이 이전스윙로우가격이 되는건지가 궁금합니다.
위에식에서 주석좀 부탁드립니다.~
2.20일선위에서 나오는 5일선쌍바닥수식을 찾아본거중에서는 게시판나와있는 모든식들 다 대입해서 적용해 봤는데 신호표시가 안나오는것도 있구요 위에식같은 경우는 20일선위에서 나오는 5일선쌍바닥뿐만아니라 20일선위에서 나왔던 스윙하이의 직전고점을 돌파하는 경우도 신호가 뜹니다.~
이전스윙하이의고점을 돌파할때 신호가 나오는게 아니라
20일선위에서 나오는 5일선엔자형태의 쌍바닥일때만 신호가 나오게 부탁좀 드릴게요
조건은 20일선위에서 나오는 5일선쌍바닥일때 매수 그리고 신호는 5일선과20일선골든크로스나오고나서 한번만 나오도록하고 청산신호는 20일선위아래구분없이 5일선쌍봉에서 청산
매도조건은반대이구요
3.아래식이 괜찮은거 같은데 시스템에 넣어보니깐 신호가 전혀 안나와서요
수정좀 부탁드립니다.
input : Left(3),Right(3);
var1 = ma(c,5);
var2 = ma(c,20);
if crossup(var1,var2) Then
Condition1 = true;
if CrossDown(var1,var2) Then{
Condition1 = False;
Condition2 = false;
}
if Condition1 == true Then{
if SwingHigh(1,var1,Left,right,Left+right+1) != -1 Then{
Condition2 = true;
value1 = var1[right];
value2 = var1[right];
}
if Condition2 == true and crossup(var1,value1) Then
buy();
}
답변 1
예스스탁 예스스탁 답변
2017-02-20 17:39:56
안녕하세요
예스스탁입니다.
1
H1이나 L1은 3봉전에 이평값을 저장하는 것이 맞습니다.
H2와 L2는 직전 조건만족시의 가격입니다.
L2 = L1[1]이라고 해서 4봉전의 이평가격이 아닙니다.
L1[1]은 L1에 기존에(한봉전) 저장되어 있던 가격을 가져와 L2에 저장한다는 의미입니다.
즉 새롭게 저장해야 할 가격이 생기면
이전까지 저장되어 있던 값을 다른 변수로 옮긴다는 내용입니다.
#스윙하이가 발생하면
if SwingHigh(1,mav,Left,Right,Left+Right+1) != -1 Then{
#H1에 Right봉전 이평값을 저장
H1 = mav[right];
#H2에는 H1의 한봉전까지 저장되어 있던 가격을 가져와 저장
H2 = H1[1];
if H1 < H2 and H2 > 0 Then
sell();
}
#스윙하이가 발생하면
if SwingLow(1,mav,Left,Right,Left+Right+1) != -1 Then{
#L1에 Right봉전 이평값을 저장
L1 = mav[right];
#L2에 L1의 한봉전까지 저장되어 있던 가격을 가져와 저장
L2 = L1[1];
if L1 > L2 and L2 > 0 Then
Buy();
}
2.3 아래식 참고하시기 바랍니다.
input : Left(3),Right(3),P1(5),P2(20);
var : T(0),Shcnt(0),SLcnt(0);
var : mav1(0),mav2(0),H1(0),H2(0),L1(0),L2(0);
mav1 = ma(c,P1);
mav2 = ma(c,P2);
if crossup(mav1,mav2) Then{
T = 1;
SLcnt = 0;
SHcnt = 0;
Condition1 = false;
}
if CrossDown(mav1,mav2) Then{
T = -1;
SLcnt = 0;
SHcnt = 0;
Condition2 = false;
}
if SwingHigh(1,mav1,Left,Right,Left+Right+1) != -1 Then{
H1 = mav1[right];
H2 = H1[1];
if MarketPosition == 1 and H1 < H2 and H2 > 0 Then
ExitLong("bx");
if T == 1 Then
SHcnt = Shcnt+1;
if condition1 == false and SHcnt >= 2 and H1 < H2 and H2 > 0 Then{
Condition1 = true;
sell("s");
}
}
if SwingLow(1,mav1,Left,Right,Left+Right+1) != -1 Then{
L1 = mav1[right];
L2 = L1[1];
if MarketPosition == -1 and L1 > L2 and L2 > 0 Then
ExitShort("sx");
if T == 1 Then
SLcnt = SLcnt+1;
if Condition2 == false and SLcnt >= 2 and L1 > L2 and L2 > 0 Then{
Condition2 = true;
Buy("b");
}
}
즐거운 하루되세요
> 겐지 님이 쓴 글입니다.
> 제목 : 쌍바닥수식문의드립니다~
> input : P(5),Left(3),right(3);
var : mav(0),H1(0),H2(0),L1(0),L2(0);
mav = ma(C,P);
if SwingHigh(1,mav,Left,Right,Left+Right+1) != -1 Then{
H1 = mav[right];
H2 = H1[1];
if H1 < H2 and H2 > 0 Then
sell();
}
if SwingLow(1,mav,Left,Right,Left+Right+1) != -1 Then{
L1 = mav[right];
L2 = L1[1];
if L1 > L2 and L2 > 0 Then
Buy();
}
1.위에수식에서요 스윙로우에서 L1 = mav[right]; //
뜻이 L1은 3봉전의 5일선가격이다.
그리고 L2 = L1[1];// 여기부분에서 이해가 안갑니다. 수식상에서는 L1[1]가 직전스윙로우보다 한단계 이전스윙로우를 얘기하는거 같은데요 수식만보면 L1이 3봉전의 5일선가격이니깐
L1[1]은 4봉전의 5일선가격을 얘기하는게 아닌가요? 어째서 L1[1]이 이전스윙로우가격이 되는건지가 궁금합니다.
위에식에서 주석좀 부탁드립니다.~
2.20일선위에서 나오는 5일선쌍바닥수식을 찾아본거중에서는 게시판나와있는 모든식들 다 대입해서 적용해 봤는데 신호표시가 안나오는것도 있구요 위에식같은 경우는 20일선위에서 나오는 5일선쌍바닥뿐만아니라 20일선위에서 나왔던 스윙하이의 직전고점을 돌파하는 경우도 신호가 뜹니다.~
이전스윙하이의고점을 돌파할때 신호가 나오는게 아니라
20일선위에서 나오는 5일선엔자형태의 쌍바닥일때만 신호가 나오게 부탁좀 드릴게요
조건은 20일선위에서 나오는 5일선쌍바닥일때 매수 그리고 신호는 5일선과20일선골든크로스나오고나서 한번만 나오도록하고 청산신호는 20일선위아래구분없이 5일선쌍봉에서 청산
매도조건은반대이구요
3.아래식이 괜찮은거 같은데 시스템에 넣어보니깐 신호가 전혀 안나와서요
수정좀 부탁드립니다.
input : Left(3),Right(3);
var1 = ma(c,5);
var2 = ma(c,20);
if crossup(var1,var2) Then
Condition1 = true;
if CrossDown(var1,var2) Then{
Condition1 = False;
Condition2 = false;
}
if Condition1 == true Then{
if SwingHigh(1,var1,Left,right,Left+right+1) != -1 Then{
Condition2 = true;
value1 = var1[right];
value2 = var1[right];
}
if Condition2 == true and crossup(var1,value1) Then
buy();
}