커뮤니티

ALMA 수식에 대한 문의 입니다.

프로필 이미지
jhs0713
2026-03-03 10:48:06
34
글번호 230835

대표님 강의를 청취하고 초기에 트레이딩 뷰의 alma 지표식을 테스트 삼아 AI코딩으로 변환해서 이용 해보았습니다.

다시 확인하고 있는 과정에서 잘 되어 않아서 문의 드립니다.

.........

커뮤니티에서 ALMA 지표식 코딩을 찾았습니다.

이것으로 시스템식으로 변경화는 과정을 봐주세요~~ 감사합니다.

//ALMA Smoothing

input : smooth(1),length1(25);

var : src(0),offset(0),sigma1(0),pchange(0),avpchange(0);

var : mm(0),s(0),norm(0),sum(0),i(0),weight(0);

var : r(0),rsiL(False),rsiS(False);


src = close;

offset = 0.85;

sigma1 = 7;

pchange = (src-src[smooth]) / src * 100;


mm = offset * (length1 - 1);

s = length1 / sigma1;

norm = 0.0;

sum = 0.0;

for i = 0 to length1 - 1

{

weight = exp(-1 * pow(i - mm, 2) / (2 * pow(s, 2)));

norm = norm + weight;

sum = sum + pchange[length1 - i - 1] * weight;

}

avpchange = sum / norm;



//RSI

r = rsi(14);

rsiL = r > r[1];

rsiS = r < r[1];


var : length11(0),src1(0),momm(0),sm1(0),sm2(0),chandeMO(0);

var : m1(0),m2(0),cL(False),cS(False);


length11 = 9;

src1 = close;

momm = src1-src1[1];


m1 = IFF(momm>=0,momm,0);

m2 = IFF(momm>=0,0,-momm);

sm1 = AccumN(m1, length11);

sm2 = AccumN(m2, length11);

chandeMO = 100 * (sm1-sm2)/(sm1+sm2);

cL = chandeMO > chandeMO[1];

cS = chandeMO < chandeMO[1];



input : length(14);

input : adaptive(true);

input : volatilityPeriod(20);

var : gma(0),sumOfWeights(0),sigma(0),value(0),gmaColor(0),Emav(0);

var : tx(0);


gma = 0.0;

sumOfWeights = 0.0;

sigma = iff(adaptive , std(close, volatilityPeriod) , 1.0);


for i = 0 to length - 1

{

weight = exp(-pow(((i - (length - 1)) / (2 * sigma)), 2) / 2);

value = highest(avpchange, i + 1) + lowest(avpchange, i + 1);

gma = gma + (value * weight);

sumOfWeights = sumOfWeights + weight;

}

gma = (gma / sumOfWeights) / 2;

gma = ema(gma, 7);

gmaColor = iff(avpchange >= gma , Green , Red);


emav = ema(close, 7);


//plot1(emav, "Gaussian Moving Average",gmaColor);



if CrossUp(avpchange,gma) Then

{

Buy("UP",OnClose,Def,1);

}



if CrossDown(avpchange,gma) Then

{

Sell("DW02",OnClose,Def,2);

}

시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2026-03-03 15:45:38

안녕하세요 예스스탁입니다. 시스템식으로 정상적으로 작성되었습니다. Buy("UP",OnClose,Def,1); Sell("DW02",OnClose,Def,2); 매도진입은 수량이 2개로 지정되어 있습니다. 매수와 같이 1개이시면 1로 지정하시면 됩니다. 즐거운 하루되세요
프로필 이미지

jhs0713

2026-03-03 16:02:29

nono nono요
실행시 논리값(참/거짓)이나 논리표현식이 와야 합니다. 라는 경고가 뜨고 작동되지 않습니다
프로필 이미지

jhs0713

2026-03-03 16:04:45

한참을 기대하고 기다렸습니다.ㅠㅠ 이렇게 변경시 var : i(0),mm(0),s(0),norm(0),sum(0),weight(0); var : r(0),rsiL(1),rsiS(1);//0: true, 1: false var : length11(0),src1(0),momm(0); var : m1(0),m2(0),sm1(0),sm2(0),chandeMO(0),cL(1),cS(1);//0: true, 1: false 검증에서 연산자 앞뒤 두 데이터의 형태가 같아야 합니다. 가 4줄 발생합니다