토론실

시스템트레이딩

시스템수식과 전략 공유합니다.. 추천부탁이용^^

작성자
초파생 초파생
작성일
2023-01-19 11:50
조회
5

대부분 아시고 계시는 프로그램 일수도 있을것 같은데요.

전 초보이다보니 최근에야 얻게 되었습니다~

 소스전략을 분석해보면 이전략은 PIVOT 지표를 이용한 돌파전략과

역추세전략이 공존하는 당일청산 데이트레이딩 전략이네요.

(제 짧은 식견에 아이디어가 좋은듯 합니다.)

 보통 데이트레이딩에서 돌파전략이 수익이 많이 나오긴 하지만

횡보장이나 당일 변동성이 작은 장에서는 돌파전략들이 필터를 넣지 않은이상 손실이

발생한는 년도가 발생하는데 이전략은 PIVOT 저항선 지지선을 이용하여

변동성이 큰장은 돌파전략으로 이익을 먹고 횡보장에서도 저항선과 지지선을

이용하여 손실년도없이 작지만 어느정도 수익을 챙기는 전략으로 보입니다.

 전략에 대한 단점도 많이 존재할것 같은데요. 고수님들의 냉철한 분석 부탁드립니다. 

수익을 올리기위한 이전략에 대한 보완점이 있는데요.

이평선 추세 필터를 이용하거나 그날의 DayOpen/DayLow/DayHigh 등을 넣어서

필터를 만들면 좀더 수익이 나오는 수식이 되지 않을까 합니다.

 

추가적으로 이상적이고 수익결과가 얼마나 나올지는 모르지만 변동성체크나 횡보장필터로서

다른 돌파전략의 진입을 제어하기보다는 오히려 공격적으로 횡보장과 변동성이 적은장이라는

지표가 생성되면 수식에 If Else 를 처리하여 저항,지지의 비추세전략으로 전환하는 로직도 괜찮을듯 합니다.

 

아래의 프로그램을 수정해보니 다른 고수님들처럼 높은 수익은 아니지만

20001~2012 6월까지 총수익 250P/20P정도에 MDD : -20P정도 손실년도 없네요.(슬리피지 0.025PT*2, 수수료:0.003%*2)

저의 한계가 여기까지 인듯 합니다

 

------------------------------------------------------------------------------------

 

# 10분봉 연결선물지수 PIVOT

 

Input : AtrMult(4), StopPer(1.3);

Var : PIVOT(0),R1(0),R2(0),S1(0),S2(0),count(0),PosHigh(0),PosLow(0), Length(30);

 

#PIVOT

PIVOT = (DayHigh(1)+DayLow(1)+DayClose(1))/3;;

R1 = 2 * PIVOT-DayLow(1);

R2 = PIVOT + DayHigh(1)-DayLow(1);

S1 = 2 * PIVOT - DayHigh(1);

S2 = PIVOT - DayHigh(1)+DayLow(1);

 

count = 0 ;

for Value1 = 0 to 10 {

if EntryDate(Value1) == date then count = count + 1;

}

 

# 진입전략

If count < 1 and dayindex > 0 Then {

If CrossUp(C,R2) Then Buy("B1");

If CrossDown(C,S2) Then Sell("S1");

If CrossUp(C,S1) Then Buy("B2");

If CrossDown(C,R1) Then Sell("S2");

}

 

# 청산전략

PosHigh = Highest(H, BarsSinceEntry+1);

PosLow = Lowest(L, BarsSinceEntry+1);

If MarketPosition == 1 Then

ExitLong("EL1", AtStop, PosHigh-ATR(Length)*AtrMult);

If MarketPosition == -1 then

ExitShort("ES1", AtStop, PosLow+ATR(Length)*AtrMult);

 

SetStoploss(StopPer);

SetStopEndofday(150000);

전체 0