커뮤니티
추가 질문입니다
2011-02-10 10:24:28
763
글번호 35599
어제 도움을 주셔서, 첫봉에... 전일 청산과 그 전의 진입포지션에 상관없이..
당일 신호가 나오게 만들었구요.
오늘은 하나 더 질문 드립니다.
- 정배열에서..기존신호에서 매수만 나오게..
- 역배열에서..기존신호에서 매도만 나오게..
이렇게 하고 싶은데... 그래서 아래와 같이 수식을 만들었습니다.
그런데, 정배열, 역배열과 상관없이 거의 기존의 신호대로만 나오는데...문제가 무엇인지 모르겠네요.
시스템식을 요새 틈틈히 만들어 볼까해서... 공부중인데..
잘 부탁드립니다.
value21 = ema(c, sPeriod);
value22 = ema(c, lPeriod);
if dayindex == 0 and MarketPosition == 0 and IsExitName("StopEndofday",1) Then{
if MarketPosition(1) == 1 then {
if var11 > value5 Then {
if value21 > value22 then
buy();
}
Else {
if var21 < value22 then
sell();
}
}
if MarketPosition(1) == -1 then {
if var11 < value5 Then {
if var21 < value22 then
Sell();
}
Else {
if value21 > value22 then
buy();
}
}
}
if dayindex >= 1 then {
If value21 > value22 Then {
if var11 > value5 then
buy();
Else
marketposition == 0;
}
If var21 < value22 Then {
if var11 < value5 then
sell();
else
marketposition == 0;
}
}
SetStopEndofday(150300);
답변 1
예스스탁 예스스탁 답변
2011-02-10 14:00:36
안녕하세요
예스스탁입니다.
1.
else
marketposition == 0;
위 수식은 현재 수식에서 전혀 의미가 없는 식내용입니다.
marketposition 은 포지션 함수이므로 어떤 값을 저장할 수 있는 변수로 사용될 수 없습니다.
또한 if문이 아닌 곳에서 marketposition == 0(현재포지션이 0이다)라는 조건은
작성하셔도 의미가 없는 식입니다.
2.
buy의 if 조건식에 value21 > value22
sell의 if 조건식에 value21 < value22
내용만 추가해 주시면 됩니다.
전체적으로 else의 내용때문에 식의 내용을 판별하기가 힘들어
식에 직접 수정을 해드리지 못할것 같습니다. 일부만 올려드립니다.
value21 = ema(c, sPeriod);
value22 = ema(c, lPeriod);
if dayindex == 0 and MarketPosition == 0 and IsExitName("StopEndofday",1) Then{
if MarketPosition(1) == 1 and var11 > value5 and value21 > value22 then
buy();
if MarketPosition(1) == -1 and var21 < value22 and value21 < value22 then
sell();
}
}
}
if dayindex >= 1 and value21 > value22 and var11 > value5 then
buy();
If dayindex >= 1 And value21 < value22 and var11 < value5 then
sell();
SetStopEndofday(150300);
즐거운 하루되세요
> 로고스 님이 쓴 글입니다.
> 제목 : 추가 질문입니다
> 어제 도움을 주셔서, 첫봉에... 전일 청산과 그 전의 진입포지션에 상관없이..
당일 신호가 나오게 만들었구요.
오늘은 하나 더 질문 드립니다.
- 정배열에서..기존신호에서 매수만 나오게..
- 역배열에서..기존신호에서 매도만 나오게..
이렇게 하고 싶은데... 그래서 아래와 같이 수식을 만들었습니다.
그런데, 정배열, 역배열과 상관없이 거의 기존의 신호대로만 나오는데...문제가 무엇인지 모르겠네요.
시스템식을 요새 틈틈히 만들어 볼까해서... 공부중인데..
잘 부탁드립니다.
value21 = ema(c, sPeriod);
value22 = ema(c, lPeriod);
if dayindex == 0 and MarketPosition == 0 and IsExitName("StopEndofday",1) Then{
if MarketPosition(1) == 1 then {
if var11 > value5 Then {
if value21 > value22 then
buy();
}
Else {
if var21 < value22 then
sell();
}
}
if MarketPosition(1) == -1 then {
if var11 < value5 Then {
if var21 < value22 then
Sell();
}
Else {
if value21 > value22 then
buy();
}
}
}
if dayindex >= 1 then {
If value21 > value22 Then {
if var11 > value5 then
buy();
Else
marketposition == 0;
}
If var21 < value22 Then {
if var11 < value5 then
sell();
else
marketposition == 0;
}
}
SetStopEndofday(150300);
다음글
이전글