예스스탁
예스스탁 답변
2021-05-06 13:48:15
안녕하세요
예스스탁입니다.
Input : Period(20), MultiD(2);
Input : short(12), long(26), signal(9);
var : BBmd(0),BBup(0),BBdn(0),T(0);
Var : MACDv(0), MACDs(0),macdo(0),hm(0),lm(0),hp(0),lp(0);
BBmd = ma(C,Period);
BBup = BollBandUp(Period,MultiD);
BBdn = BollBandDown(Period,MultiD);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if Bdate != Bdate[1] Then
{
T = 0;
var1 = max(C,O);
Var2 = min(C,O);
if Var2 > DayClose(1) and Var2 > BBup Then
T = 1;
if var1 < DayClose(1) and var1 < BBdn Then
T = -1;
hm = macdo;
hp = max(C,O);
lm = macdo;
lp = min(C,O);
}
if macdo > hm Then
{
hm = macdo;
hp = max(C,O);
}
if macdo < lm Then
{
lm = macdo;
lp = min(C,O);
}
if T == 1 and CrossDown(MACDO,0) Then
{
T = 2;
if min(C,O) > Var1 and lp >= var2 Then
{
T = 3;
Buy("b",AtMarket);
}
}
if T == -1 and CrossUp(MACDO,0) Then
{
T = -2;
if max(C,O) < Var2 and hp <= var1 Then
{
T = -3;
Sell("s",AtMarket);
}
}
SetStopEndofday(150000);
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래글번호 72170번 재질문입니다.
작성주신 스크립트에서 전략[조건]을 추가하고자 합니다.
(기존전략에 각 2.5번 추가)
스크립트 작성 요청드립니다.
국내선물 1분봉으로 일중거래를 하고자 합니다.
매수든 매도든 당일 진입이 처음되면 당일 15시에 청산하고자 하고자 합니다.
- 매수:
1) 당일의 시가와 9시 1분에 완성되는 봉의 종가가 전일 종가와 볼린저밴드 상단 값보다 크고
2) 당일 처음으로 macd오실레이터가 양에서 음으로 반전할 때
2.5) 2번 조건이 완성되면 그 완성시점의 이전까지의 당일 중 MACD오실레이더 값중 최저값일 때 완성봉의 시가와 종가중 작은 값은 당일의 시가와 9시 1분에 완성되는 봉의 시가와 종가중 작은 값보다 같거나 커야 합니다.
3) 당일의 시가와 9시 1분에 완성되는 봉의 종가보다 현재봉의 시가와 종가가 모두 크면
익봉시가에 진입
- 매도:
1) 당일의 시가와 9시 1분에 완성되는 봉의 종가가 전일 종가와 볼린저밴드 하단 값보다 작고
2) 당일 처음으로 macd오실레이터가 음에서 양으로 반전할 때
2.5) 2번 조건이 완성되면 그 완성시점의 이전까지의 당일 중 MACD오실레이더 값 중 최대값일 때 완성봉의 시가와 종가중 큰 값은 당일의 시가와 9시 1분에 완성되는 봉의 시가와 종가중 큰 값보다 같거나 작아야 합니다.
3)당일의 시가와 9시 1분에 완성되는 봉의 종가보다 현재봉의 시가와 종가가 모두 작으면
익봉시가에 진입
1번 사건이 발생하고 난 후 2번 사건(당일 개장 후에 처음으로 macd오실레이터가 반전현상 발생)과 함께 3번 사건이 동시에 발생하여 만족하되 2.5번 조건이 추가되어 매수든 매도든 신호생성을 시키고자 합니다.