input : tick(300),P(15);
var : S1(0),D1(0),TM(0),TF(0),idx(0),bars(0);
var : cnt(0),sum1(0),mav1(0);
Array : C1[100](0);
bars = floor(tick/BarInterval);
if Bdate != Bdate[1] Then
{
idx = 0;
D1 = sdate;
}
Else
idx = idx+1;
if D1 > 0 then
{
TF = idx%bars;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P] > 0 then{
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/P;
plot1(mav1);
}
}
위 수식으로 만들어진 선에
15이평선이 닿았을 때,
음성신호가 한번만 나오게 하고 싶습니다.
가능할까요?
답변 1
예스스탁
예스스탁 답변
2020-04-08 09:20:46
안녕하세요
예스스탁입니다.
playsound는 if조건이 만족하면 봉미완성이라도 계속 올리게 되어 있어
횟소조절은 수식으로 가능하지 않습니다.
소리출력함수(playsound)는 함수내에 지정한 경로의 wav파일이 구동됩니다.
아래는 예스트레이더에 기본으로 제공되는 wav파일을 지정했습니다.
원하시는 wav파일의 경로와 이름으로 수정하시기 바랍니다.
게시판에서 식을 복사할 경우 경로명 중 ₩의 폰트가 깨질수 있으므로
₩는 다시 타이핑하시기 바랍니다.
input : tick(300),P(15);
var : S1(0),D1(0),TM(0),TF(0),idx(0),bars(0);
var : cnt(0),sum1(0),mav1(0);
Array : C1[100](0);
bars = floor(tick/BarInterval);
if Bdate != Bdate[1] Then
{
idx = 0;
D1 = sdate;
}
Else
idx = idx+1;
if D1 > 0 then
{
TF = idx%bars;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P] > 0 then{
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/P;
plot1(mav1);
}
}
var1 = ma(C,15);
if crossup(var1,mav1) or CrossDown(var1,mav1) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
즐거운 하루되세요
> 견유학자 님이 쓴 글입니다.
> 제목 : 질문드립니다
> input : tick(300),P(15);
var : S1(0),D1(0),TM(0),TF(0),idx(0),bars(0);
var : cnt(0),sum1(0),mav1(0);
Array : C1[100](0);
bars = floor(tick/BarInterval);
if Bdate != Bdate[1] Then
{
idx = 0;
D1 = sdate;
}
Else
idx = idx+1;
if D1 > 0 then
{
TF = idx%bars;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P] > 0 then{
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/P;
plot1(mav1);
}
}
위 수식으로 만들어진 선에
15이평선이 닿았을 때,
음성신호가 한번만 나오게 하고 싶습니다.
가능할까요?