커뮤니티
수식부탁드립니다.
2017-09-24 01:07:16
191
글번호 113029
아래식에서
매수 진입에서 Data2의 MACDO2 가 0을 Crossup하고 MACDO2에서 2개의 봉까지만 진입이 될 수 있도록 부탁드립니다.(매도 동등수식)
input : short(12),long(26),sig(9),P1(3),P2(30),P3(120), P4(200), P5(50);
input : 시작시간(150000), 종료시간(050000);
input : 진입회수(1);
var : mav1(0,data1),mav2(0,data1),mav3(0,data1),mav4(0,data1),mav5(0,data1);
var : MACDO1(0,data1),MACDO2(0,data2),MACDV1(0,data1);
var : ii(0,data1),i1(0,data1),i2(0,data1),Bcount(0,data1),Scount(0,data1);
var : Bcond(false,data1), Scond(false,data1), Tcond(False);
MACDO2 = data2(MACD_OSC(short,long,sig));
mav1 = data1(ma(c,P1));
mav2 = data1(ma(c,P2));
mav3 = data1(ma(c,P3));
mav4 = data1(ma(c,P4));
mav5 = data1(ma(c,P5));
ii = data1(index);
if stime == 시작시간 or (stime >시작시간 and stime[1] < 시작시간) Then{
Tcond = true;
}
if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{
Tcond = false;
}
if CrossUp(mav1, mav2) Then{
i1 = ii;
}
if Crossdown(mav1, mav2) Then{
i1 = ii;
}
if CrossUp(mav2, mav3) Then{
i2 = ii;
Bcount = 0;
}
if Crossdown(mav2, mav3) Then{
i2 = ii;
Scount = 0;
}
if mav2 > mav3 and MarketPosition != MarketPosition[1] and MarketPosition == 1 Then
Bcount = Bcount+1;
if mav2 < mav3 and MarketPosition != MarketPosition[1] and MarketPosition == -1 Then
Scount = Scount+1;
//진입
if Tcond == true Then{
if Bcount < 진입회수 and MACDO2 >0 and MACDO2 > MACDO2[1] and mav1 > mav1[1] and mav5 > mav5[1] and mav1 > mav3 and mav2 > mav3
and ii > i1 and i1 > i2 Then
buy("Buy");
if Scount < 진입회수 and MACDO2 <0 and MACDO2 < MACDO2[1] and mav1 < mav1[1] and mav5 < mav5[1] and mav1 < mav3 and mav2 < mav3
and ii > i1 and i1 > i2 Then
sell("Sell");
- 1. 20170924_010535.jpg (0.01 MB)
답변 1
예스스탁 예스스탁 답변
2017-09-25 15:08:39
안녕하세요
예스스탁입니다.
input : short(12),long(26),sig(9),P1(3),P2(30),P3(120), P4(200), P5(50);
input : 시작시간(150000), 종료시간(050000);
input : 진입회수(1);
var : mav1(0,data1),mav2(0,data1),mav3(0,data1),mav4(0,data1),mav5(0,data1);
var : MACDO1(0,data1),MACDO2(0,data2),MACDV1(0,data1),T3(0),upcnt(0),dncnt(0);
var : ii(0,data1),i1(0,data1),i2(0,data1),Bcount(0,data1),Scount(0,data1);
var : Bcond(false,data1), Scond(false,data1), Tcond(False);
MACDO2 = data2(MACD_OSC(short,long,sig));
mav1 = data1(ma(c,P1));
mav2 = data1(ma(c,P2));
mav3 = data1(ma(c,P3));
mav4 = data1(ma(c,P4));
mav5 = data1(ma(c,P5));
ii = data1(index);
if stime == 시작시간 or (stime >시작시간 and stime[1] < 시작시간) Then{
Tcond = true;
}
if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{
Tcond = false;
}
if CrossUp(mav1, mav2) Then{
i1 = ii;
}
if Crossdown(mav1, mav2) Then{
i1 = ii;
}
if CrossUp(mav2, mav3) Then{
i2 = ii;
Bcount = 0;
}
if Crossdown(mav2, mav3) Then{
i2 = ii;
Scount = 0;
}
if mav2 > mav3 and MarketPosition != MarketPosition[1] and MarketPosition == 1 Then
Bcount = Bcount+1;
if mav2 < mav3 and MarketPosition != MarketPosition[1] and MarketPosition == -1 Then
Scount = Scount+1;
if data2(crossup(MACDO2,0)) Then{
T3 = 1;
upcnt = 0;
}
if data2(crossup(MACDO2,0)) Then{
T3 = -1;
dncnt = 0;
}
if T3 == 1 Then
UPcnt = upcnt+1;
if T3 == -1 Then
dncnt = dncnt+1;
//진입
if Tcond == true Then{
if Bcount < 진입회수 and MACDO2 >0 and upcnt <= 2 and MACDO2 > MACDO2[1] and mav1 > mav1[1] and mav5 > mav5[1] and mav1 > mav3 and mav2 > mav3
and ii > i1 and i1 > i2 Then
buy("Buy");
if Scount < 진입회수 and MACDO2 <0 and dncnt <= 2 and MACDO2 < MACDO2[1] and mav1 < mav1[1] and mav5 < mav5[1] and mav1 < mav3 and mav2 < mav3
and ii > i1 and i1 > i2 Then
sell("Sell");
}
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : 수식부탁드립니다.
> 아래식에서
매수 진입에서 Data2의 MACDO2 가 0을 Crossup하고 MACDO2에서 2개의 봉까지만 진입이 될 수 있도록 부탁드립니다.(매도 동등수식)
input : short(12),long(26),sig(9),P1(3),P2(30),P3(120), P4(200), P5(50);
input : 시작시간(150000), 종료시간(050000);
input : 진입회수(1);
var : mav1(0,data1),mav2(0,data1),mav3(0,data1),mav4(0,data1),mav5(0,data1);
var : MACDO1(0,data1),MACDO2(0,data2),MACDV1(0,data1);
var : ii(0,data1),i1(0,data1),i2(0,data1),Bcount(0,data1),Scount(0,data1);
var : Bcond(false,data1), Scond(false,data1), Tcond(False);
MACDO2 = data2(MACD_OSC(short,long,sig));
mav1 = data1(ma(c,P1));
mav2 = data1(ma(c,P2));
mav3 = data1(ma(c,P3));
mav4 = data1(ma(c,P4));
mav5 = data1(ma(c,P5));
ii = data1(index);
if stime == 시작시간 or (stime >시작시간 and stime[1] < 시작시간) Then{
Tcond = true;
}
if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{
Tcond = false;
}
if CrossUp(mav1, mav2) Then{
i1 = ii;
}
if Crossdown(mav1, mav2) Then{
i1 = ii;
}
if CrossUp(mav2, mav3) Then{
i2 = ii;
Bcount = 0;
}
if Crossdown(mav2, mav3) Then{
i2 = ii;
Scount = 0;
}
if mav2 > mav3 and MarketPosition != MarketPosition[1] and MarketPosition == 1 Then
Bcount = Bcount+1;
if mav2 < mav3 and MarketPosition != MarketPosition[1] and MarketPosition == -1 Then
Scount = Scount+1;
//진입
if Tcond == true Then{
if Bcount < 진입회수 and MACDO2 >0 and MACDO2 > MACDO2[1] and mav1 > mav1[1] and mav5 > mav5[1] and mav1 > mav3 and mav2 > mav3
and ii > i1 and i1 > i2 Then
buy("Buy");
if Scount < 진입회수 and MACDO2 <0 and MACDO2 < MACDO2[1] and mav1 < mav1[1] and mav5 < mav5[1] and mav1 < mav3 and mav2 < mav3
and ii > i1 and i1 > i2 Then
sell("Sell");