예스스탁
예스스탁 답변
2016-04-08 11:48:34
안녕하세요
예스스탁입니다.
input : 시작일(20160315), 시간(090000);
Input : Period(25), Period1(6), Period2(6), MAP(5),금액(1000000),P1(25200), P2(1000000);
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가 20을 하향돌파하면 BuySetup은 true
if Stok <= 20 Then{
BuySetup = true;
}
#%k가 30이상 상승하면 BuySetup은 false
if Stok >= 20 Then
BuySetup = false;
if sdate >= 시작일 and sTime >= 시간 then{
#골든크로스 발생하면 매수
if crossup(stok,stod) and C > mav and stok < 30 and MarketPosition == 0 Then
buy("매수",OnClose,def, Floor(금액/C));
if crossup(C,mav) and StoK > StoD and stok < 30 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");
}
#과매수구간 70이상에서 5일이평선 이탈시 매도
if CrossDown(c,mav) and StoK < StoD and stok > 70 Then{
ExitLong("매도2");
}
# 손절선 이탈시 매도
if CrossDown(C,P1) Then{
ExitLong("손절");
}
# 순간적으로 전고점 도달시 익절
ExitLong("익절2",atlimit,P2);
#목표수익 3%
# SetStopProfittarget(3.0,PercentStop);
#목표수익 3%
SetStopLoss(5.0,PercentStop);
# 트레일링 스탑
# ExitLong("Btr",AtStop,highest(H,BarsSinceEntry)*0.96);
if MarketPosition == 1 Then
ExitLong("bx",AtStop,lowest(L,10)[BarsSinceEntry]);
즐거운 하루되세요
> 뽄때 님이 쓴 글입니다.
> 제목 : 수식 추가 요청
> 안녕하세요 항상 많은 도움을 주셔서 감사합니다
아래의 식에서 손절식을 하나 추가 하고자 합니다
"매수", 또는 "매수2"로 매수가 된 이후에 손절을 하나 추가하는데..
매수되기 이전의 10개 캔들내에서 최저점을 인식하고, 이값을 하향이탈하면 손절하는 식을 추가하고자 합니다. 물론 매수된 캔들도 포함해서 말입니다.
수식 부탁드립니다.
input : 시작일(20160315), 시간(090000);
Input : Period(25), Period1(6), Period2(6), MAP(5),금액(1000000),P1(25200), P2(1000000);
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가 20을 하향돌파하면 BuySetup은 true
if Stok <= 20 Then{
BuySetup = true;
}
#%k가 30이상 상승하면 BuySetup은 false
if Stok >= 20 Then
BuySetup = false;
if sdate >= 시작일 and sTime >= 시간 then{
#골든크로스 발생하면 매수
if crossup(stok,stod) and C > mav and stok < 30 and MarketPosition == 0 Then
buy("매수",OnClose,def, Floor(금액/C));
if crossup(C,mav) and StoK > StoD and stok < 30 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");
}
#과매수구간 70이상에서 5일이평선 이탈시 매도
if CrossDown(c,mav) and StoK < StoD and stok > 70 Then{
ExitLong("매도2");
}
# 손절선 이탈시 매도
if CrossDown(C,P1) Then{
ExitLong("손절");
}
# 순간적으로 전고점 도달시 익절
ExitLong("익절2",atlimit,P2);
#목표수익 3%
# SetStopProfittarget(3.0,PercentStop);
#목표수익 3%
SetStopLoss(5.0,PercentStop);
# 트레일링 스탑
# ExitLong("Btr",AtStop,highest(H,BarsSinceEntry)*0.96);