커뮤니티
재문의 드립니다.
2014-03-04 13:55:51
180
글번호 73170
안녕하세요.
시스템식을 작성해 주셨는데...
선물 5분봉 신호가 이상하게 나와서 재문의 드립니다.
첫번째 매수,매도 신호후 청산이 안되서 식을 보니
청산에서 exitlong(); 이 두번되어 있어서 하나는 exitshort();로 수정하였습니다.
수정후, 청산은 되는것 같은데.....
청산이 너무 일찍 됩니다.
금일(3월4일(화)) 오전 9시 40분 매도 진입은 맞습니다.
그러나 10시 40분 청산이 나왔는데요. 이것이 잘못된 신호 입니다.
아래 청산조건대로라면 홀딩해서 가지고 있어야 합니다.
변수값 넣어주는 값의 의미를 잘 모르겠습니다.
죄송하지만 변수값의 의미를 주석처리 해주시면 감사드리겠습니다.
어려우시겠지만 검토 부탁드립니다.
감사합니다.
==================================================================================
청산조건은 : 매수시 : 파라볼릭의 반대신호 발생 and price roc 0 하향 돌파시 청산
매도시 : 파라볼릭의 반대신호 발생 and price roc 0 골드 돌파시 청산
==================================================================================
============================================================================
Input : af(0.02), maxAF(0.2),Period(10),P1(5),P2(34),P3(7);
Var : sarv(0,data1),PricROC(0,data1),MACDOSC(0,data1);
var : Bcond1(0,data1),Bcond2(0,data1),Bcond3(0,data1);
var : Scond1(0,data1),Scond2(0,data1),Scond3(0,data1);
var : cnt(0,data1),count(0,data1);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
sarv = data1(sar(af,maxAF));
PricROC = data1(PROC(Period));
MACDOSC = data1(MACD_OSC(P1,P2,P3));
Bcond1 = iff(C > sarv,1,0);
Bcond2 = iff(PricROC > 0,1,0);
Bcond3 = iff(MACDOSC > 0,1,0);
Scond1 = iff(C < sarv,1,0);
Scond2 = iff(PricROC < 0,1,0);
Scond3 = iff(MACDOSC < 0,1,0);
if count == 0 and stime >= 93000 then{
If MarketPosition == 0 and
data2(c) > 50 And
Bcond1 == 1 And
Bcond2 == 1 And
Bcond3 == 1 then
Buy("b1",AtMarket);
If MarketPosition == 0 and
data2(c) < -50 And
Scond1 == 1 And
Scond2 == 1 And
Scond3 == 1 then
sell("s1",AtMarket);
}
if count > 0 and count < 3 then{
If MarketPosition <= 0 and
data2(c) > 50 And
data1(countif(C>sarv,5) == 5) And
Bcond2 == 1 And
Bcond3 == 1 then
Buy("b2",AtMarket);
If MarketPosition >= 0 and
data2(c) < -50 And
data1(countif(C<sarv,5) == 5) And
Scond2 == 1 And
Scond3 == 1 then
sell("s2",AtMarket);
}
if MarketPosition == 1 and Scond1 == 1 and Scond2 == 1 Then
ExitLong();
if MarketPosition == -1 and Bcond1 == 1 and Bcond2 == 1 Then
Exitshort();
setstoploss(0.95, pointstop);
setstopendofday(145000);
========================================================================
+++++++++++++++++
선물 5분봉 기준
+++++++++++++++++
================
1. 당일추세
================
가-1) 외국인 거래소 순매수 금액 > 50억 ==> 매수
가-2) 외국인 거래소 순매수 금액 < -50억 ==> 매도
================
2. 진입
================
추세대로 매수만 또는 매도만 진입함
9시 30분 이후 진입
1. 파라볼릭 신호(af:0.02 afmax:02) 빨간색: 매수 파란색 : 매도
2. price roc(10) 기준선 > 0 : 매수, 0 < 기준선 : 매도
3. macd 오실레이터(5,34,7)가 매수시에는 골드중이어야 하고
매도시에는 데드중이어야 함
-------
매수시
-------
위의 매수 진입조건이 만족하면
다음봉 시가 매수
-------
매도시
-------
위의 매도 진입조건이 만족하면
다음봉 시가 매도
-------
청산
-------
청산조건은 : 매수시 : 파라볼릭의 반대신호 발생 and price roc 0 하향 돌파시 청산
매도시 : 파라볼릭의 반대신호 발생 and price roc 0 골드 돌파시 청산
-------
진입필터
-------
첫번재 진입 : 9시 30분 진입
두번재 진입 부터는 필터 적용 : 매수면 첫번째 청산후
두번째, 세번째 진입은 파라볼릭 매도 5개이상 신호뜨고 두번째 세번째 진입신호
적용 합니다.
매도이면 반대로 입니다.
일일 3회 매매제한
setstoploss(0.95, pointstop);
setstopendofday(145000);
- 1. 3월_4일_선물_5분봉.JPG (0.17 MB)
답변 1
예스스탁 예스스탁 답변
2014-03-04 17:43:30
안녕하세요
예스스탁입니다.
파라볼릭을 종가파라볼릭으로 수정했습니다.
Input : af(0.02), maxAF(0.2);#파리볼릭 가속값과 최대가속값
input : Period(10);//PROC기간값
input : P1(5),P2(34),P3(7);#MACD오실레이터 기간값
Var : sarv(0,data1),PricROC(0,data1),MACDOSC(0,data1);
var : Bcond1(0,data1),Bcond2(0,data1),Bcond3(0,data1);
var : Scond1(0,data1),Scond2(0,data1),Scond3(0,data1);
var : cnt(0,data1),count(0,data1);
#당일
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
sarv = data1(Csar(af,maxAF));
PricROC = data1(PROC(Period));
MACDOSC = data1(MACD_OSC(P1,P2,P3));
Bcond1 = iff(C > sarv,1,0);
Bcond2 = iff(PricROC > 0,1,0);
Bcond3 = iff(MACDOSC > 0,1,0);
Scond1 = iff(C < sarv,1,0);
Scond2 = iff(PricROC < 0,1,0);
Scond3 = iff(MACDOSC < 0,1,0);
if count == 0 and stime >= 93000 then{
If MarketPosition == 0 and
data2(c) > 50 And
Bcond1 == 1 And
Bcond2 == 1 And
Bcond3 == 1 then
Buy("b1",AtMarket);
If MarketPosition == 0 and
data2(c) < -50 And
Scond1 == 1 And
Scond2 == 1 And
Scond3 == 1 then
sell("s1",AtMarket);
}
if count > 0 and count < 3 then{
If MarketPosition <= 0 and
data2(c) > 50 And
data1(countif(C>sarv,5) == 5) And
Bcond2 == 1 And
Bcond3 == 1 then
Buy("b2",AtMarket);
If MarketPosition >= 0 and
data2(c) < -50 And
data1(countif(C<sarv,5) == 5) And
Scond2 == 1 And
Scond3 == 1 then
sell("s2",AtMarket);
}
if MarketPosition == 1 and Scond1 == 1 and Scond2 == 1 Then
ExitLong();
if MarketPosition == -1 and Bcond1 == 1 and Bcond2 == 1 Then
Exitshort();
setstoploss(0.95, pointstop);
setstopendofday(145000);
즐거운 하루되세요
> 바람날개 님이 쓴 글입니다.
> 제목 : 재문의 드립니다.
>
안녕하세요.
시스템식을 작성해 주셨는데...
선물 5분봉 신호가 이상하게 나와서 재문의 드립니다.
첫번째 매수,매도 신호후 청산이 안되서 식을 보니
청산에서 exitlong(); 이 두번되어 있어서 하나는 exitshort();로 수정하였습니다.
수정후, 청산은 되는것 같은데.....
청산이 너무 일찍 됩니다.
금일(3월4일(화)) 오전 9시 40분 매도 진입은 맞습니다.
그러나 10시 40분 청산이 나왔는데요. 이것이 잘못된 신호 입니다.
아래 청산조건대로라면 홀딩해서 가지고 있어야 합니다.
변수값 넣어주는 값의 의미를 잘 모르겠습니다.
죄송하지만 변수값의 의미를 주석처리 해주시면 감사드리겠습니다.
어려우시겠지만 검토 부탁드립니다.
감사합니다.
==================================================================================
청산조건은 : 매수시 : 파라볼릭의 반대신호 발생 and price roc 0 하향 돌파시 청산
매도시 : 파라볼릭의 반대신호 발생 and price roc 0 골드 돌파시 청산
==================================================================================
============================================================================
Input : af(0.02), maxAF(0.2),Period(10),P1(5),P2(34),P3(7);
Var : sarv(0,data1),PricROC(0,data1),MACDOSC(0,data1);
var : Bcond1(0,data1),Bcond2(0,data1),Bcond3(0,data1);
var : Scond1(0,data1),Scond2(0,data1),Scond3(0,data1);
var : cnt(0,data1),count(0,data1);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
sarv = data1(sar(af,maxAF));
PricROC = data1(PROC(Period));
MACDOSC = data1(MACD_OSC(P1,P2,P3));
Bcond1 = iff(C > sarv,1,0);
Bcond2 = iff(PricROC > 0,1,0);
Bcond3 = iff(MACDOSC > 0,1,0);
Scond1 = iff(C < sarv,1,0);
Scond2 = iff(PricROC < 0,1,0);
Scond3 = iff(MACDOSC < 0,1,0);
if count == 0 and stime >= 93000 then{
If MarketPosition == 0 and
data2(c) > 50 And
Bcond1 == 1 And
Bcond2 == 1 And
Bcond3 == 1 then
Buy("b1",AtMarket);
If MarketPosition == 0 and
data2(c) < -50 And
Scond1 == 1 And
Scond2 == 1 And
Scond3 == 1 then
sell("s1",AtMarket);
}
if count > 0 and count < 3 then{
If MarketPosition <= 0 and
data2(c) > 50 And
data1(countif(C>sarv,5) == 5) And
Bcond2 == 1 And
Bcond3 == 1 then
Buy("b2",AtMarket);
If MarketPosition >= 0 and
data2(c) < -50 And
data1(countif(C<sarv,5) == 5) And
Scond2 == 1 And
Scond3 == 1 then
sell("s2",AtMarket);
}
if MarketPosition == 1 and Scond1 == 1 and Scond2 == 1 Then
ExitLong();
if MarketPosition == -1 and Bcond1 == 1 and Bcond2 == 1 Then
Exitshort();
setstoploss(0.95, pointstop);
setstopendofday(145000);
========================================================================
+++++++++++++++++
선물 5분봉 기준
+++++++++++++++++
================
1. 당일추세
================
가-1) 외국인 거래소 순매수 금액 > 50억 ==> 매수
가-2) 외국인 거래소 순매수 금액 < -50억 ==> 매도
================
2. 진입
================
추세대로 매수만 또는 매도만 진입함
9시 30분 이후 진입
1. 파라볼릭 신호(af:0.02 afmax:02) 빨간색: 매수 파란색 : 매도
2. price roc(10) 기준선 > 0 : 매수, 0 < 기준선 : 매도
3. macd 오실레이터(5,34,7)가 매수시에는 골드중이어야 하고
매도시에는 데드중이어야 함
-------
매수시
-------
위의 매수 진입조건이 만족하면
다음봉 시가 매수
-------
매도시
-------
위의 매도 진입조건이 만족하면
다음봉 시가 매도
-------
청산
-------
청산조건은 : 매수시 : 파라볼릭의 반대신호 발생 and price roc 0 하향 돌파시 청산
매도시 : 파라볼릭의 반대신호 발생 and price roc 0 골드 돌파시 청산
-------
진입필터
-------
첫번재 진입 : 9시 30분 진입
두번재 진입 부터는 필터 적용 : 매수면 첫번째 청산후
두번째, 세번째 진입은 파라볼릭 매도 5개이상 신호뜨고 두번째 세번째 진입신호
적용 합니다.
매도이면 반대로 입니다.
일일 3회 매매제한
setstoploss(0.95, pointstop);
setstopendofday(145000);
다음글
이전글