커뮤니티

수식문의 드립니다

프로필 이미지
진진
2022-05-09 09:34:12
1039
글번호 158672
답변완료
수고 많으십니다. 문의 드립니다. 제가 원하는 수식은 항셍 기준으로 1분봉 60개를 화면에 띄웠다고 가정했을 때 고점과 저점 사이의 수치가 31이상일 때 혹은 저점과 고점 사이의 수치가 -31(31로 표현해야 하는지는 모르겠고요)이하일 때 화면에 신호가 나타나게 하고 싶습니다.(30이하면 화면에 신호가 나오지 않아야 되고요) 예1)21371(고점)-21340(저점)>30 (신호가 수치로 나오면 더 좋고요 예)31, 36, 43...) 예2)21320(저점)-21351(고점)<-30(신호가 수치로 나오면 더 좋고요 예)-31, -36, -43...) 부탁드립니다. 화면에 처음 나오는 봉이 최고나 최저의 기준봉이 되고요 시간이 지나면서 기준봉이 바뀌겠지요 예)1번봉이 최고 21234이고 최저 21225이였다가 2번봉이 최고 21237 최저 21226이 되면 최고기준봉은 2번봉이 되고 최저 기준봉은 여전히 1번 봉이 되겠지요... 7번봉이 최고 21215이고 최저 21206이 되면 2번봉 최고와 7번봉 최저 차이가 31이 됨으로 신호가 나타나겠지요 8번봉이 최저 21203이되면 신호가 나타나고 9번봉이 최저 21197이 되면 연속으로 최저를 기록하면 8번봉 9번봉에도 신호가 나타나겠지요.... 최저점이 상승하여 차이가 30이하가 되면 신호가 없어지게 되고 반대로 9번봉의 최저와 9번봉 이후의 최고의 차이가 31이 되면 신호가 발생 되는것입니다. 이게 반복 되게 하고 싶은것입니다. 부탁 드립니다. 제가 이렇게 문의를 해서 다음과 같은 수식을 만들어 주셨는데 이런 메세지가 뜨네요 줄수 18 열수 7 선언되지 않은 이름'신호수식'이(가)사용되었습니다. 줄수 19 열수 1 문법에러,잘못된 토큰:'}',올수있는것:';' 그래서 신호수식을 (%,f)로 바꿔 보니까 첫번째 메세지가 없어졋습니다(맞는지 모르지만) 그런데 2번째 메세지가 이렇게 바뀌었습니다. 줄수 18 열수 6 문법에러,잘못된 토큰:" 확인좀 부탁 드립니다. 제가 초보라서 죄송합니다. 꼭 원하는 수식을 사용해 볼 수 있도록 부탁 드립니다. 감사합니다. var : HH(0),LL(0); if Index == 0 Then { HH = H; LL = L; } Else { if H > HH then HH = H; if L < LL Then LL = L; } if HH > LL+30 Then { 신호수식 }
사용자 함수
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2022-05-09 16:37:18

안녕하세요 예스스탁입니다. if HH > LL+30 Then { 신호수식 } 답변 수식내용에 보시면 위와 같이 신호가 발생하는 내용을 넣으셔야 합니다. 어떤 신호가 발생하는지 알수 없으므로 최고와 최저의 차이가 31이상이면 해당 부분에 넣으신 신호가 발생하게 됩니다. 문의하신 내용이 31이상 차이가 발생하면 매수나 매도 신호가 발생하는 것이면 아래식 적용하시면 됩니다. 가격이 상승해서 31이상이 되면 매수, 하락해서 차이가 31이상이 되면 매도가 발생하게 작성해 드립니다. var : HH(0),LL(0); if Index == 0 Then { HH = H; LL = L; } Else { if H > HH then { HH = H; if HH > LL+30 Then Buy(); } if L < LL Then { LL = L; if LL < HH-30 Then Sell(); } } 즐거운 하루되세요 > 진진 님이 쓴 글입니다. > 제목 : 수식문의 드립니다 > 수고 많으십니다. 문의 드립니다. 제가 원하는 수식은 항셍 기준으로 1분봉 60개를 화면에 띄웠다고 가정했을 때 고점과 저점 사이의 수치가 31이상일 때 혹은 저점과 고점 사이의 수치가 -31(31로 표현해야 하는지는 모르겠고요)이하일 때 화면에 신호가 나타나게 하고 싶습니다.(30이하면 화면에 신호가 나오지 않아야 되고요) 예1)21371(고점)-21340(저점)>30 (신호가 수치로 나오면 더 좋고요 예)31, 36, 43...) 예2)21320(저점)-21351(고점)<-30(신호가 수치로 나오면 더 좋고요 예)-31, -36, -43...) 부탁드립니다. 화면에 처음 나오는 봉이 최고나 최저의 기준봉이 되고요 시간이 지나면서 기준봉이 바뀌겠지요 예)1번봉이 최고 21234이고 최저 21225이였다가 2번봉이 최고 21237 최저 21226이 되면 최고기준봉은 2번봉이 되고 최저 기준봉은 여전히 1번 봉이 되겠지요... 7번봉이 최고 21215이고 최저 21206이 되면 2번봉 최고와 7번봉 최저 차이가 31이 됨으로 신호가 나타나겠지요 8번봉이 최저 21203이되면 신호가 나타나고 9번봉이 최저 21197이 되면 연속으로 최저를 기록하면 8번봉 9번봉에도 신호가 나타나겠지요.... 최저점이 상승하여 차이가 30이하가 되면 신호가 없어지게 되고 반대로 9번봉의 최저와 9번봉 이후의 최고의 차이가 31이 되면 신호가 발생 되는것입니다. 이게 반복 되게 하고 싶은것입니다. 부탁 드립니다. 제가 이렇게 문의를 해서 다음과 같은 수식을 만들어 주셨는데 이런 메세지가 뜨네요 줄수 18 열수 7 선언되지 않은 이름'신호수식'이(가)사용되었습니다. 줄수 19 열수 1 문법에러,잘못된 토큰:'}',올수있는것:';' 그래서 신호수식을 (%,f)로 바꿔 보니까 첫번째 메세지가 없어졋습니다(맞는지 모르지만) 그런데 2번째 메세지가 이렇게 바뀌었습니다. 줄수 18 열수 6 문법에러,잘못된 토큰:" 확인좀 부탁 드립니다. 제가 초보라서 죄송합니다. 꼭 원하는 수식을 사용해 볼 수 있도록 부탁 드립니다. 감사합니다. var : HH(0),LL(0); if Index == 0 Then { HH = H; LL = L; } Else { if H > HH then HH = H; if L < LL Then LL = L; } if HH > LL+30 Then { 신호수식 }
프로필 이미지

진진

2022-05-09 20:34:57

가르쳐 주신 수식대로 하니까 buy와sell은 전략에서만 사용할 수 있다고 나옵니다. 제가 무지해서 어떻게 해야 할지 모르겠습니다.(Buy(); 와 Sell();를 숫자로 표현 해볼려고 "%.f"; 로 바꾸어 보니까 함수가 값을 리턴하고 있지않습니다라는 메세지가 뜨네요 ㅠㅠ) 좀 도와 주세요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식문의 드립니다 > 안녕하세요 예스스탁입니다. if HH > LL+30 Then { 신호수식 } 답변 수식내용에 보시면 위와 같이 신호가 발생하는 내용을 넣으셔야 합니다. 어떤 신호가 발생하는지 알수 없으므로 최고와 최저의 차이가 31이상이면 해당 부분에 넣으신 신호가 발생하게 됩니다. 문의하신 내용이 31이상 차이가 발생하면 매수나 매도 신호가 발생하는 것이면 아래식 적용하시면 됩니다. 가격이 상승해서 31이상이 되면 매수, 하락해서 차이가 31이상이 되면 매도가 발생하게 작성해 드립니다. var : HH(0),LL(0); if Index == 0 Then { HH = H; LL = L; } Else { if H > HH then { HH = H; if HH > LL+30 Then Buy(); } if L < LL Then { LL = L; if LL < HH-30 Then Sell(); } } 즐거운 하루되세요 > 진진 님이 쓴 글입니다. > 제목 : 수식문의 드립니다 > 수고 많으십니다. 문의 드립니다. 제가 원하는 수식은 항셍 기준으로 1분봉 60개를 화면에 띄웠다고 가정했을 때 고점과 저점 사이의 수치가 31이상일 때 혹은 저점과 고점 사이의 수치가 -31(31로 표현해야 하는지는 모르겠고요)이하일 때 화면에 신호가 나타나게 하고 싶습니다.(30이하면 화면에 신호가 나오지 않아야 되고요) 예1)21371(고점)-21340(저점)>30 (신호가 수치로 나오면 더 좋고요 예)31, 36, 43...) 예2)21320(저점)-21351(고점)<-30(신호가 수치로 나오면 더 좋고요 예)-31, -36, -43...) 부탁드립니다. 화면에 처음 나오는 봉이 최고나 최저의 기준봉이 되고요 시간이 지나면서 기준봉이 바뀌겠지요 예)1번봉이 최고 21234이고 최저 21225이였다가 2번봉이 최고 21237 최저 21226이 되면 최고기준봉은 2번봉이 되고 최저 기준봉은 여전히 1번 봉이 되겠지요... 7번봉이 최고 21215이고 최저 21206이 되면 2번봉 최고와 7번봉 최저 차이가 31이 됨으로 신호가 나타나겠지요 8번봉이 최저 21203이되면 신호가 나타나고 9번봉이 최저 21197이 되면 연속으로 최저를 기록하면 8번봉 9번봉에도 신호가 나타나겠지요.... 최저점이 상승하여 차이가 30이하가 되면 신호가 없어지게 되고 반대로 9번봉의 최저와 9번봉 이후의 최고의 차이가 31이 되면 신호가 발생 되는것입니다. 이게 반복 되게 하고 싶은것입니다. 부탁 드립니다. 제가 이렇게 문의를 해서 다음과 같은 수식을 만들어 주셨는데 이런 메세지가 뜨네요 줄수 18 열수 7 선언되지 않은 이름'신호수식'이(가)사용되었습니다. 줄수 19 열수 1 문법에러,잘못된 토큰:'}',올수있는것:';' 그래서 신호수식을 (%,f)로 바꿔 보니까 첫번째 메세지가 없어졋습니다(맞는지 모르지만) 그런데 2번째 메세지가 이렇게 바뀌었습니다. 줄수 18 열수 6 문법에러,잘못된 토큰:" 확인좀 부탁 드립니다. 제가 초보라서 죄송합니다. 꼭 원하는 수식을 사용해 볼 수 있도록 부탁 드립니다. 감사합니다. var : HH(0),LL(0); if Index == 0 Then { HH = H; LL = L; } Else { if H > HH then HH = H; if L < LL Then LL = L; } if HH > LL+30 Then { 신호수식 }