커뮤니티

알람소리가 나게 수정 좀 부탁 드립니다.

프로필 이미지
매버릭
2020-10-13 18:48:33
651
글번호 143066
답변완료
안녕하세요? 수고 많으십니다. 첨부화일에서 패턴종류(6번)이 발생했을 때 놓치지 않도록 알람소리를 발생시키는 식을 좀 추가해 주시면 대단히 감사하겠습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-10-14 13:19:23

안녕하세요 예스스탁입니다. 소리출력함수(playsound)는 함수내에 지정한 경로의 wav파일이 구동됩니다. 아래는 예스트레이더에 기본으로 제공되는 wav파일을 지정했습니다. 원하시는 wav파일의 경로와 이름으로 수정하시기 바랍니다. 게시판에서 식을 복사할 경우 경로명 중 ₩의 폰트가 깨질수 있으므로 ₩는 다시 타이핑하시기 바랍니다. Input:변동률(0.2),레벨(0), 패턴종류(6), // 1:삼각형/패넌트, 2:상승쐐기, 3:하락쐐기, 4:약세깃발, 5:강세깃발, 6:확장형 선두께(3); Var:행(0),열(0),고점(1),저점(-1),신규(1),연장(2),연속(3),삼선(4),cnt(0), 고라인기울기(0),고라인시작(0),고라인끝(0), 저라인기울기(0),저라인시작(0),저라인끝(0), 시작일(0),시작시각(0),기간(0); Array:고[10,44](0),저[10,44](0), // 열번호 : 1=가격,2=Index,3=sDate,4=sTime,11=가격,12=Index,13=sDate,14=sTime 최종상태[5](0),처리구분[5](0),TL[3](0),TL1[2](0),고0[10,4](0),저0[10,4](0),결과리턴[8](0); //=========================================================// If 레벨 <= 4 Then { Var1 = 레벨 * 10; Value1 = ChgRateZigZag301(H,L,변동률,고,저,최종상태,처리구분); If 최종상태[레벨] == 고점 Then { If 처리구분[레벨] == 신규 Then TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1], 고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); If 처리구분[레벨] == 연장 Then TL_SetEnd(TL[2],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); If 처리구분[레벨] == 연속 Then { TL[1] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1], 저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1], 고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); } If 처리구분[레벨] == 삼선 Then { TL[0] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1], 고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1]); TL[1] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1], 저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1], 고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); } } If 최종상태[레벨] == 저점 Then { If 처리구분[레벨] == 신규 Then TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1], 저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); If 처리구분[레벨] == 연장 Then TL_SetEnd(TL[2],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); If 처리구분[레벨] == 연속 Then { TL[1] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1], 고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1], 저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); } If 처리구분[레벨] == 삼선 Then { TL[0] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1], 저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1]); TL[1] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1], 고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]); TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1], 저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]); } } } Else { Alert("4레벨까지만 가능합니다!!"); } //=========================================================// 기간 = (레벨 + 1) * 20; cnt = cnt + 1; If (처리구분[레벨] == 신규 or 처리구분[레벨] == 연속) Then { // 꼭지점 변동사항이 있을 경우 For 행 = 1 To 10 { For 열 = 1 To 4 { // 패턴을 판단할 레벨만 사용자함수에 전달 고0[행,열] = 고[행,Var1 + 열]; 저0[행,열] = 저[행,Var1 + 열]; } } Value2 = YHS_Patterns(고0,저0,패턴종류,기간,결과리턴); // 삼각형 패턴의 경우 기간 내에 크로스가 발생 If Value2 == 1 Then // 패턴이 찾아졌다면 { PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); 시작일 = 결과리턴[0]; 시작시각 = 결과리턴[1]; 고라인기울기 = 결과리턴[2]; 고라인시작 = 결과리턴[3]; 고라인끝 = 결과리턴[4]; 저라인기울기 = 결과리턴[5]; 저라인시작 = 결과리턴[6]; 저라인끝 = 결과리턴[7]; If 고라인기울기[1] == 고라인기울기 and 고라인끝[1] + 고라인기울기 == 고라인끝 Then TL_SetEnd(TL1[0],sDate,sTime,고라인끝); Else { TL1[0] = TL_New(시작일,시작시각,고라인시작,sDate,sTime,고라인끝); TL_SetColor(TL1[0],RGB(215,0,0)); TL_SetSize(TL1[0],선두께); } If 저라인기울기[1] == 저라인기울기 and 저라인끝[1] + 저라인기울기 == 저라인끝 Then TL_SetEnd(TL1[1],sDate,sTime,저라인끝); Else { TL1[1] = TL_New(시작일,시작시각,저라인시작,sDate,sTime,저라인끝); TL_SetColor(TL1[1],LBLUE); TL_SetSize(TL1[1],선두께); } cnt = 0; Plot1(고라인끝,"고점추세선",RGB(215,0,0)); Plot2(저라인끝,"저점추세선",LBLUE); } } If cnt > 0 and cnt < (레벨 + 1) * 30 Then { 고라인끝 = 고라인끝 + 고라인기울기; 저라인끝 = 저라인끝 + 저라인기울기; #If 고라인끝 > 0 Then Plot1(고라인끝,"고점추세선",RGB(215,0,0)); #If 저라인끝 > 0 Then Plot2(저라인끝,"저점추세선",LBLUE); } 즐거운 하루되세요 > 매버릭 님이 쓴 글입니다. > 제목 : 알람소리가 나게 수정 좀 부탁 드립니다. > 안녕하세요? 수고 많으십니다. 첨부화일에서 패턴종류(6번)이 발생했을 때 놓치지 않도록 알람소리를 발생시키는 식을 좀 추가해 주시면 대단히 감사하겠습니다.