예스스탁
예스스탁 답변
2016-03-31 14:59:52
안녕하세요
예스스탁입니다.
1
input : 시작일(20151113);
Input : Period(25), Period1(6), Period2(6), MAP(5),금액(2100000),P1(25200),S(20151113);
var : StoK(0),StoD(0),mav(0),SH(0),cross(0),Dncnt(0);
Var : Lvalue(0), Hvalue(0),FK(0),BuySetup(true),ExitSetup1(false),ExitSetup2(false);
# 단순 스톡케스틱
Lvalue = Lowest(L, Period);
Hvalue = Highest(H, Period);
FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100;
StoK = ma(FK,Period1);
StoD = ma(StoK,Period2);
# 5일 이평선
mav = ma(C,MAP);
#%k가 30을 하향돌파하면 BuySetup은 true
if Stok <= 30 Then{
BuySetup = true;
}
#%k가 30이상 상승하면 BuySetup은 false
if Stok >= 30 Then
BuySetup = false;
if sdate >= 시작일 then{
#골든크로스 발생하면 매수
if crossup(stok,stod) and C > mav and stok < 30 and sDate >= S and MarketPosition == 0 Then
buy("매수",OnClose,def, Floor(금액/C));
if crossup(C,mav) and StoK > StoD and stok < 30 and sDate >= S and MarketPosition == 0 Then
buy("매수2",OnClose,def, Floor(금액/C));
}
#매수포지션 진입 조건
if MarketPosition == 1 Then{
#매수포지션에 진입하면 BuySetup은 false
BuySetup = false;
}
#매도포지션 진입
#과매수구간 70이상에서 D,C발생시 매도
if CrossDown(stok,stod) and C < mav and stok > 70 Then{
ExitLong("매도1");
}
#과매수구간 80이상에서 5일이평선 이탈시 매도
if CrossDown(c,mav) and StoK < StoD and stok > 70 Then{
ExitLong("매도2");
}
# 손절선 이탈시 매도
if CrossDown(C,P1) Then{
ExitLong("손절");
}
#목표수익 3%
# SetStopProfittarget(3.0,PercentStop);
#목표수익 3%
SetStopLoss(5.0,PercentStop);
# 트레일링 스탑
# ExitLong("Btr",AtStop,highest(H,BarsSinceEntry)*0.96);
즐거운 하루되세요
> 뽄때 님이 쓴 글입니다.
> 제목 : 수식 검토 요청
> 아래의 식에서 일정한 날짜 이후로만 매수를 하고 싶습니다
특히나 변수로 지정해서 종목마다 변경할 수 있도록 부탁합니다
지금에서는 2015년 11월 13일 이후로 매수신호가 나오도록 하고 싶은데
그 이전에도 매수신호가 나오네요^^ 부탁합니다
Input : Period(25), Period1(6), Period2(6), MAP(5),금액(2100000),P1(25200),S(20151113);
var : StoK(0),StoD(0),mav(0),SH(0),cross(0),Dncnt(0);
Var : Lvalue(0), Hvalue(0),FK(0),BuySetup(true),ExitSetup1(false),ExitSetup2(false);
# 단순 스톡케스틱
Lvalue = Lowest(L, Period);
Hvalue = Highest(H, Period);
FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100;
StoK = ma(FK,Period1);
StoD = ma(StoK,Period2);
# 5일 이평선
mav = ma(C,MAP);
#%k가 30을 하향돌파하면 BuySetup은 true
if Stok <= 30 Then{
BuySetup = true;
}
#%k가 30이상 상승하면 BuySetup은 false
if Stok >= 30 Then
BuySetup = false;
#골든크로스 발생하면 매수
if crossup(stok,stod) and C > mav and stok < 30 and sDate >= S and MarketPosition == 0 Then
buy("매수",OnClose,def, Floor(금액/C));
if crossup(C,mav) and StoK > StoD and stok < 30 and sDate >= S and MarketPosition == 0 Then
buy("매수2",OnClose,def, Floor(금액/C));
#매수포지션 진입 조건
if MarketPosition == 1 Then{
#매수포지션에 진입하면 BuySetup은 false
BuySetup = false;
}
#매도포지션 진입
#과매수구간 70이상에서 D,C발생시 매도
if CrossDown(stok,stod) and C < mav and stok > 70 Then{
ExitLong("매도1");
}
#과매수구간 80이상에서 5일이평선 이탈시 매도
if CrossDown(c,mav) and StoK < StoD and stok > 70 Then{
ExitLong("매도2");
}
# 손절선 이탈시 매도
if CrossDown(C,P1) Then{
ExitLong("손절");
}
#목표수익 3%
# SetStopProfittarget(3.0,PercentStop);
#목표수익 3%
SetStopLoss(5.0,PercentStop);
# 트레일링 스탑
# ExitLong("Btr",AtStop,highest(H,BarsSinceEntry)*0.96);