커뮤니티
수식 문의 드립니다^^
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번이 신호나오면 무효 등...
항상 답변을 잘해주셔서 감사합니다~~~
수고 하시고 새해 복 많이 받으십시오^^
이전글