커뮤니티
시스템식 질문이요.....
2015-09-11 13:01:29
128
글번호 90258
Trade Station의 이지랭귀지 구현 전략인데요
이걸 예스에서도 사용하고 싶은데
조금 다른 것 같아서 질문 드립니다.
로직은 다음과 같습니다.
1) 4개 봉의 종가를 이용하여 단기 이동 평균을 계산. 9개의 봉으로는 중기, 18개의 봉으로는 장기 이동평균 계산
2) 단기이동평균 > 중기 이동평균 > 장기 이동평균의 조건이 충족되면 상승으로 간주
3) 단기이동평균 < 중기 이동평균 < 장기 이동평균의 조건이 충족되면 하락추세로 간주
4) 4개 봉의 지수이동평균 구하기
5) 첫번째 봉에서 현재봉의 시가에 이전 8개의 봉의 변동성에 2를 곱한 값을 더해 상방 밴드로 정의
6) 현재봉의 시가에 이전 8개의 봉의 변동성에 2를 곱한 값을 빼서 하방 밴드로 정의
7) 지수이동평균이 상단밴드를 돌파하면, 상단밴드는 하단밴드가 되고, 새 하단밴드에 이전 8개의 봉의 변동성의 2배 값을 더하여 새로운 상단 밴드를 만든다.
8) 지수 이동평균이 하단 밴드를 돌파하면, 하단밴드는 상단밴드가 되고, 새 상단밴드에 이전 8개 봉의 변동성의 2배값을 빼서 새로운 하단밴드를 만든다.
9) 시장이 상승추세이고, 지수 이동평균이 상단 밴드를 돌파하면 그봉의 종가에 매수한다.
10) 시장이 하락추세이고, 지수 이동평균이 하단 밴드를 돌파하면 그 봉의 종가에 매도한다.
11) 가격이 하단 밴드에 닿으면 모든 매수 포지션을 청산한다
12) 가격이 상단 밴드에 닿으면 모든 매도포지션을 청산한다.
13) Money management protective stop을 적용한다
이걸 구현한 이지랭귀지의 전략식 입니다.
Inputs: XMALen(4), VolLen(8), MultFact(2);
Vars: TopBand(0), BotBand(0), XAvg(0), FastMovAvg(0), MedMovAvg(0), SlowMovAvg(0), BullTrend(False), BearTrend(False);
If BarNumber = 1 then Begin
TopBand = O + Volatility(VolLen) * MultFact;
BotBand = o - Volatilyty(VolLen) * MultFact;
End;
XAvg = Average(C, XMALen);
FastMovAvg = Average(C, 4);
MedMovAvg = Average(C, 9);
SlowMovAvg = Average(C, 18);
BullTrend = FastMovAvg > MedMovAvg and MedMovAvg > SlowMovAvg
BearTrend = FastMovAvg < MedMovAvg and MedMovAvg < SlowMovAvg
If XAvg > TopBand and BullTrend then Begin
Buy this bar at C;
BotBand = TopBand;
TopBand = TopBand + V(VolLen) * MultFact;
end;
If XAvg < TopBand and BearTrend then Begin
Sell this bar at C;
TopBand = BotBand;
BotBand = BotBand - V(VolLen) * MultFact;
end;
If MarketPosition = 1 Then
ExitLong next bar at BotBand stop;
If MarketPosition = -1 Then
ExitShort nextbar at TopBand stop;
아직 예스랭귀지의 모든것이 생소하다보니 너무 어렵게만 느껴집니다.
이것을 예스랭귀지로 바꾸어주신다면 공부하는데 정말 큰 도움이 될것 같습니다.
감사합니다 !
답변 1
예스스탁 예스스탁 답변
2015-09-11 13:43:18
안녕하세요
예스스탁입니다.
Inputs: XMALen(4), VolLen(8), MultFact(2);
Vars: TopBand(0), BotBand(0), XAvg(0), FastMovAvg(0), MedMovAvg(0), SlowMovAvg(0), BullTrend(False), BearTrend(False);
if CurrentBar == 1 then{
TopBand = O + ATR(VolLen) * MultFact;
BotBand = o - ATR(VolLen) * MultFact;
}
XAvg = ema(C, XMALen);
FastMovAvg = ma(C, 4);
MedMovAvg = ma(C, 9);
SlowMovAvg = ma(C, 18);
BullTrend = FastMovAvg > MedMovAvg and MedMovAvg > SlowMovAvg;
BearTrend = FastMovAvg < MedMovAvg and MedMovAvg < SlowMovAvg;
If XAvg > TopBand and BullTrend then Begin
Buy();
BotBand = TopBand;
TopBand = TopBand + ATR(VolLen) * MultFact;
end;
If XAvg < TopBand and BearTrend then Begin
Sell();
TopBand = BotBand;
BotBand = BotBand - ATR(VolLen) * MultFact;
end;
If MarketPosition == 1 Then
ExitLong("bx",AtStop,BotBand);
If MarketPosition == -1 Then
ExitShort("sx",AtStop,TopBand);
즐거운 하루되세요
> 이뚱이 님이 쓴 글입니다.
> 제목 : 시스템식 질문이요.....
> Trade Station의 이지랭귀지 구현 전략인데요
이걸 예스에서도 사용하고 싶은데
조금 다른 것 같아서 질문 드립니다.
로직은 다음과 같습니다.
1) 4개 봉의 종가를 이용하여 단기 이동 평균을 계산. 9개의 봉으로는 중기, 18개의 봉으로는 장기 이동평균 계산
2) 단기이동평균 > 중기 이동평균 > 장기 이동평균의 조건이 충족되면 상승으로 간주
3) 단기이동평균 < 중기 이동평균 < 장기 이동평균의 조건이 충족되면 하락추세로 간주
4) 4개 봉의 지수이동평균 구하기
5) 첫번째 봉에서 현재봉의 시가에 이전 8개의 봉의 변동성에 2를 곱한 값을 더해 상방 밴드로 정의
6) 현재봉의 시가에 이전 8개의 봉의 변동성에 2를 곱한 값을 빼서 하방 밴드로 정의
7) 지수이동평균이 상단밴드를 돌파하면, 상단밴드는 하단밴드가 되고, 새 하단밴드에 이전 8개의 봉의 변동성의 2배 값을 더하여 새로운 상단 밴드를 만든다.
8) 지수 이동평균이 하단 밴드를 돌파하면, 하단밴드는 상단밴드가 되고, 새 상단밴드에 이전 8개 봉의 변동성의 2배값을 빼서 새로운 하단밴드를 만든다.
9) 시장이 상승추세이고, 지수 이동평균이 상단 밴드를 돌파하면 그봉의 종가에 매수한다.
10) 시장이 하락추세이고, 지수 이동평균이 하단 밴드를 돌파하면 그 봉의 종가에 매도한다.
11) 가격이 하단 밴드에 닿으면 모든 매수 포지션을 청산한다
12) 가격이 상단 밴드에 닿으면 모든 매도포지션을 청산한다.
13) Money management protective stop을 적용한다
이걸 구현한 이지랭귀지의 전략식 입니다.
Inputs: XMALen(4), VolLen(8), MultFact(2);
Vars: TopBand(0), BotBand(0), XAvg(0), FastMovAvg(0), MedMovAvg(0), SlowMovAvg(0), BullTrend(False), BearTrend(False);
If BarNumber = 1 then Begin
TopBand = O + Volatility(VolLen) * MultFact;
BotBand = o - Volatilyty(VolLen) * MultFact;
End;
XAvg = Average(C, XMALen);
FastMovAvg = Average(C, 4);
MedMovAvg = Average(C, 9);
SlowMovAvg = Average(C, 18);
BullTrend = FastMovAvg > MedMovAvg and MedMovAvg > SlowMovAvg
BearTrend = FastMovAvg < MedMovAvg and MedMovAvg < SlowMovAvg
If XAvg > TopBand and BullTrend then Begin
Buy this bar at C;
BotBand = TopBand;
TopBand = TopBand + V(VolLen) * MultFact;
end;
If XAvg < TopBand and BearTrend then Begin
Sell this bar at C;
TopBand = BotBand;
BotBand = BotBand - V(VolLen) * MultFact;
end;
If MarketPosition = 1 Then
ExitLong next bar at BotBand stop;
If MarketPosition = -1 Then
ExitShort nextbar at TopBand stop;
아직 예스랭귀지의 모든것이 생소하다보니 너무 어렵게만 느껴집니다.
이것을 예스랭귀지로 바꾸어주신다면 공부하는데 정말 큰 도움이 될것 같습니다.
감사합니다 !