커뮤니티

수식 문의 드립니다^^

프로필 이미지
민삐78
2019-02-06 17:56:46
224
글번호 125901
답변완료
1번수식 input : Period(10); Input : BBP(20), MultiD(2); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; var : BBmd(0),BBup(0),BBdn(0); BBmd = ma(C,BBP); BBup = BollBandUp(BBP,MultiD); BBdn = BollBandDown(BBP,MultiD); Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } UpAroon = 100*(Period-UpVel)/Period; DnAroon = 100*(Period-DownVel)/Period; if crossup(UpAroon,DnAroon) and c > BBup Then buy("Aroon_LE"); if CrossDown(UpAroon,DnAroon) and C < BBdn Then sell("Aroon_SE"); 2번수식 input : Period(46); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } UpAroon = 100*(Period-UpVel)/Period; DnAroon = 100*(Period-DownVel)/Period; if crossup(UpAroon,DnAroon) Then buy("Aroon_LE"); if CrossDown(UpAroon,DnAroon) Then sell("Aroon_SE"); 질문1 : 수식2번은 꼭 15분봉이어야 한다는 전제 조건이 있습니다.(이럴땐 참조 사용하여야 하나요?) 질문2: 수식1번은 분봉이 바뀔수 있으므로 수식1번과 수식2번이 3봉이내에 신호나오는 곳에서 유효신호가 나왔음 합니다. 예를 들면 수식1번 신호 나오고 3봉 이내에 수식2번이 신호나오면 유효신호 발생 수식2번 신호 나오고 2봉 이내에 수식1번이 신호나오면 유효신호 발생 수식1번 신호 나오고 4봉 지나서 수식2번이 신호나오면 무효 등... 항상 답변을 잘해주셔서 감사합니다~~~ 수고 하시고 새해 복 많이 받으십시오^^
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2019-02-07 14:55:17

안녕하세요 예스스탁입니다. 참조데이타 이용하셔야 합니다. 서로 다른 주기의 데이터의 봉번호를 비교하기는 어렵습니다. 수식은 기본차트(data1) 기준이므로 data2의 봉 조건발생시 data1봉번호를 저장해 3개봉 이내에 조건만족하면 신호발생하게 작성해 드립니다. input : Period1(10); Input : BBP1(20), MultiD1(2); var : cnt1(0,data1), Lowval1(0,data1), Highval1(0,data1); var : DownVel1(0,data1),UpVel1(0,data1),DnAroon1(0,data1),UpAroon1(0,data1); var : BBmd1(0,data1),BBup1(0,data1),BBdn1(0,data1); var : i1(0,data1),i2(0,data1),i3(0,data1),i4(0,data1); BBmd1 = data1(ma(C,BBP1)); BBup1 = data1(BollBandUp(BBP1,MultiD1)); BBdn1 = data1(BollBandDown(BBP1,MultiD1)); Lowval1 = data1(Lowest(Low, Period1+1)); Highval1 = data1(Highest(High, Period1+1)); For cnt1= 0 To Period1 { If data1(Low[cnt1]) == Lowval1 Then DownVel1 = cnt1; If data1(High[cnt1]) == highval1 Then UpVel1 = cnt1; } UpAroon1 = 100*(Period1-UpVel1)/Period1; DnAroon1 = 100*(Period1-DownVel1)/Period1; input : Period2(46); var : cnt2(0,data2), Lowval2(0,data2), Highval2(0,data2); var : DownVel2(0,data2),UpVel2(0,data2),DnAroon2(0,data2),UpAroon2(0,data2); Lowval2 = data1(Lowest(Low, Period2+1)); Highval2 = data1(Highest(High, Period2+1)); For cnt2 = 0 To Period2 { If data2(Low[cnt1]) == Lowval2 Then DownVel2 = cnt2; If data2(High[cnt1]) == highval2 Then UpVel2 = cnt2; } UpAroon2 = 100*(Period2-UpVel2)/Period2; DnAroon2 = 100*(Period2-DownVel2)/Period2; if crossup(UpAroon1,DnAroon1) and data1(c) > BBup1 Then { i1 = data1(index); if i1 <= i2+3 and i2 > 0 Then buy("Aroon_LE1"); } if crossup(UpAroon2,DnAroon2) Then { i2 = data1(index); if i2 <= i1+3 and i1 > 0 Then buy("Aroon_LE2"); } if CrossDown(UpAroon1,DnAroon1) and data1(C) < BBdn1 Then { i3 = data1(index); if i3 <= i4+3 and i4 > 0 Then sell("Aroon_SE1"); } if CrossDown(UpAroon2,DnAroon2) Then { i4 = data1(index); if i4 <= i3+3 and i3 > 0 Then sell("Aroon_SE2"); } 즐거운 하루되세요 > 민삐78 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다^^ > 1번수식 input : Period(10); Input : BBP(20), MultiD(2); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; var : BBmd(0),BBup(0),BBdn(0); BBmd = ma(C,BBP); BBup = BollBandUp(BBP,MultiD); BBdn = BollBandDown(BBP,MultiD); Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } UpAroon = 100*(Period-UpVel)/Period; DnAroon = 100*(Period-DownVel)/Period; if crossup(UpAroon,DnAroon) and c > BBup Then buy("Aroon_LE"); if CrossDown(UpAroon,DnAroon) and C < BBdn Then sell("Aroon_SE"); 2번수식 input : Period(46); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } UpAroon = 100*(Period-UpVel)/Period; DnAroon = 100*(Period-DownVel)/Period; if crossup(UpAroon,DnAroon) Then buy("Aroon_LE"); if CrossDown(UpAroon,DnAroon) Then sell("Aroon_SE"); 질문1 : 수식2번은 꼭 15분봉이어야 한다는 전제 조건이 있습니다.(이럴땐 참조 사용하여야 하나요?) 질문2: 수식1번은 분봉이 바뀔수 있으므로 수식1번과 수식2번이 3봉이내에 신호나오는 곳에서 유효신호가 나왔음 합니다. 예를 들면 수식1번 신호 나오고 3봉 이내에 수식2번이 신호나오면 유효신호 발생 수식2번 신호 나오고 2봉 이내에 수식1번이 신호나오면 유효신호 발생 수식1번 신호 나오고 4봉 지나서 수식2번이 신호나오면 무효 등... 항상 답변을 잘해주셔서 감사합니다~~~ 수고 하시고 새해 복 많이 받으십시오^^
프로필 이미지

민삐78

2019-02-07 18:02:27

신호가 전혀 나오지 않는데 뭐가 문제일까요? 신호 나오게끔 조금 손봐주시면 안될까요? 데이터1번과 2번이 비슷한 시간대에(1시간 안으로) 신호나오면 유효신호 나오게끔 하고 싶은데 저는 아직 시스템 많이 초보라 봐도 잘 모르겠습니다 ㅠㅠ 초보라 귀찮게 해드려 죄송합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 드립니다^^ > 안녕하세요 예스스탁입니다. 참조데이타 이용하셔야 합니다. 서로 다른 주기의 데이터의 봉번호를 비교하기는 어렵습니다. 수식은 기본차트(data1) 기준이므로 data2의 봉 조건발생시 data1봉번호를 저장해 3개봉 이내에 조건만족하면 신호발생하게 작성해 드립니다. input : Period1(10); Input : BBP1(20), MultiD1(2); var : cnt1(0,data1), Lowval1(0,data1), Highval1(0,data1); var : DownVel1(0,data1),UpVel1(0,data1),DnAroon1(0,data1),UpAroon1(0,data1); var : BBmd1(0,data1),BBup1(0,data1),BBdn1(0,data1); var : i1(0,data1),i2(0,data1),i3(0,data1),i4(0,data1); BBmd1 = data1(ma(C,BBP1)); BBup1 = data1(BollBandUp(BBP1,MultiD1)); BBdn1 = data1(BollBandDown(BBP1,MultiD1)); Lowval1 = data1(Lowest(Low, Period1+1)); Highval1 = data1(Highest(High, Period1+1)); For cnt1= 0 To Period1 { If data1(Low[cnt1]) == Lowval1 Then DownVel1 = cnt1; If data1(High[cnt1]) == highval1 Then UpVel1 = cnt1; } UpAroon1 = 100*(Period1-UpVel1)/Period1; DnAroon1 = 100*(Period1-DownVel1)/Period1; input : Period2(46); var : cnt2(0,data2), Lowval2(0,data2), Highval2(0,data2); var : DownVel2(0,data2),UpVel2(0,data2),DnAroon2(0,data2),UpAroon2(0,data2); Lowval2 = data1(Lowest(Low, Period2+1)); Highval2 = data1(Highest(High, Period2+1)); For cnt2 = 0 To Period2 { If data2(Low[cnt1]) == Lowval2 Then DownVel2 = cnt2; If data2(High[cnt1]) == highval2 Then UpVel2 = cnt2; } UpAroon2 = 100*(Period2-UpVel2)/Period2; DnAroon2 = 100*(Period2-DownVel2)/Period2; if crossup(UpAroon1,DnAroon1) and data1(c) > BBup1 Then { i1 = data1(index); if i1 <= i2+3 and i2 > 0 Then buy("Aroon_LE1"); } if crossup(UpAroon2,DnAroon2) Then { i2 = data1(index); if i2 <= i1+3 and i1 > 0 Then buy("Aroon_LE2"); } if CrossDown(UpAroon1,DnAroon1) and data1(C) < BBdn1 Then { i3 = data1(index); if i3 <= i4+3 and i4 > 0 Then sell("Aroon_SE1"); } if CrossDown(UpAroon2,DnAroon2) Then { i4 = data1(index); if i4 <= i3+3 and i3 > 0 Then sell("Aroon_SE2"); } 즐거운 하루되세요 > 민삐78 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다^^ > 1번수식 input : Period(10); Input : BBP(20), MultiD(2); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; var : BBmd(0),BBup(0),BBdn(0); BBmd = ma(C,BBP); BBup = BollBandUp(BBP,MultiD); BBdn = BollBandDown(BBP,MultiD); Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } UpAroon = 100*(Period-UpVel)/Period; DnAroon = 100*(Period-DownVel)/Period; if crossup(UpAroon,DnAroon) and c > BBup Then buy("Aroon_LE"); if CrossDown(UpAroon,DnAroon) and C < BBdn Then sell("Aroon_SE"); 2번수식 input : Period(46); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } UpAroon = 100*(Period-UpVel)/Period; DnAroon = 100*(Period-DownVel)/Period; if crossup(UpAroon,DnAroon) Then buy("Aroon_LE"); if CrossDown(UpAroon,DnAroon) Then sell("Aroon_SE"); 질문1 : 수식2번은 꼭 15분봉이어야 한다는 전제 조건이 있습니다.(이럴땐 참조 사용하여야 하나요?) 질문2: 수식1번은 분봉이 바뀔수 있으므로 수식1번과 수식2번이 3봉이내에 신호나오는 곳에서 유효신호가 나왔음 합니다. 예를 들면 수식1번 신호 나오고 3봉 이내에 수식2번이 신호나오면 유효신호 발생 수식2번 신호 나오고 2봉 이내에 수식1번이 신호나오면 유효신호 발생 수식1번 신호 나오고 4봉 지나서 수식2번이 신호나오면 무효 등... 항상 답변을 잘해주셔서 감사합니다~~~ 수고 하시고 새해 복 많이 받으십시오^^