커뮤니티
아래 문의 답변에 대로 해도 안되는데요.
2012-11-12 16:36:08
266
글번호 56438
아래 문의 남겼는데 그대로 해도 안되요..
수정해서 올려주시면 안될까요.
그래도 복사해서 붙여 넣기해서 사용해볼려고요..
공부는천천히 해봐야겟어요..
부탁드려요.
답변 1
예스스탁 예스스탁 답변
2012-11-12 18:24:43
안녕하세요
예스스탁입니다.
수식에 당일청산 함수나
시스템 트레이딩 설정창의
강제청산 탭에서 당일청산에 체크하지 않고
적용하셔야 합니다.
Input : Period(6), ST(90000), ET(90200), TP3(1503);
Input : BigProfit1(2.25), BigProfit2(1.25), AtrMult1(1), AtrMult2(3), PATR1(17), PATR2(168);
Input : AtrMult3(14), AtrMult4(13), PATR3(163), PATR4(38);
Var : AtrVal1(0), AtrVal2(0), posHigh(0), posLow(0);
Var : AtrVal3(0), AtrVal4(0);
Var: Var1(0), Var2(0), Var3(0);
Var1 = ema(C, Period);
Var2 = TimeHigh(ST,ET); // 시간범위내의 최고가
Var3 = TimeLow(ST,ET); // 시간범위내의 최저가
Condition1 = MarketPosition(1) == 1;
Condition2 = MarketPosition(1) == -1;
if stime > 090300 or stime < 50000 then {
if Condition1 == false and MarketPosition <> 1 and Var1 > Var2 Then
Buy("매수", atstop, Var2);
if Condition2 == false and MarketPosition <> -1 and Var1 < Var3 Then
Sell("매도", atstop, Var3);
}
SetStopTrailing(0.35, 0.95, pointstop, 1);
/*진입후 일정값 이상 수익이 발생하면 ATR Trailing Stop 실행*/
#ATR Big profit 스탑
ATRVal1 = ATR(PATR1) * AtrMult1;
ATRVal2 = ATR(PATR2) * AtrMult2;
If BarsSinceEntry() == 0 Then PosHigh = High;
If Marketposition == 1 Then {
If High > PosHigh Then PosHigh = High;
if PosHigh > entryPrice(0)+bigProfit1 Then
exitlong("BigStopEL", atstop, PosHigh - ATRVal1);
}
If BarsSinceEntry() == 0 Then PosLow = Low;
If MarketPosition() == -1 Then {
If Low < PosLow Then PosLow = Low;
if PosLow < entryPrice(0)-bigProfit2 Then
exitshort("BigStopES", atstop, PosLow + ATRVal2);
}
/* ATR을 이용한 Stop Loss */
# ATR Stop Loss
ATRVal3 = ATR(PATR3) * AtrMult3;
ATRVal4 = ATR(PATR4) * AtrMult4;
If Marketposition == 1 Then
exitlong("AtrStopEL", atstop, EntryPrice-ATRVal3);
If Marketposition == -1 Then
exitshort("AtrStopES", atstop, EntryPrice+ATRVal4);
즐거운 하루되세요
> 마인드관리 님이 쓴 글입니다.
> 제목 : 아래 문의 답변에 대로 해도 안되는데요.
>
아래 문의 남겼는데 그대로 해도 안되요..
수정해서 올려주시면 안될까요.
그래도 복사해서 붙여 넣기해서 사용해볼려고요..
공부는천천히 해봐야겟어요..
부탁드려요.
다음글
이전글