예스스탁
예스스탁 답변
2021-04-09 16:51:32
안녕하세요
예스스탁입니다.
Input : Wshort(12),Wlong(26),Wsig(9);
Input : dshort(12),dlong(26),dsig(9);
Input : short(12),long(26),sig(9);
var : widx(0);
Var : wEp1(0), Wema1(0), PreWema1(0);
Var : wEp2(0), Wema2(0), PreWema2(0);
Var : wEp3(0),PreWMACDS(0),WMACDv(0),WMACDs(0),preWMACDo(0),WMACDO(0);
var : didx(0);
Var : dEp1(0), dema1(0), Predema1(0);
Var : dEp2(0), dema2(0), Predema2(0);
Var : dEp3(0),PredMACDS(0),dMACDv(0),dMACDs(0),predMACDo(0),dMACDO(0);
Var : MACDv(0), MACDs(0),macdo(0) ;
wEp1 = 2/(Wshort+1);
wEp2 = 2/(Wlong+1);
wEp3 = 2/(Wsig+1);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then
{
widx = widx + 1;
PreWema1 = Wema1[1];
PreWema2 = Wema2[1];
PreWMACDS = WMACDs[1];
PreWMACDO = WMACDo[1];
}
if widx <= 1 then
{
Wema1 = C;
Wema2 = C;
WMACDv = Wema1-Wema2;
WMACDs = WMACDv;
WMACDO = WMACDV-WMACDS;
}
else{
Wema1 = C * wEP1 + PreWema1 * (1-wEP1);
Wema2 = C * wEP2 + PreWema2 * (1-wEP2);
WMACDV = Wema1-Wema2;
WMACDS = WMACDV * wEP3 + PreWMACDS * (1-wEP3);
WMACDO = WMACDV-WMACDS;
}
dEp1 = 2/(dshort+1);
dEp2 = 2/(dlong+1);
dEp3 = 2/(dsig+1);
if bdate != bdate[1] Then
{
didx = didx + 1;
Predema1 = dema1[1];
Predema2 = dema2[1];
PredMACDS = dMACDs[1];
PredMACDO = dMACDo[1];
}
if didx <= 1 then
{
dema1 = C;
dema2 = C;
dMACDv = dema1-dema2;
dMACDs = dMACDv;
dMACDO = dMACDV-dMACDS;
}
else{
dema1 = C * dEP1 + Predema1 * (1-dEP1);
dema2 = C * dEP2 + Predema2 * (1-dEP2);
dMACDV = dema1-dema2;
dMACDS = dMACDV * dEP3 + PredMACDS * (1-dEP3);
dMACDO = dMACDV-dMACDS;
}
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
macdo = MACDv-MACDs;
if WMACDO > PreWMACDO and
DMACDO > PreDMACDO and
MACDO > MACDO[1] Then
Buy();
if MACDO < MACDO[1] and MACDO[1] > MACDO[2] Then
ExitLong();
즐거운 하루되세요
> 대한이 님이 쓴 글입니다.
> 제목 : 시스템 작성 부탁드립니다.
> 안녕하십니까?
시스템 작성 부탁드립니다.
조건
주봉 MACD오실레이터 상승 AND 일봉 MACD오실레이터 상승 AND 60분봉 MACD오실레이터 상승
일때 매수
60분봉 MACD오실레이터 하락 반전 매도
감사합니다.
감사드립니다.
제가 기간변경을 하기 위해서 어느 부분을 수정하면 되는지 알려 주시면 감사하겠습니다.
예) 주,일,60분 봉 -> 일,30분, 3분
다양한 기간을 설정 하면서 테스트 해보고 싶어서 부탁드립니다.
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 작성 부탁드립니다.
>
안녕하세요
예스스탁입니다.
Input : Wshort(12),Wlong(26),Wsig(9);
Input : dshort(12),dlong(26),dsig(9);
Input : short(12),long(26),sig(9);
var : widx(0);
Var : wEp1(0), Wema1(0), PreWema1(0);
Var : wEp2(0), Wema2(0), PreWema2(0);
Var : wEp3(0),PreWMACDS(0),WMACDv(0),WMACDs(0),preWMACDo(0),WMACDO(0);
var : didx(0);
Var : dEp1(0), dema1(0), Predema1(0);
Var : dEp2(0), dema2(0), Predema2(0);
Var : dEp3(0),PredMACDS(0),dMACDv(0),dMACDs(0),predMACDo(0),dMACDO(0);
Var : MACDv(0), MACDs(0),macdo(0) ;
wEp1 = 2/(Wshort+1);
wEp2 = 2/(Wlong+1);
wEp3 = 2/(Wsig+1);
if DayOfWeek(sdate) < DayOfWeek(sdate[1]) Then
{
widx = widx + 1;
PreWema1 = Wema1[1];
PreWema2 = Wema2[1];
PreWMACDS = WMACDs[1];
PreWMACDO = WMACDo[1];
}
if widx <= 1 then
{
Wema1 = C;
Wema2 = C;
WMACDv = Wema1-Wema2;
WMACDs = WMACDv;
WMACDO = WMACDV-WMACDS;
}
else{
Wema1 = C * wEP1 + PreWema1 * (1-wEP1);
Wema2 = C * wEP2 + PreWema2 * (1-wEP2);
WMACDV = Wema1-Wema2;
WMACDS = WMACDV * wEP3 + PreWMACDS * (1-wEP3);
WMACDO = WMACDV-WMACDS;
}
dEp1 = 2/(dshort+1);
dEp2 = 2/(dlong+1);
dEp3 = 2/(dsig+1);
if bdate != bdate[1] Then
{
didx = didx + 1;
Predema1 = dema1[1];
Predema2 = dema2[1];
PredMACDS = dMACDs[1];
PredMACDO = dMACDo[1];
}
if didx <= 1 then
{
dema1 = C;
dema2 = C;
dMACDv = dema1-dema2;
dMACDs = dMACDv;
dMACDO = dMACDV-dMACDS;
}
else{
dema1 = C * dEP1 + Predema1 * (1-dEP1);
dema2 = C * dEP2 + Predema2 * (1-dEP2);
dMACDV = dema1-dema2;
dMACDS = dMACDV * dEP3 + PredMACDS * (1-dEP3);
dMACDO = dMACDV-dMACDS;
}
MACDv = MACD(short, long);
MACDs = ema(MACDv,sig);
macdo = MACDv-MACDs;
if WMACDO > PreWMACDO and
DMACDO > PreDMACDO and
MACDO > MACDO[1] Then
Buy();
if MACDO < MACDO[1] and MACDO[1] > MACDO[2] Then
ExitLong();
즐거운 하루되세요
> 대한이 님이 쓴 글입니다.
> 제목 : 시스템 작성 부탁드립니다.
> 안녕하십니까?
시스템 작성 부탁드립니다.
조건
주봉 MACD오실레이터 상승 AND 일봉 MACD오실레이터 상승 AND 60분봉 MACD오실레이터 상승
일때 매수
60분봉 MACD오실레이터 하락 반전 매도
감사합니다.