예스스탁
예스스탁 답변
2020-04-28 10:12:00
안녕하세요
예스스탁입니다.
1
Input : AtrMult(5.0);
Var : PosHigh(0), PosLow(0);
#진입이후 최고가
PosHigh = Highest(H,BarsSinceEntry+1);
#진입이후 최저가
PosLow = Lowest(L,BarsSinceEntry+1);
If MarketPosition <> 0 Then
{
#매수진입이후 최고가에서 atr의 5배만큼 하락하면 청산
exitlong("EL_추적ATR",Atstop,PosHigh-ATR(20)*AtrMult);
#매도진입이후 최저가에서 atr의 5배만큼 상승하면 청산
exitshort("ES_추적ATR",Atstop,PosLow+ATR(20)*AtrMult);
}
### ATR Trailing LX(매수청산)###
Inputs: ATRs(3);
Variables: PosHigh(0), ATRVal(0);
ATRVal = ATR(10) * ATRs;
#무포지션에서는 해당봉의 고가 저장
If BarsSinceEntry() == 0 Then
PosHigh = High;
#매수진입후
If MarketPosition() == 1 Then Begin
#기존값보다 더큰 고가가 발생하면
#최고가 갱신
If High > PosHigh Then
PosHigh = High;
#진입이후 최고가에서 atr의 3배만큼 하락하면 청산
ExitLong ("ATR", AtStop, PosHigh - ATRVal);
End
else#진입후 첫봉에서는 진입봉의 고가에서 atr의 3배만큼 하락하면 청산
ExitLong ("ATR eb", AtStop, High - ATRVal);
### ATR Trailing SX(매도청산)###
Inputs: ATRs(3);
Variables: PosLow(0), ATRVal(0);
ATRVal = ATR(10) * ATRs;
#무포지션에서는 해당봉의 저가 저장
If BarsSinceEntry() == 0 Then
PosLow = Low;
#매도진입 후
If MarketPosition() == -1 Then Begin
#기존값보다 더 작은 저가가 발생하면
#최저가 갱신
If Low < PosLow Then
PosLow = Low;
#진입이후 최저가에서 atr의 3배만큼 상승하면 청산
ExitShort ("ATR", AtStop, PosLow + ATRVal);
End
else#진입후 첫봉에서는 진입봉의 저가에서 atr의 3배만큼 상승하면 청산
ExitShort ("ATR eb", AtStop, Low + ATRVal);
3
상관계수는 2개의 데이타의 움직임의 동일성을 계산하는 부분입니다.
2개의 데이타로 시스템들의 일간수익률을 이용했다는 의미입니다.
예스랭귀지 함수중에 Correlation이란 함수가 있습니다.
2개의 데이타의 움직임에 따라 상관도를 리턴하는 함수입니다.
동일방향에 가까울수록 1에 가까운값, 역방향에 가까울수로 -1에 가까운 값을 리턴합니다.
해당 함수를 열어 수식 확인하실수 있습니다.
다만 프로그램에서 시스템간 상관도를 알려주는 부분이 없습니다.
논문의 내용은 각 시스템의 일간수익률을 별도로 발취해서
엑셀이나 별도의 다른 프로그램으로 계산한 내용일것 같습니다.
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 문의
> 1. 아래는 ATR 추적청산 관련하여 2010년 이전 답변입니다. 해석 부탁드립니다.
2. 최근에 사용하는 예제가 있다면 수식과 해석 부탁드립니다.
3. 예스트레이더를 사용한 대학원논문에서 시스템포트폴리오분석시 시스템간 상관계수를 비교
하던데(예를 들어 일간 수익률이라면서 더 이상 설명은 없고) 어떤 것을,
어떤 식을 사용하여 상관계수를 산출하는지 알려주세요
**********************************************************************************
Input : AtrMult(5.0);
Var : PosHigh(0), PosLow(0);
PosHigh = Highest(H,BarsSinceEntry+1);
PosLow = Lowest(L,BarsSinceEntry+1);
If MarketPosition <> 0 Then {
exitlong("EL_추적ATR",Atstop,PosHigh-ATR(20)*AtrMult);
exitshort("ES_추적ATR",Atstop,PosLow+ATR(20)*AtrMult);
}
### ATR Trailing LX(매수청산)###
Inputs: ATRs(3);
Variables: PosHigh(0), ATRVal(0);
ATRVal = ATR(10) * ATRs;
If BarsSinceEntry() == 0 Then
PosHigh = High;
If MarketPosition() == 1 Then Begin
If High > PosHigh Then
PosHigh = High;
ExitLong ("ATR", AtStop, PosHigh - ATRVal);
End
else
ExitLong ("ATR eb", AtStop, High - ATRVal);
### ATR Trailing SX(매도청산)###
Inputs: ATRs(3);
Variables: PosLow(0), ATRVal(0);
ATRVal = ATR(10) * ATRs;
If BarsSinceEntry() == 0 Then
PosLow = Low;
If MarketPosition() == -1 Then Begin
If Low < PosLow Then
PosLow = Low;
ExitShort ("ATR", AtStop, PosLow + ATRVal);
End
else
ExitShort ("ATR eb", AtStop, Low + ATRVal);