커뮤니티
수식이 오류는 없으나 거래가 일어나질 않습니다 한번만 봐주시면 감사하겠습니다
2015-05-21 23:00:12
136
글번호 86318
Input : period1(20);
Var : accountSize(0), Unit1(0), firstBuy(0), secondBuy(0);
Unit1 = accountSize/10 ; //1단위의 크기는 계정의 10분의 1
firstBuy = (Unit1)/close; //최초진입 매수량
secondBuy = (unit1/2)/close; //추가진입 매수량
if MarketPosition == 0 and crossup(Close,highest(High,period1))
Then Buy(/*"최초진입",OnClose,firstBuy*/);
안녕하세요
시스템트레이딩을 독학하는데 어디 배울데가 마땅치 않아서 질문합니다ㅜ
이런식으로 질문해도 되는지 모르겠는데 한번 부탁드리겠습니다
우선 제가 몇줄 짜본 코드입니다
그런데 검증했을때 아무 오류가 뜨지 않는데 차트에 시뮬을 붙여보면 거래가 일어나질 않네요 ㅜㅜ
로직상 문제는 없는것같은데 뭐가 문제인지 모르겠습니다 ㅜㅜ
물론 완성된 코드는 아니고 한줄씩 만들어가고 있지만 우선 뭔가 거래가 일어나야 문제점을 찾고 해결을 할텐데 아예 작동을하지 않으니 답답하네요 ㅜㅜ
답변 1
예스스탁 예스스탁 답변
2015-05-22 09:07:18
안녕하세요
예스스탁입니다.
수식에 논리상 오류가 있으면 신호가 발생할수 없습니다.
문법검증은 문법상의 오류를 찾습니다.
crossup(Close,highest(High,period1))
위 내용상에는 C > H와 같은 현재봉 종가가 현재봉 고가보다 크다라는
성립될수 없는 조건이 내포되어 있습니다.
종가가 몇개봉 최고가보다 커지면 현재봉 고가가 최고가(highest(High,period1)) 가 되므로
종가가 현재봉 고가보다 클수 없으므로 신호가 발생하지 않습니다.
crossup(Close,highest(High,period1)[1])
와 같이 작성하셔서 현재봉의 고가는 포함하지 않고
1봉전 기준 일정기간 최고가를 형재봉 종가가 돌파하면 매수하게 작성하셔야 합니다.
Input : period1(20);
Var : accountSize(0), Unit1(0), firstBuy(0), secondBuy(0);
Unit1 = accountSize/10 ; //1단위의 크기는 계정의 10분의 1
firstBuy = (Unit1)/close; //최초진입 매수량
secondBuy = (unit1/2)/close; //추가진입 매수량
if MarketPosition == 0 and crossup(Close,highest(High,period1)[1])
Then Buy(/*"최초진입",OnClose,firstBuy*/);
즐거운 하루되세요
> HI_qu***** 님이 쓴 글입니다.
> 제목 : 수식이 오류는 없으나 거래가 일어나질 않습니다 한번만 봐주시면 감사하겠습니다
> Input : period1(20);
Var : accountSize(0), Unit1(0), firstBuy(0), secondBuy(0);
Unit1 = accountSize/10 ; //1단위의 크기는 계정의 10분의 1
firstBuy = (Unit1)/close; //최초진입 매수량
secondBuy = (unit1/2)/close; //추가진입 매수량
if MarketPosition == 0 and crossup(Close,highest(High,period1))
Then Buy(/*"최초진입",OnClose,firstBuy*/);
안녕하세요
시스템트레이딩을 독학하는데 어디 배울데가 마땅치 않아서 질문합니다ㅜ
이런식으로 질문해도 되는지 모르겠는데 한번 부탁드리겠습니다
우선 제가 몇줄 짜본 코드입니다
그런데 검증했을때 아무 오류가 뜨지 않는데 차트에 시뮬을 붙여보면 거래가 일어나질 않네요 ㅜㅜ
로직상 문제는 없는것같은데 뭐가 문제인지 모르겠습니다 ㅜㅜ
물론 완성된 코드는 아니고 한줄씩 만들어가고 있지만 우선 뭔가 거래가 일어나야 문제점을 찾고 해결을 할텐데 아예 작동을하지 않으니 답답하네요 ㅜㅜ
다음글
이전글