커뮤니티
부탁드립니다 !
2019-01-24 14:19:50
164
글번호 125524
항상 수고하심에 감사드립니다 ^^
1, 아래 수식에서 선이 발생되어 봉과 만날때(몸통으로 만나든 꼬리로 만나든 상관없이)
음성신호가 발생되도록 수정 부탁드립니다
2, 또 이때 이 만남봉과 이전의 기준이된 봉과의 거리(그동안 발생된 봉의 수)를 수치로
봉 근처에 표시할수있을까요?
예를들어 쌍바닥선이 완성된 경우라면 이전 저점자리의 봉과 현재 만남봉 사이에서 발생된
봉의 갯수가 총 몇개인지 알고자함입니다
가능하다면 수치는 좀 두껍게 부탁드리고요 색상도 수정가능했으면 좋겠습니다
감사합니다!!!
input : af(0.02), maxAF(0.2);
input : 텍스트출력(1),선굵기(2);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
}
if LL[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD[1],HT[1],HH[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(HH[1],2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLACK);
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,GRAY);
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,yellow);
}
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if HH[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD[1],LT[1],LL[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(LL[1],2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,RED);
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,yellow);
}
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,black);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
}
}
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,red);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
}
}
}
}
}
답변 1
예스스탁 예스스탁 답변
2019-01-25 13:55:34
안녕하세요
예스스탁입니다.
1
소리출력함수는 사용자분이 지정한 경로의 wav파일이 구동됩니다.
아래는 예스트레이더에 기본으로 제공되는 wav파일을 지정했습니다.
사용자분의 컴퓨터에 있는 wav파일을 지정하시면 되므로
원하시는 wav파일의 경로와 이름을 지정하시기 바랍니다.
게시판에서 식을 복사할 경우 경로명 중 ₩의 폰트가 깨질수 있으므로
₩는 다시 타이핑하시기 바랍니다.
2
수식내 내용 확인하시고 수식안에서 텍스트의 색상, 볼드처리 변경하셔야 합니다.
3
input : af(0.02), maxAF(0.2);
input : 텍스트출력(1),선굵기(2);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
Array : HI[20](0),LI[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
HI[0] = index;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
HI[cnt] = HI[cnt-1][1];
}
if LL[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD[1],HT[1],HH[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(HH[1],2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLUE);
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,GRAY);
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,CYAN);
idx = abs(LI[0]-LI[cnt]);
tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx99,CYAN);
Text_SetStyle(tx99,0,2);
Text_SetBold(tx99,1);
}
}
TL_New(sdate,stime,99999999,sdate,stime,0);
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
LI[0] = index;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
LI[cnt] = LI[cnt-1][1];
}
if HH[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD[1],LT[1],LL[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(LL[1],2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,RED);
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,yellow);
idx = abs(HI[0]-HI[cnt]);
tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx99,CYAN);
Text_SetStyle(tx99,0,2);
Text_SetBold(tx99,1);
}
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,black);
TL_Delete(TL3);
Text_Delete(tx88);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
idx = abs(HI[0]-HI[cnt]);
tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx88,CYAN);
Text_SetStyle(tx88,0,2);
Text_SetBold(tx88,1);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
}
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,red);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
idx = abs(LI[0]-LI[cnt]);
tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx88,CYAN);
Text_SetStyle(tx88,0,2);
Text_SetBold(tx88,1);
PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav");
}
}
}
}
}
즐거운 하루되세요
> 유로파54 님이 쓴 글입니다.
> 제목 : 부탁드립니다 !
> 항상 수고하심에 감사드립니다 ^^
1, 아래 수식에서 선이 발생되어 봉과 만날때(몸통으로 만나든 꼬리로 만나든 상관없이)
음성신호가 발생되도록 수정 부탁드립니다
2, 또 이때 이 만남봉과 이전의 기준이된 봉과의 거리(그동안 발생된 봉의 수)를 수치로
봉 근처에 표시할수있을까요?
예를들어 쌍바닥선이 완성된 경우라면 이전 저점자리의 봉과 현재 만남봉 사이에서 발생된
봉의 갯수가 총 몇개인지 알고자함입니다
가능하다면 수치는 좀 두껍게 부탁드리고요 색상도 수정가능했으면 좋겠습니다
감사합니다!!!
input : af(0.02), maxAF(0.2);
input : 텍스트출력(1),선굵기(2);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
}
if LL[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD[1],HT[1],HH[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(HH[1],2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLACK);
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,GRAY);
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,yellow);
}
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if HH[0] > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD[1],LT[1],LL[1],NumToStr((HH[1]-LL[1])/PriceScale,0)+NewLine+NumToStr(LL[1],2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,RED);
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,MAGENTA);
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,yellow);
}
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD[0],HT[0],HH[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(HH[0],2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,black);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
}
}
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD[0],LT[0],LL[0],NumToStr((HH[0]-LL[0])/PriceScale,0)+NewLine+NumToStr(LL[0],2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,red);
TL_Delete(TL3);
Condition3 = false;
for cnt = 1 to 19
{
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,yellow);
}
}
}
}
}