예스스탁
예스스탁 답변
2023-09-13 11:42:48
안녕하세요
예스스탁입니다.
소리출력함수(playsound)는 함수내에 지정한 경로의 wav파일이 구동됩니다.
아래는 예스트레이더에 기본으로 제공되는 wav파일을 지정했습니다.
원하시는 wav파일의 경로와 이름으로 수정하시기 바랍니다.
게시판에서 식을 복사할 경우 경로명 중 ₩의 폰트가 깨질수 있으므로
₩는 다시 타이핑하시기 바랍니다.
input : 타주기분(30),n(10),nth(5);
input : 색상1(Green),굵기1(1);
input : 색상2(Green),굵기2(1);
input : 색상3(Green),굵기3(1);
input : 색상4(Green),굵기4(1);
input : 색상5(Green),굵기5(1);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),OO(0),HH(0),LL(0),CC(0);
var : ii(0),i1(0),i2(0),tempmax(0),tempi(0);
Array : RR[200](0),MM[200](0),DI[50](0);
Array : tempRR[200](0),tempMM[200](0),NTHVALUE[200](0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
ii = ii+1;
if Bdate != Bdate[1] Then
{
DI[0] = ii;
for cnt = 1 to 49
{
Di[cnt] = Di[cnt-1][1];
}
}
OO = O;
HH = H;
LL = L;
RR[0] = 0;
MM[0] = 0;
for cnt = 1 to 199
{
RR[cnt] = RR[cnt-1][1];
MM[cnt] = MM[cnt-1][1];
tempRR[cnt] = RR[cnt];
tempMM[cnt] = MM[cnt];
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
CC = C;
RR[0] = abs(OO-CC);
MM[0] = (OO+CC)/2;
tempRR[0] = RR[0];
tempMM[0] = MM[0];
if D1[n] > 0 Then
{
if Bdate != Bdate[1] Then
{
For i1 = 1 to nth
{
tempmax = -1;
For i2 = 1 to ii-DI[n]
{
if (tempRR[i2] >= tempmax ) then
{
tempmax = tempRR[i2];
tempi = i2;
}
}
NTHVALUE[i1] = tempMM[tempi];
tempRR[tempi] = -1;
}
}
Plot1(NTHVALUE[1]);
Plot2(NTHVALUE[2]);
Plot3(NTHVALUE[3]);
Plot4(NTHVALUE[4]);
Plot5(NTHVALUE[5]);
Plot6(NTHVALUE[1]);
Plot7(NTHVALUE[2]);
Plot8(NTHVALUE[3]);
Plot9(NTHVALUE[4]);
Plot10(NTHVALUE[5]);
}
}
if (H >= NTHVALUE[1]-PriceScale*3 and H[1] < NTHVALUE[1]-PriceScale*3) or
(L <= NTHVALUE[1]+PriceScale*3 and L[1] > NTHVALUE[1]+PriceScale*3) Then
{
TL1 = TL_new(sDate,sTime,0,sDate,stime,9999999999);
TL_SetColor(TL1,색상1);
TL_SetSize(TL1,굵기1);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if (H >= NTHVALUE[2]-PriceScale*3 and H[1] < NTHVALUE[2]-PriceScale*3) or
(L <= NTHVALUE[2]+PriceScale*3 and L[1] > NTHVALUE[2]+PriceScale*3) Then
{
TL1 = TL_new(sDate,sTime,0,sDate,stime,9999999999);
TL_SetColor(TL2,색상2);
TL_SetSize(TL2,굵기2);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if (H >= NTHVALUE[3]-PriceScale*3 and H[1] < NTHVALUE[3]-PriceScale*3) or
(L <= NTHVALUE[3]+PriceScale*3 and L[1] > NTHVALUE[3]+PriceScale*3) Then
{
TL1 = TL_new(sDate,sTime,0,sDate,stime,9999999999);
TL_SetColor(TL3,색상3);
TL_SetSize(TL3,굵기3);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if (H >= NTHVALUE[4]-PriceScale*3 and H[1] < NTHVALUE[4]-PriceScale*3) or
(L <= NTHVALUE[4]+PriceScale*3 and L[1] > NTHVALUE[4]+PriceScale*3) Then
{
TL1 = TL_new(sDate,sTime,0,sDate,stime,9999999999);
TL_SetColor(TL4,색상4);
TL_SetSize(TL4,굵기4);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
if (H >= NTHVALUE[5]-PriceScale*3 and H[1] < NTHVALUE[5]-PriceScale*3) or
(L <= NTHVALUE[5]+PriceScale*3 and L[1] > NTHVALUE[5]+PriceScale*3) Then
{
TL1 = TL_new(sDate,sTime,0,sDate,stime,9999999999);
TL_SetColor(TL5,색상5);
TL_SetSize(TL5,굵기5);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
즐거운 하루되세요
> 유로파54 님이 쓴 글입니다.
> 제목 : 문의드립니다!
> 안녕하세요!
아래수식에서 Plot1,2,3,4,5가 캔들과 만났을때 각각 세로선과 알람신호가 발생토록 부탁드립니다
* 1, 세로선의 두께와 색상은 사용자지정이 가능토록 해주시고
2, 세로선의 발생시점은 국선기준 만나기 3틱전에 발생토록 부탁드립니다
감사합니다111
-----------------------------------------------------------------------------------
input : 타주기분(30),n(10),nth(5);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),OO(0),HH(0),LL(0),CC(0);
var : ii(0),i1(0),i2(0),tempmax(0),tempi(0);
Array : RR[200](0),MM[200](0),DI[50](0);
Array : tempRR[200](0),tempMM[200](0),NTHVALUE[200](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
ii = ii+1;
if Bdate != Bdate[1] Then
{
DI[0] = ii;
for cnt = 1 to 49
{
Di[cnt] = Di[cnt-1][1];
}
}
OO = O;
HH = H;
LL = L;
RR[0] = 0;
MM[0] = 0;
for cnt = 1 to 199
{
RR[cnt] = RR[cnt-1][1];
MM[cnt] = MM[cnt-1][1];
tempRR[cnt] = RR[cnt];
tempMM[cnt] = MM[cnt];
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
CC = C;
RR[0] = abs(OO-CC);
MM[0] = (OO+CC)/2;
tempRR[0] = RR[0];
tempMM[0] = MM[0];
if D1[n] > 0 Then
{
if Bdate != Bdate[1] Then
{
For i1 = 1 to nth
{
tempmax = -1;
For i2 = 1 to ii-DI[n]
{
if (tempRR[i2] >= tempmax ) then
{
tempmax = tempRR[i2];
tempi = i2;
}
}
NTHVALUE[i1] = tempMM[tempi];
tempRR[tempi] = -1;
}
}
Plot1(NTHVALUE[1]);
Plot2(NTHVALUE[2]);
Plot3(NTHVALUE[3]);
Plot4(NTHVALUE[4]);
Plot5(NTHVALUE[5]);
Plot6(NTHVALUE[1]);
Plot7(NTHVALUE[2]);
Plot8(NTHVALUE[3]);
Plot9(NTHVALUE[4]);
Plot10(NTHVALUE[5]);
}
}