커뮤니티
시스템식 보완
2013-05-27 00:13:56
231
글번호 63604
항상 감사드립니다..
1.시스템식 변경
아래 시스템식은 이동평균선 고가돌파시 매수
이동평균선 저가돌파시 매도 에 적용된 시스템입니다
그런데 이평선
저가아래에 있다가 살짝 저가상향돌파후 다시 하향돌파시 매도신호가 발생
===>조건식은 고가위에 있다가 저가돌파시 매도
고가위에 있다가 살짝 고가하향돌파후 다시 고가 상향돌파시 매수신호발생
====> 조건식은 저가아래에 있다가 고가돌파시 매수
아래식을
현재봉으로부터 5개이전봉에서 c<var31 and if Crossup(c[4], var33[4]) 이면 매수
현재봉으로부터 5개이전봉에서 c>var33 and if Crossdown(c[4], var33[4]) 이면 매도
로 수정하고 싶습니다
이동평균선 고가 var33
이동평균선 저가 var31
if Crossup(c[4], var33[4]) then
buy("B1");
if Crossdown(c[4],var31[4]) then
sell("S1");
2.익절조건 추가
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*100 Then
exitlong("eB2");
위조건식에서 현재봉에서 직전10개봉이내에서 100틱이익발생시 청산으로 바꾸고 싶습니다.
3. 당일첫봉에 전일 마지막 포지션과 같은 포지션으로 주문내는 식입니다
그런데 시초가후 1개의봉이 완성된다음 진입하다 보니 진입이 늦습니다
이조건에서 시초가생성후 바로 진입으로 바꾸고 싶습니다
if stime == 90000 or (stime > 90000 and stime[1] < 90000) Then{
if MarketPosition == 0 and MarketPosition(1) == 1 Then
buy();
if MarketPosition == 0 and MarketPosition(1) == -1 Then
sell();
}
감사합니다
답변 1
예스스탁 예스스탁 답변
2013-05-27 15:49:15
안녕하세요
예스스탁입니다.
1.
아래와 같이 작성하시면
최근 5개봉 안에 var33을 하향이탈한적이 없는 상태에서 var33을 상향돌파 하면 매수하고
최근 5개봉 안에 var31을 상향돌파한적이 없는 상태에서 var31을 하향이탈 하면 매도하게 됩니다.
봉수는 임의로 지정한 값입니다.
사용자분이 적당한 봉수나 조건을 추가하셔야 합니다.
Condition1 = Crossup(c, var33) and countif(CrossDown(c,var33),5) < 1;
Condition2 = CrossDown(c, var31) and countif(Crossup(c,var33),5) < 1;
if Condition1[4] == true then
buy("B1");
if Condition2[4] == true then
sell("S1");
5개봉이전봉으로 하면 아래와 같습니다.
Condition1 = Crossup(c, var33) and countif(CrossDown(c,var33),5) < 1;
Condition2 = CrossDown(c, var31) and countif(Crossup(c,var33),5) < 1;
if Condition1[5] == true then
buy("B1");
if Condition2[5] == true then
sell("S1");
2.
if MarketPosition == 1 and BarsSinceEntry >= 10 and highest(H,10) >= EntryPrice+PriceScale*100 Then
exitlong("eB2");
3.
시초가에 신호를 내기 위해서는
전일 마지막봉에 if 조건 만족시켜서 신호를 발생해야 합니다.
사용하시는 주기별로 마지막봉의 시간이 모두 다르므로
사용하시는 차트의 일간 마지막봉의 시간 확인하시고
시간을 지정해 주셔야 합니다.
아래식은 마지막봉 시간이 15시 15분일 경우 사용하실수 있는 식입니다.
if stime == 151500 Then{
if MarketPosition == 0 and MarketPosition(1) == 1 Then
buy("b",AtMarket);
if MarketPosition == 0 and MarketPosition(1) == -1 Then
sell("s",AtMarket);
}
차트의 시간은 아래 지표식 적용하고 확인하시면 됩니다.
plot1(stime);
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 시스템식 보완
> 항상 감사드립니다..
1.시스템식 변경
아래 시스템식은 이동평균선 고가돌파시 매수
이동평균선 저가돌파시 매도 에 적용된 시스템입니다
그런데 이평선
저가아래에 있다가 살짝 저가상향돌파후 다시 하향돌파시 매도신호가 발생
===>조건식은 고가위에 있다가 저가돌파시 매도
고가위에 있다가 살짝 고가하향돌파후 다시 고가 상향돌파시 매수신호발생
====> 조건식은 저가아래에 있다가 고가돌파시 매수
아래식을
현재봉으로부터 5개이전봉에서 c<var31 and if Crossup(c[4], var33[4]) 이면 매수
현재봉으로부터 5개이전봉에서 c>var33 and if Crossdown(c[4], var33[4]) 이면 매도
로 수정하고 싶습니다
이동평균선 고가 var33
이동평균선 저가 var31
if Crossup(c[4], var33[4]) then
buy("B1");
if Crossdown(c[4],var31[4]) then
sell("S1");
2.익절조건 추가
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*100 Then
exitlong("eB2");
위조건식에서 현재봉에서 직전10개봉이내에서 100틱이익발생시 청산으로 바꾸고 싶습니다.
3. 당일첫봉에 전일 마지막 포지션과 같은 포지션으로 주문내는 식입니다
그런데 시초가후 1개의봉이 완성된다음 진입하다 보니 진입이 늦습니다
이조건에서 시초가생성후 바로 진입으로 바꾸고 싶습니다
if stime == 90000 or (stime > 90000 and stime[1] < 90000) Then{
if MarketPosition == 0 and MarketPosition(1) == 1 Then
buy();
if MarketPosition == 0 and MarketPosition(1) == -1 Then
sell();
}
감사합니다
다음글