커뮤니티

추가 질문입니다

프로필 이미지
로고스
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);