커뮤니티
수식 문의
2018-11-30 23:11:52
224
글번호 124043
적합이평의 100일선을 돌파할때 매수, 20선 이탈할때 매도 라는 시스템트레이딩을 만드려고 하는데요
어떻게 수정하면 될까요.
그리고 아래 수식은 꼭 비교대상 종목이 있어야 조회가 되는데
시뮬레이션 차트에서 선택한 해당 종목을 대상으로 적용시키고자 한다면 어떻게 변경해야 할까요?
미리 감사드립니다.
INPUTS: PERIOD(100);
var : NOISE(0,data2), SIGNAL(0,data2), DIFF(0,data2), EFRATIO(0,data2),AMA(0,data2);
var : SMOOTH(1,data2), FASTEST(.6667,data2), SLOWEST(.0645,data2), ADAPTMA(0,data2);
if data2(index <= Period) Then{
DIFF = data2(ABS(C - C[1]));
ADAPTMA = data2(C);
}
IF data2(index > PERIOD) THEN {
DIFF = data2(ABS(C - C[1]));
SIGNAL = data2(ABS(C - C[PERIOD]));
NOISE = data2(accumn(DIFF, PERIOD));
EFRATIO = data2(SIGNAL / NOISE);
SMOOTH = data2(POWER(EFRATIO * (FASTEST - SLOWEST) + SLOWEST, 2));
ADAPTMA = ADAPTMA[1] + data2(SMOOTH * (C-ADAPTMA[1]));
}
AMA = ADAPTMA;
if data2(crossup(c,AMA*1.01)) Then
buy();
if data2(CrossDown(c,AMA*0.99)) Then
ExitLong();
답변 1
예스스탁 예스스탁 답변
2018-12-03 10:32:31
안녕하세요
예스스탁입니다.
올리신 수식은 data2기준으로 값을 계산해 data1에 신호를 발생하는 수식입니다.₩
기본차트(data1)이면 아래와 같이 변경하시면 됩니다.
Inputs: Period(100);
Vars: Noise(0), Signal(0), Diff(0), efRatio(0), Smooth(1), Fastest(0.6667), Slowest(0.0645), AdaptMA(0);
Diff = AbsValue(Close - Close[1]);
IF CurrentBar <= Period Then
AdaptMA = Close;
IF CurrentBar > Period Then Begin
Signal = AbsValue(Close - Close[Period]);
Noise = accumN(Diff, Period);
efRatio = Signal / Noise;
Smooth = Power(efRatio * (Fastest - Slowest) + Slowest, 2);
AdaptMA = AdaptMA[1] + Smooth * (Close - AdaptMA[1]);
End;
if crossup(c,AdaptMA) Then
buy("b");
if CrossDown(c,AdaptMA) Then
sell("s");
즐거운 하루되세요
> 레니아키 님이 쓴 글입니다.
> 제목 : 수식 문의
> 적합이평의 100일선을 돌파할때 매수, 20선 이탈할때 매도 라는 시스템트레이딩을 만드려고 하는데요
어떻게 수정하면 될까요.
그리고 아래 수식은 꼭 비교대상 종목이 있어야 조회가 되는데
시뮬레이션 차트에서 선택한 해당 종목을 대상으로 적용시키고자 한다면 어떻게 변경해야 할까요?
미리 감사드립니다.
INPUTS: PERIOD(100);
var : NOISE(0,data2), SIGNAL(0,data2), DIFF(0,data2), EFRATIO(0,data2),AMA(0,data2);
var : SMOOTH(1,data2), FASTEST(.6667,data2), SLOWEST(.0645,data2), ADAPTMA(0,data2);
if data2(index <= Period) Then{
DIFF = data2(ABS(C - C[1]));
ADAPTMA = data2(C);
}
IF data2(index > PERIOD) THEN {
DIFF = data2(ABS(C - C[1]));
SIGNAL = data2(ABS(C - C[PERIOD]));
NOISE = data2(accumn(DIFF, PERIOD));
EFRATIO = data2(SIGNAL / NOISE);
SMOOTH = data2(POWER(EFRATIO * (FASTEST - SLOWEST) + SLOWEST, 2));
ADAPTMA = ADAPTMA[1] + data2(SMOOTH * (C-ADAPTMA[1]));
}
AMA = ADAPTMA;
if data2(crossup(c,AMA*1.01)) Then
buy();
if data2(CrossDown(c,AMA*0.99)) Then
ExitLong();
다음글
이전글