커뮤니티
검토 부탁드립니다
2018-05-16 13:27:29
141
글번호 118955
당일 익절후 아래 시스템식으로 금일한 재진입금지를 하려고 하는데 잘 안되네요.
검토 부탁드립니다.
의도한 식의 개념
1) 분봉(현물_매도식은 없음)에서 일봉 이평선 20-60골든크로스 조건을 전제함.
(알려주신 식을 도입)
2) 당일 09:30까지는 진입금지,
단 전일에서 over된 물량은 청산 조건 만족시 09:00에서부터 적용.
3) 검토요청부분:
(1) 전일over분이나 금일 진입후 익절 된 이후는 금일限은 재진입금지식 요망.
- 익절 method를 %,point로 설정한다면 setstopTarget을 이용하겠지만,
현재 사용식은 단순 청산식인 밴드상단 하향시 손절이나 익절인 경우 2개가 있겠으니,
그 중에서 익절인 경우에 금일 진입금지하는 식으로 만들고 싶습니다.
(그 중에서 손절인 경우는 청산된 이후 당일 조건 만족시 진입함을 의도함)
* IsExitName("EX",1)와 같이 이름을 단순히 적거나, Buy밑의 괄호를 제일 하단으로
옮겼더니 원하는 식이 되질 않네요.
(2) 분봉에 일봉 이평선을 그리는 지표가 일봉차트에서 본 이평선과 다르게 나오네요.
(일봉에선 20선이 60선 dead 상태인데, 분봉에선 골드로 나옴.)
* 초보라서 하나를 알려줘도 하나를 응용하기가 쉽지 않네요.ㅠㅠ
항상 노고에 감사드립니다.
< 아 래 >
input: period(20),nsd(2.0),StopPer(3.0);
input : P1(20),P2(60);
vars: maV(0), bandup(0), banddn(0);
var : count(0),sumV1(0),sumV2(0),dmav1(0),dmav2(0);
sumV1 = 0;
sumV2 = 0;
for count = 0 to P2 {
if count < P1 then
sumV1 = sumV1+DayClose(count);
if count < P2 then
sumV2 = sumV2+DayClose(count);
}
dmaV1 = sumV1/P1;
dmaV2 = sumV1/P2;
maV = ma(close,period);
bandup = BollBandUp(period,nsd);
banddn = BollBandDown(period,nsd);
Condition1 = ExitDate(1) == sdate and MarketPosition(1) == 1 and IsExitName("EX",1) == true;
if Condition1 == false and Stime > 093000 and CrossUp(close , bandup) then {
if dmaV1 > dmaV2 then
Buy();
}
if marketposition > 0 then
exitlong("EX",AtStop,bandup);
SetStopLoss(StopPer,PercentStop);
답변 1
예스스탁 예스스탁 답변
2018-05-17 11:49:13
안녕하세요
예스스탁입니다.
1
청산뒤 당일 진입금지를 이름이 아닌 포지션의 손익으로
지정하시면 됩니다.
당일에 청산이 발생하고 수익이면 당일 진입을 금지하게 수정했습니다
2
일간이평값계산에 문제가 있어 수정했습니다/
3
수정한 식입니다.
input: period(20),nsd(2.0),StopPer(3.0);
input : P1(20),P2(60);
var : maV(0), bandup(0), banddn(0);
var : count(0),sumV1(0),sumV2(0),dmav1(0),dmav2(0);
sumV1 = 0;
sumV2 = 0;
for count = 0 to P2
{
if count < P1 then
sumV1 = sumV1+DayClose(count);
if count < P2 then
sumV2 = sumV2+DayClose(count);
}
dmaV1 = sumV1/P1;
dmaV2 = sumV2/P2;
maV = ma(close,period);
bandup = BollBandUp(period,nsd);
banddn = BollBandDown(period,nsd);
Condition1 = ExitDate(1) == sdate and MarketPosition(1) == 1 and PositionProfit(1) > 0;
if Condition1 == false and Stime > 093000 and CrossUp(close , bandup) then {
if dmaV1 > dmaV2 then
Buy();
}
if marketposition > 0 then
exitlong("EX",AtStop,bandup);
SetStopLoss(StopPer,PercentStop);
4
지표식입니다.
input : P1(20),P2(60);
var : count(0),sumV1(0),sumV2(0),dmav1(0),dmav2(0);
sumV1 = 0;
sumV2 = 0;
for count = 0 to P2
{
if count < P1 then
sumV1 = sumV1+DayClose(count);
if count < P2 then
sumV2 = sumV2+DayClose(count);
}
dmaV1 = sumV1/P1;
dmaV2 = sumV2/P2;
plot1(Dmav1);
plot2(Dmav2);
즐거운 하루되세요
> theogo66 님이 쓴 글입니다.
> 제목 : 검토 부탁드립니다
>
당일 익절후 아래 시스템식으로 금일한 재진입금지를 하려고 하는데 잘 안되네요.
검토 부탁드립니다.
의도한 식의 개념
1) 분봉(현물_매도식은 없음)에서 일봉 이평선 20-60골든크로스 조건을 전제함.
(알려주신 식을 도입)
2) 당일 09:30까지는 진입금지,
단 전일에서 over된 물량은 청산 조건 만족시 09:00에서부터 적용.
3) 검토요청부분:
(1) 전일over분이나 금일 진입후 익절 된 이후는 금일限은 재진입금지식 요망.
- 익절 method를 %,point로 설정한다면 setstopTarget을 이용하겠지만,
현재 사용식은 단순 청산식인 밴드상단 하향시 손절이나 익절인 경우 2개가 있겠으니,
그 중에서 익절인 경우에 금일 진입금지하는 식으로 만들고 싶습니다.
(그 중에서 손절인 경우는 청산된 이후 당일 조건 만족시 진입함을 의도함)
* IsExitName("EX",1)와 같이 이름을 단순히 적거나, Buy밑의 괄호를 제일 하단으로
옮겼더니 원하는 식이 되질 않네요.
(2) 분봉에 일봉 이평선을 그리는 지표가 일봉차트에서 본 이평선과 다르게 나오네요.
(일봉에선 20선이 60선 dead 상태인데, 분봉에선 골드로 나옴.)
* 초보라서 하나를 알려줘도 하나를 응용하기가 쉽지 않네요.ㅠㅠ
항상 노고에 감사드립니다.
< 아 래 >
input: period(20),nsd(2.0),StopPer(3.0);
input : P1(20),P2(60);
vars: maV(0), bandup(0), banddn(0);
var : count(0),sumV1(0),sumV2(0),dmav1(0),dmav2(0);
sumV1 = 0;
sumV2 = 0;
for count = 0 to P2 {
if count < P1 then
sumV1 = sumV1+DayClose(count);
if count < P2 then
sumV2 = sumV2+DayClose(count);
}
dmaV1 = sumV1/P1;
dmaV2 = sumV1/P2;
maV = ma(close,period);
bandup = BollBandUp(period,nsd);
banddn = BollBandDown(period,nsd);
Condition1 = ExitDate(1) == sdate and MarketPosition(1) == 1 and IsExitName("EX",1) == true;
if Condition1 == false and Stime > 093000 and CrossUp(close , bandup) then {
if dmaV1 > dmaV2 then
Buy();
}
if marketposition > 0 then
exitlong("EX",AtStop,bandup);
SetStopLoss(StopPer,PercentStop);
다음글
이전글