첨부 이미지
그림1
안녕하세요~ 다시 문의드립니다
var : T3(0);
var12 = ma(C,50);
var13 = ma(C,80);
var14 = var12-var13;
var15 = -var14;
input : short2(12),long2(26),sig2(9);
var : MACDV01(0),MACDS01(0);
MACDV01 = MACD(short2,long2);
MACDS01 = WMA(MACDV01,sig2);
if crossup(var14,var15) or CrossDown(var14,var15) Then
{
value18 = value17[1];
}
if var14 > 0 and var14 > var14[1] Then
value17 = var14;
if var14 < var15 and var15 > var15[1] Then
value17 = var15;
if crossup(var14,0) Then
T3 = 1;
if CrossDown(var14,0) Then
T3 = -1;
if (T3 == 1 and var14 >= value18) and MACDV01 > MACDS01 then
{
T3 = 2;
buy();
}
if CrossDown(var12,var13) Then
ExitLong();
if (T3 == -1 and var15 >= value18) and MACDV01 < MACDS01 Then
{
T3 = -2;
sell();
}
if CrossUp(var12,var13) Then
ExitShort();
1. 첨부파일 그림처럼 밀려서 신호가 나옵니다ㅠ
전제조건인 앞 고점보다 클때, 딱 그시점에서만 다른조건이랑 맞으면 진입하고 다른조건이 안맞으면 신호가 없도록 수정해 주시면 좋겠습니다.
크로스업 크로스다운처럼 특정 시점으로 딱 지정할수는 없을까요?
2. 재상승해서 앞 고점보다 클때도 여전히 신호가 나오는데(첫상승에 다른조건 안맞아서 신호 없다가 재상승때 신호) 처음 상승일때만 신호가 나오도록 같이 부탁드릴게요. 첨부파일에서 뒤에 신호가 그렇네요. 1번 내용에 추가해서 따로 부탁드릴게요. 혹시 이부분은 설명 달아주시면 제가 다른 조건 추가해서 수정해보겠습니다
2번이 힘들다면 처음 1번 내용만큼은 꼭 부탁드리겠습니다
즐거운 주말 보내세요~
답변 1
예스스탁
예스스탁 답변
2019-12-13 14:26:49
안녕하세요
예스스탁입니다.
문의하신 내용이 정확히 판단되지 않습니다.
교차시마다 고점계산하고 이전 교차시의 앞고점을
현재 교차 이후로 처음 돌파하는 봉이 MACD조건이 동시만족할때만 신호가 발생하게 수정했습니다.
var : T(0);
var12 = ma(C,50);
var13 = ma(C,80);
var14 = var12-var13;
var15 = -var14;
input : short2(12),long2(26),sig2(9);
var : MACDV01(0),MACDS01(0);
MACDV01 = MACD(short2,long2);
MACDS01 = WMA(MACDV01,sig2);
if crossup(var14,var15) Then
{
T = 1;
value17 = var14;
value18 = value17[1];
}
if CrossDown(var14,var15) Then
{
T = -1;
value17 = var14;
value18 = value17[1];
}
if var14 > var15 then
{
if var14 > value17 Then
value17 = var14;
}
if var15 > var14 then
{
if var15 > value17 Then
value17 = var15;
}
if T == 1 and var14 > var15 and var14 >= value18 then
{
T = 2;
if MACDV01 > MACDS01 then
buy();
}
if CrossDown(var12,var13) Then
ExitLong();
if T == -1 and var15 > var14 and var15 >= value18 Then
{
T = -2;
if MACDV01 < MACDS01 Then
sell();
}
if CrossUp(var12,var13) Then
ExitShort();
즐거운 하루되세요
> 국산3 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요~ 다시 문의드립니다
var : T3(0);
var12 = ma(C,50);
var13 = ma(C,80);
var14 = var12-var13;
var15 = -var14;
input : short2(12),long2(26),sig2(9);
var : MACDV01(0),MACDS01(0);
MACDV01 = MACD(short2,long2);
MACDS01 = WMA(MACDV01,sig2);
if crossup(var14,var15) or CrossDown(var14,var15) Then
{
value18 = value17[1];
}
if var14 > 0 and var14 > var14[1] Then
value17 = var14;
if var14 < var15 and var15 > var15[1] Then
value17 = var15;
if crossup(var14,0) Then
T3 = 1;
if CrossDown(var14,0) Then
T3 = -1;
if (T3 == 1 and var14 >= value18) and MACDV01 > MACDS01 then
{
T3 = 2;
buy();
}
if CrossDown(var12,var13) Then
ExitLong();
if (T3 == -1 and var15 >= value18) and MACDV01 < MACDS01 Then
{
T3 = -2;
sell();
}
if CrossUp(var12,var13) Then
ExitShort();
1. 첨부파일 그림처럼 밀려서 신호가 나옵니다ㅠ
전제조건인 앞 고점보다 클때, 딱 그시점에서만 다른조건이랑 맞으면 진입하고 다른조건이 안맞으면 신호가 없도록 수정해 주시면 좋겠습니다.
크로스업 크로스다운처럼 특정 시점으로 딱 지정할수는 없을까요?
2. 재상승해서 앞 고점보다 클때도 여전히 신호가 나오는데(첫상승에 다른조건 안맞아서 신호 없다가 재상승때 신호) 처음 상승일때만 신호가 나오도록 같이 부탁드릴게요. 첨부파일에서 뒤에 신호가 그렇네요. 1번 내용에 추가해서 따로 부탁드릴게요. 혹시 이부분은 설명 달아주시면 제가 다른 조건 추가해서 수정해보겠습니다
2번이 힘들다면 처음 1번 내용만큼은 꼭 부탁드리겠습니다
즐거운 주말 보내세요~