예스스탁
예스스탁 답변
2021-08-20 10:31:51
안녕하세요
예스스탁입니다.
Input : short(12), long(26), signal(9);
Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0);
MACDv = MACD(short, long);
MACDs = ema(MACDv,signal);
macdo = MACDv-MACDs;
if Bdate != Bdate[1] Then
{
T = 0;
if MACDO > 0 Then
{
T = 1;
HH = H;
LL = L;
}
if MACDO < 0 Then
{
T = -1;
HH = H;
LL = L;
}
}
Else
{
if T != 0 Then
{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
if T == 1 and MACDO < 0 Then
{
T = 2;
}
if T == 2 and MACDO > 0 Then
{
T = 3;
var1 = HH;
Var2 = LL;
}
if T == -1 and MACDO > 0 Then
{
T = -2;
}
if T == -2 and MACDO < 0 Then
{
T = -3;
var1 = HH;
Var2 = LL;
}
if T == 3 and H > var1 and sTime < 151500 Then
{
T = 4;
Buy("b1",AtMarket,DEF,3);
}
if T == 3 and L < var2 and sTime < 151500 Then
{
T = 4;
Sell("s1",AtMarket,DEF,3);
}
if T == -3 and H > var1 and sTime < 151500 Then
{
T = -4;
Buy("b2",AtMarket,DEF,2);
}
if T == -3 and L < var2 and sTime < 151500 Then
{
T = -4;
Sell("s2",AtMarket,DEF,2);
}
if MarketPosition == 1 and BarsSinceEntry >= 1 and C < Var2 Then
ExitLong("bx1",AtMarket,DEF,"",1,1);
if MarketPosition == -1 and BarsSinceEntry >= 1 and C > var1 Then
ExitShort("sx1",AtMarket,DEF,"",1,1);
if sTime == 151500 Then
{
if MarketPosition == 1 Then
ExitLong("bx2",AtMarket);
if MarketPosition == -1 Then
ExitShort("sx2",AtMarket);
}
}
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 전략에 대해 스크립트 작성 요청드립니다.
국내선물 3분봉으로 일중거래를 하고자 합니다.
- MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 음의 값이 나오고 다음 양의 값이 나올 때까지의 주가를 고점과 저점을 잡고
- 현주가가 고점 돌파 완성시 익봉시가에 매도 2계약 진입
- 현주가가 저점 이탈 완성이 익봉시가에 매수 2계약 진입
- MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 음의 값이면 양의 값이 나오고 다음 음의 값이 나올 때까지의 주가를 고점(var3)과 저점(var4)을 잡고
- 현주가가 고점 돌파 완성시 익봉시가에 매도 2계약 진입
- 현주가가 저점 이탈 완성이 익봉시가에 매수 2계약 진입
- 매도 진입 이후 현주가가 저점 이탈완성시 익봉시가에 매도청산 1계약
- 매수 진입 이후 현주가가 고점 돌파완성시 익봉시가에 매수청산 1계약
- 15시 15분봉 완성 익봉에 전량청산(익절 1계약 혹은 미청산 2계약)
*매매신호의 생성은 진입기준으로 최대 1번만 2계약입니다.