커뮤니티
적합이동평균의 사용?
2012-02-29 03:14:00
358
글번호 48352
예전 질문에서, 이동평균보다 크면 매수, 작으면 매도하는 시스템이 다음과 같았습니다.
if data2(crossup(c,ma(c,200)*1.01)) Then
buy();
if data2(CrossDown(c,ma(c,200)*0.99)) Then
ExitLong();
여기서 ma를 Ema 로 바꾸면 지수이평이 된다고 하셨습니다.
그러면 적합이동평균선(AMA)로 바꾸려면 어떻게 해야 합니까?
또, 삼각가중이동평균선으로 바꾸려면 어떻게 해야 합니까?
답변 1
예스스탁 예스스탁 답변
2012-02-29 10:42:29
안녕하세요
예스스탁입니다.
함수로 제공되는 이평함수는
단순이평(MA),지수이동평균(EMA),가중이평(WMA)
세가지 입니다. 나머지 평균법은 따로 수식으로 만들어 사용하셔야 합니다.
1. 삼각가중
Inputs: Length1(200);
Variables: TLen1(0,data2),TRIma1(0,data2);
TLen1 = data2(Ceiling((Length1 + 1) * .5));
TRIma1 = data2(ma(ma(C, TLen1), TLen1));
if data2(crossup(c,TLen1*1.01)) Then
buy();
if data2(CrossDown(c,TLen1*0.99)) Then
ExitLong();
2. 적합
INPUTS: PERIOD(200);
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);
DIFF = data2(ABS(CLOSE - CLOSE[1]));
IF CURRENTBAR <= PERIOD THEN
ADAPTMA = CLOSE;
IF CURRENTBAR > PERIOD THEN {
SIGNAL = data2(ABS(CLOSE - CLOSE[PERIOD]));
NOISE = data2(accumn(DIFF, PERIOD));
EFRATIO = data2(SIGNAL / NOISE);
SMOOTH = data2(POWER(EFRATIO * (FASTEST - SLOWEST) + SLOWEST, 2));
ADAPTMA = ADAPTMA[1] + data2(SMOOTH * (CLOSE - ADAPTMA[1]));
}
AMA = ADAPTMA;
if data2(crossup(c,AMA*1.01)) Then
buy();
if data2(CrossDown(c,AMA*0.99)) Then
ExitLong();
즐거운 하루되세요
> lsw2920 님이 쓴 글입니다.
> 제목 : 적합이동평균의 사용?
> 예전 질문에서, 이동평균보다 크면 매수, 작으면 매도하는 시스템이 다음과 같았습니다.
if data2(crossup(c,ma(c,200)*1.01)) Then
buy();
if data2(CrossDown(c,ma(c,200)*0.99)) Then
ExitLong();
여기서 ma를 Ema 로 바꾸면 지수이평이 된다고 하셨습니다.
그러면 적합이동평균선(AMA)로 바꾸려면 어떻게 해야 합니까?
또, 삼각가중이동평균선으로 바꾸려면 어떻게 해야 합니까?
이전글