커뮤니티
문의 드립니다.
2017-11-03 20:47:51
164
글번호 113895
안녕하세요
Input : shortPeriod(12), longPeriod(26), Period(9);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1, Period);
if C <= BBup-PriceScale*5 and C >= BBdn+PriceScale*5 Then{
If CrossUP(value1, value2) Then
{
buy("bMACD");
}
If CrossDown(value1, value2) Then
{
sell("sMACD");
}
}
상기 수식에서 하기와 같이 추가하고 싶은 것이 있어서 문의 드립니다.
1.
가끔가다 보면 MACD가 양에서 음으로 바뀐다음에 다시 양으로 바로 바뀌는 경우가 발생합니다.
즉 매수 진입 후 다음봉에서 바로 매도로 진입되는데...반대경우도 마찬가지구요...
일단 진입후 2번째 봉까지는 진입한 포지션이 바뀌지 않도록 할 수 있는지 수식 부탁드립니다.
세번째 부터 바뀌는 것에는 적용되도록 부탁드립니다.
2.
저는 상기 수식을 10분봉에 사용하는데, 20분봉을 같이 data 2로 연계해서 사용하면서
20분봉의 상기 수식도 같이 적용되는 방법이 없는지요,
즉 10분봉이나 20분봉이나 매수나 매도 신호가 발생되면, 약간의 진입가격의 차이는 있겠지만, 두가지 봉 모두 진입하게되는 방법이 없는지요?
상기 두가지 검토 부탁드립니다.
답변 1
예스스탁 예스스탁 답변
2017-11-06 11:43:47
안녕하세요
예스스탁입니다.
1.
Input : shortPeriod(12), longPeriod(26), Period(9);
var : T(0),B(0),bbup(0),bbdn(0);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1, Period);
bbup = BollBandUp(20,2);
bbdn = BollBandDown(20,2);
if CrossUp(value1,value2) Then{
T = 1;
B = 0;
}
if CrossDown(value1,value2) Then{
T = -1;
B = 0;
}
if T == 1 Then
B = B+1;
if T == -1 Then
B = B+1;
if C <= BBup-PriceScale*5 and C >= BBdn+PriceScale*5 Then{
If T == 1 and B == 3 Then
{
buy("bMACD");
}
If T == 1 and B == 3 Then
{
sell("sMACD");
}
}
2
Input : shortPeriod(12), longPeriod(26), Period(9);
var : MACDV1(0,data1),MACDS1(0,data1),T1(0,data1),B1(0,data1);
var : MACDV2(0,data2),MACDS2(0,data2),T2(0,data2),B2(0,data2);
var : BBup1(0,data1),BBdn1(0,data1),BBup2(0,data2),BBdn2(0,data2);
var : Bcond(false,data1),Scond(false,data1);
MACDV1 = data1(MACD(shortPeriod, longPeriod));
MACDS1 = data1(ema(MACDV1, Period));
MACDV2 = data2(MACD(shortPeriod, longPeriod));
MACDS2 = data2(ema(MACDV2, Period));
BBup1 = data1(BollBandUp(20,2));
BBdn1 = data1(BollBandDown(20,2));
BBup2 = data2(BollBandUp(20,2));
BBdn2 = data2(BollBandDown(20,2));
if data1(CrossUp(MACDV1,MACDS1)) Then{
T1 = 1;
B1 = 0;
}
if data1(CrossDown(MACDV1,MACDS1)) Then{
T1 = -1;
B1 = 0;
}
if T1 == 1 Then
B1 = B1+1;
if T1 == -1 Then
B1 = B1-1;
if data2(CrossUp(MACDV2,MACDS2)) Then{
T2 = 1;
B2 = 0;
}
if data2(CrossDown(MACDV2,MACDS2)) Then{
T2 = -1;
B2 = 0;
}
if T2 == 1 Then
B2 = B2+1;
if T2 == -1 Then
B2 = B2-1;
Bcond = data1(C <= BBup1-PriceScale*5 and C >= BBdn1+PriceScale*5 and T1 == 1 and B1 == 3) and
data2(C <= BBup1-PriceScale*5 and C >= BBdn1+PriceScale*5 and T2 == 1 and B2 == 3);
Scond = data1(C <= BBup1-PriceScale*5 and C >= BBdn1+PriceScale*5 and T1 == -1 and B1 == -3) and
data2(C <= BBup1-PriceScale*5 and C >= BBdn1+PriceScale*5 and T2 == -1 and B2 == -3);
if Bcond == true and Bcond[1] == false Then
buy();
if Scond == true and Scond[1] == false Then
sell();
즐거운 하루되세요
> softtoug 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 안녕하세요
Input : shortPeriod(12), longPeriod(26), Period(9);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1, Period);
if C <= BBup-PriceScale*5 and C >= BBdn+PriceScale*5 Then{
If CrossUP(value1, value2) Then
{
buy("bMACD");
}
If CrossDown(value1, value2) Then
{
sell("sMACD");
}
}
상기 수식에서 하기와 같이 추가하고 싶은 것이 있어서 문의 드립니다.
1.
가끔가다 보면 MACD가 양에서 음으로 바뀐다음에 다시 양으로 바로 바뀌는 경우가 발생합니다.
즉 매수 진입 후 다음봉에서 바로 매도로 진입되는데...반대경우도 마찬가지구요...
일단 진입후 2번째 봉까지는 진입한 포지션이 바뀌지 않도록 할 수 있는지 수식 부탁드립니다.
세번째 부터 바뀌는 것에는 적용되도록 부탁드립니다.
2.
저는 상기 수식을 10분봉에 사용하는데, 20분봉을 같이 data 2로 연계해서 사용하면서
20분봉의 상기 수식도 같이 적용되는 방법이 없는지요,
즉 10분봉이나 20분봉이나 매수나 매도 신호가 발생되면, 약간의 진입가격의 차이는 있겠지만, 두가지 봉 모두 진입하게되는 방법이 없는지요?
상기 두가지 검토 부탁드립니다.