커뮤니티
청산전략 부탁드립니다.
2019-10-16 13:58:33
200
글번호 132821
수고 많으십니다.
청산전략만 다음 조건으로 작성 부탁드립니다.
진입은 수동으로 진입한 상태에서, 청산만 시스템으로 했으면 합니다.
진입갯수: 시스템 적용전 진입갯수 입력변수로 설정
매수(2), 매도(4) 등
매도진입 청산전략:
청산 1) 2분봉에서 현재가 종가가 2분봉 5일선값보다 클 때 50% 분할청산하고,
청산시점으로부터 3개봉이상 5일선값보다 큰상태가 지속되면 전량 청산
청산 2) 2분봉에서 2분봉 5일선이 상향이 2개봉 이상 진행될 때, 50% 분할청산하고
청산시점으로부터 3개봉이상 추가로 5일선이 상향으로 진행될 때, 전량 청산
청산 3) 수익이 10틱이상이면 분할청산,
즉 10틱에 1개, 추가 5틱에 1개, 추가 5틱에 5개 등으로 잔고(0)가 될 때까지
5틱 간격으로 청산
위와 같이 매도진입청산전략 작성 부탁드리며, 매수진입 청산전략은 반대로 부탁드립니다.
시스템작성 논리에 맞춰 조금 변형해도 무관합니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2019-10-17 11:31:29
안녕하세요
예스스탁입니다.
차트에 진입신호가 없으면 청산신호가 발생하지 않습니다.
이런 이유로 청산식만 있는 전략은 차트에 적용이 되지 못합니다.
수동으로 진입하는 내용을 시스템에서 자동으로 인지하지 못하므로
차트의 과거봉에 가짜로 진입신호를 만들어 주셔야 합니다.
과거 특정봉에 진입신호를 만들고
지정한날짜 지정한 시간이후에 청산신호가 발생하게 하셔야 합니다
input : Position(1),매수(2),매도(4),청산시작일(20191017),청산시작시간(90000);
var : mav(0);
if index == 0 and position == 1 Then
buy("b",OnClose,def,매수);
if index == 0 and position == -1 Then
sell("s",OnClose,def,매도);
if sdate > 청산시작일 and stime >= 청산시작시간 Then
Condition1 = true;
mav = ma(C,5);
if Condition1 == true then
{
if MarketPosition == -1 then
{
ExitShort("sp",atlimit,iff(MaxContracts == CurrentContracts,EntryPrice-PriceScale*10,LatestExitPrice(0)-PriceScale*5),"",1,2);
if CurrentContracts == MaxContracts then
{
if c > mav Then
{
var1 = index;
ExitShort("sx11",OnClose,def,"",Floor(MaxContracts*0.5),1);
}
if countif(mav>mav[1],2) == 2 Then
{
var2 = index;
ExitShort("sx21",OnClose,def,"",Floor(MaxContracts*0.5),1);
}
}
if CurrentContracts < MaxContracts then
{
if LatestExitName(0) == "sx11" and index == var1+3 and countif(C>var1,3) == 3 Then
ExitShort("sx12");
if LatestExitName(0) == "sx21" and index >= var2+3 and countif(mav > mav[1],index-var2) == 3 Then
ExitShort("sx22");
}
}
if MarketPosition == 1 then
{
ExitLong("bp",atlimit,iff(MaxContracts == CurrentContracts,EntryPrice+PriceScale*10,LatestExitPrice(0)+PriceScale*5),"",1,2);
if CurrentContracts == MaxContracts then
{
if c < mav Then
{
var3 = index;
ExitLong("bx11",OnClose,def,"",Floor(MaxContracts*0.5),1);
}
if countif(mav<mav[1],2) == 2 Then
{
var4 = index;
ExitLong("bx21",OnClose,def,"",Floor(MaxContracts*0.5),1);
}
}
if CurrentContracts < MaxContracts then
{
if LatestExitName(0) == "bx11" and index == var3+3 and countif(C<var1,3) == 3 Then
ExitLong("bx12");
if LatestExitName(0) == "bx21" and index >= var4+3 and countif(mav < mav[1],index-var4) == 3 Then
Exitlong("bx22");
}
}
}
즐거운 하루되세요
> 팅키 님이 쓴 글입니다.
> 제목 : 청산전략 부탁드립니다.
> 수고 많으십니다.
청산전략만 다음 조건으로 작성 부탁드립니다.
진입은 수동으로 진입한 상태에서, 청산만 시스템으로 했으면 합니다.
진입갯수: 시스템 적용전 진입갯수 입력변수로 설정
매수(2), 매도(4) 등
매도진입 청산전략:
청산 1) 2분봉에서 현재가 종가가 2분봉 5일선값보다 클 때 50% 분할청산하고,
청산시점으로부터 3개봉이상 5일선값보다 큰상태가 지속되면 전량 청산
청산 2) 2분봉에서 2분봉 5일선이 상향이 2개봉 이상 진행될 때, 50% 분할청산하고
청산시점으로부터 3개봉이상 추가로 5일선이 상향으로 진행될 때, 전량 청산
청산 3) 수익이 10틱이상이면 분할청산,
즉 10틱에 1개, 추가 5틱에 1개, 추가 5틱에 5개 등으로 잔고(0)가 될 때까지
5틱 간격으로 청산
위와 같이 매도진입청산전략 작성 부탁드리며, 매수진입 청산전략은 반대로 부탁드립니다.
시스템작성 논리에 맞춰 조금 변형해도 무관합니다.
감사합니다.
다음글
이전글