예스스탁
예스스탁 답변
2021-11-03 16:30:46
안녕하세요
예스스탁입니다.
1
Input : short(12), long(26), signal(9);
Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0);
var : d1(0),t1(0),tl1(0),tl2(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if Bdate != Bdate[1] Then
{
d1 = sDate;
t1 = sTime;
HH = macdo;
LL = macdo;
Condition1 = False;
}
if d1 > 0 Then
{
if macdo > hh Then
hh = macdo;
if macdo < ll Then
ll = macdo;
if Condition1 == False and hh >= ll+0.5 Then
{
Condition1 = true;
var1 = DayHigh;
Var2 = DayLow;
TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1);
TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2);
}
if Condition1 == true Then
{
TL_SetEnd(TL1,sDate,sTime,var1);
TL_SetEnd(TL2,sDate,sTime,var2);
}
}
2
Input : Period1(12),Period2(26),Period3(9);
var : Didx(0),dEP1(0),dEP2(0),dEP3(0);
Var : dJISU1(0), PredJISU1(0);
Var : dJISU2(0), PredJISU2(0);
var : dMACDV(0), predMACDV(0);
Var : dMACDS(0), PredMACDS(0);
var : dMACDO(0), predMACDO(0), predMACDO1(0);
dEp1 = 2/(Period1+1);
dEp2 = 2/(Period2+1);
dEp3 = 2/(Period3+1);
if bdate != bdate[1] Then
{
Didx = Didx + 1;
PredJISU1 = dJISU1[1];
PredJISU2 = dJISU2[1];
PredMACDV = dMACDV[1];
PredMACDS = dMACDS[1];
PredMACDO = dMACDO[1];
PredMACDO1 = PredMACDO[1];
}
if Didx <= 1 then {
dJISU1 = C;
dJISU2 = C;
dMACDV = dJISU1-dJISU2;
dMACDS = dMACDV;
dMACDO = dMACDV-dMACDS;
}
else{
dJISU1 = C * dEP1 + PredJISU1 * (1-dEP1);
dJISU2 = C * dEP2 + PredJISU2 * (1-dEP2);
dMACDV = dJISU1-dJISU2;
dMACDS = dMACDV * dEP3 + PredMACDS * (1-dEP3);
dMACDO = dMACDV-dMACDS;
}
Input : short(12), long(26), signal(9);
Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0);
var : d1(0),t1(0),tl1(0),tl2(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if Bdate != Bdate[1] Then
{
d1 = sDate;
t1 = sTime;
HH = macdo;
LL = macdo;
Condition1 = False;
}
if d1 > 0 Then
{
if macdo > hh Then
hh = macdo;
if macdo < ll Then
ll = macdo;
if Condition1 == False and hh >= ll+0.5 Then
{
Condition1 = true;
var1 = DayHigh;
Var2 = DayLow;
TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1);
TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2);
}
if Condition1 == true Then
{
TL_SetEnd(TL1,sDate,sTime,var1);
TL_SetEnd(TL2,sDate,sTime,var2);
}
}
if Condition1 == true Then
{
if predMACDO > 0 and predMACDO1 > 0 and predMACDO > predMACDO1 Then
Buy("b1",AtStop,var1);
if predMACDO < 0 and predMACDO1 < 0 and predMACDO < predMACDO1 Then
Sell("s1",AtStop,var2);
if predMACDO > 0 and predMACDO1 > 0 and predMACDO < predMACDO1 Then
Buy("b2",AtLimit,var2);
if predMACDO < 0 and predMACDO1 < 0 and predMACDO > predMACDO1 Then
Sell("s2",AtLimit,var1);
}
SetStopEndofday(151500);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수 요청
> 안녕하세요?
함수 요청드립니다.
지표와 전략함수 스크립트 작성 각각 부탁드립니다.
[지표]
아래 글번호 74425번 답변을 응용하여 다시 요청드립니다.
국내선물 1분봉으로 거래합니다.
이에 매일매일 데일리로 의미있는 고점과 저점을 잡고자 하는데
당일첫봉부터 수평선으로 표시되게 부탁드립니다.
장개시 후 MACD 오실레이터의 고점과 저점의 0.5이상 확대되면 그 사이의 그주가의 고점(HH)과 저점(LL)을 그리고 싶습니다.
[시스템전략]
아래 글번호 74226번 답변을 응용하여 다시 요청드립니다.
상기의 지표를 이용하되,
- 일봉상 전전영업일의 MACD오실레이터 값과 일봉상 전영업일의 MACD오실레이터 값이 모두 양의 값이되 증가하고
장중 현주가가 고점(HH)돌파하면 조건 만족 즉시 매수 진입
- 일봉상 전전영업일의 MACD오실레이터 값과 일봉상 전영업일의 MACD오실레이터 값이 모두 음의 값이되 그 음의 절대 값이 증가하고
장중 현주가가 저점(LL)이탈하면 조건 만족 즉시 매도 진입
- 일봉상 전전영업일의 MACD오실레이터 값과 일봉상 전영업일의 MACD오실레이터 값이 모두 양의 값이되 감소하고
장중 현주가가 저점(LL)이탈하면 조건 만족 즉시 매수 진입
- 일봉상 전전영업일의 MACD오실레이터 값과 일봉상 전영업일의 MACD오실레이터 값이 모두 음의 값이되 그 음의 절대 값이 감소하고
장중 현주가가 고점(HH)돌파하면 조건 만족 즉시 매도 진입
- 진입봉과 청산봉이 동일한 봉에서 동시에 신호가 생성되서는 안되며 15시 15분 완성 익봉 강제 청산하고자 합니다.
*data1,2 이렇게 참조함수를 사용하지 않고 주종목 1분봉만을 사용하여 스크립트를 작성 요청드립니다.