커뮤니티

수식수정 부탁드립니다.

프로필 이미지
은색
2011-12-21 10:41:38
426
글번호 45953
답변완료
글번호 "22099" 에서 문의드린 내용에 대해서 수식 작성해 주셔서 감사합니다. 몇 가지 추가 요청사항이 있습니다. 1. 진입수량과 금액을 설정창에서 지정하라고 하셨는데, 수식 내에서 구현하고 싶습니다. 혹시 불가능한 것이 아니라면 수식내에서 구현할 수 있도록 작성을 부탁드립니다. 2. 작성해주신 수식을 보면 제가 부탁드린 첫번째 수식은 조건이 만족되면 '매도'하는 것입니다. 수식의 3번째와 4번째 줄에 있는 if data1(stime == 093000) Then buy(); 여기서 buy(); 부분이 buy가 아니라 sell이 맞는 것 아닌가 싶습니다. 단순 실수인 것 같지만 혹시 제가 실수하는 건 아닌가 싶어 질문드립니다. 혹시 저것이 실수라면 다른 식들은 추가로 수정되어야 할 것이 없는지도 검토 부탁드립니다. 감사합니다. <운영자님의 답변내용> 안녕하세요 예스스탁입니다. 진입수량이나 금액은 시스템 트레이딩 설정창의 비용/수량 탭에서 지정하시면 됩니다. 1. var : d2v(0,data1); if data1(stime == 093000) Then buy(); d2v = data2(c); if MarketPosition == 1 Then{ if d2v[BarsSinceEntry] >= 5.0 and data2(c) >= d2v*1.2 Then exitlong(); if d2v[BarsSinceEntry] < 5.0 and data2(c) >= d2v*1.3 Then exitlong(); } SetStopEndofday(143000); 2. var : d2v(0,data2); if data2(stime == 093000) Then d2v = data2(c); if data2(stime > 093000) Then{ if d2v >= 5.0 and data2(c) >= d2v*1.2 Then buy(); if d2v < 5.0 and data2(c) >= d2v*1.3 Then buy(); } SetStopEndofday(143000); 즐거운 하루되세요 > 은색 님이 쓴 글입니다. > 제목 : 수식작성 문의드립니다. > 다음 두 가지 수식작성 부탁드립니다. <1번 수식> 주차트는 옵션입니다. 진입조건은, 거래 시작 시간은 9시30분으로 하고, 9시 30분 주차트 현재의 가격대로 1계약을 매도합니다(계약 개수를 1개,2개,3개 등과 같이 그때그때 마다 바꿀 수 있도록 부탁드립니다). 청산조건은 보조차트를 이용합니다. 9시30분 당시 보조차트의 가격이 5.0 이상이었으면 현재가격이 9시30분 당시 가격보다 20% 상승시(즉, 보조차트로는 손실이 발생한 경우입니다), 5.0 이하였으면 현재가격이 9시30분 당시가격보다 30%이상 상승시 매수청산합니다. 또한 위 청산조건을 만족하지 않았더라도 2시30분에는 매수청산하여 당일청산을 합니다. <수식2> 주차트는 옵션이고, 보조차트를 활용합니다. 거래 개시는 9시 30분에 합니다. 진입조건은, 9시30분 당시 보조차트의 가격이 5.0 이상이었으면 현재가격이 9시30분 당시 가격보다 20% 상승시(즉, 보조차트로는 손실이 발생한 경우입니다), 5.0 이하였으면 현재가격이 9시30분 당시가격보다 30%이상 상승시 매수진입합니다. 이 때 매수금액은 그때그때 마다 제가 입력할 수 있도록 변수로 부탁드립니다. 다른 청산조건은 없고 진입 이후에는 2시30분에 당일 청산합니다. 감사하니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-12-21 11:14:46

안녕하세요 예스스탁입니다. 죄송합니다. 청산내용에 매수청산으로 되어 있어 매수식으로 착각했습니다. 1번식 매도로 수정하고, 1번,2번 모두 수식내에서 수량 설정하게 수정했습니다. 1. input : 투입금액(10000000); var : d2v(0,data1),Vol(0,data1); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then Vol = int(int(투입금액/C)/10)*10; Else Vol = int(투입금액/C); } if CodeCategory == 2 Then Vol = int(투입금액/C); if CodeCategory == 6 Then Vol = int(투입금액/(C*BigPointValue)); if data1(stime == 093000) Then Sell("S",OnClose,def,Vol); d2v = data2(c); if MarketPosition == -1 Then{ if d2v[BarsSinceEntry] >= 5.0 and data2(c) >= d2v*1.2 Then ExitShort(); if d2v[BarsSinceEntry] < 5.0 and data2(c) >= d2v*1.3 Then ExitShort(); } SetStopEndofday(143000); 2. input : 투입금액(10000000); var : d2v(0,data2),Vol(0,data1); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then Vol = int(int(투입금액/C)/10)*10; Else Vol = int(투입금액/C); } if CodeCategory == 2 Then Vol = int(투입금액/C); if CodeCategory == 6 Then Vol = int(투입금액/(C*BigPointValue)); if data2(stime == 093000) Then d2v = data2(c); if data2(stime > 093000) Then{ if d2v >= 5.0 and data2(c) >= d2v*1.2 Then buy("b1",OnClose,def,Vol); if d2v < 5.0 and data2(c) >= d2v*1.3 Then buy("b2",OnClose,def,Vol); } SetStopEndofday(143000); 즐거운 하루되세요 > 은색 님이 쓴 글입니다. > 제목 : 수식수정 부탁드립니다. > 글번호 "22099" 에서 문의드린 내용에 대해서 수식 작성해 주셔서 감사합니다. 몇 가지 추가 요청사항이 있습니다. 1. 진입수량과 금액을 설정창에서 지정하라고 하셨는데, 수식 내에서 구현하고 싶습니다. 혹시 불가능한 것이 아니라면 수식내에서 구현할 수 있도록 작성을 부탁드립니다. 2. 작성해주신 수식을 보면 제가 부탁드린 첫번째 수식은 조건이 만족되면 '매도'하는 것입니다. 수식의 3번째와 4번째 줄에 있는 if data1(stime == 093000) Then buy(); 여기서 buy(); 부분이 buy가 아니라 sell이 맞는 것 아닌가 싶습니다. 단순 실수인 것 같지만 혹시 제가 실수하는 건 아닌가 싶어 질문드립니다. 혹시 저것이 실수라면 다른 식들은 추가로 수정되어야 할 것이 없는지도 검토 부탁드립니다. 감사합니다. <운영자님의 답변내용> 안녕하세요 예스스탁입니다. 진입수량이나 금액은 시스템 트레이딩 설정창의 비용/수량 탭에서 지정하시면 됩니다. 1. var : d2v(0,data1); if data1(stime == 093000) Then buy(); d2v = data2(c); if MarketPosition == 1 Then{ if d2v[BarsSinceEntry] >= 5.0 and data2(c) >= d2v*1.2 Then exitlong(); if d2v[BarsSinceEntry] < 5.0 and data2(c) >= d2v*1.3 Then exitlong(); } SetStopEndofday(143000); 2. var : d2v(0,data2); if data2(stime == 093000) Then d2v = data2(c); if data2(stime > 093000) Then{ if d2v >= 5.0 and data2(c) >= d2v*1.2 Then buy(); if d2v < 5.0 and data2(c) >= d2v*1.3 Then buy(); } SetStopEndofday(143000); 즐거운 하루되세요 > 은색 님이 쓴 글입니다. > 제목 : 수식작성 문의드립니다. > 다음 두 가지 수식작성 부탁드립니다. <1번 수식> 주차트는 옵션입니다. 진입조건은, 거래 시작 시간은 9시30분으로 하고, 9시 30분 주차트 현재의 가격대로 1계약을 매도합니다(계약 개수를 1개,2개,3개 등과 같이 그때그때 마다 바꿀 수 있도록 부탁드립니다). 청산조건은 보조차트를 이용합니다. 9시30분 당시 보조차트의 가격이 5.0 이상이었으면 현재가격이 9시30분 당시 가격보다 20% 상승시(즉, 보조차트로는 손실이 발생한 경우입니다), 5.0 이하였으면 현재가격이 9시30분 당시가격보다 30%이상 상승시 매수청산합니다. 또한 위 청산조건을 만족하지 않았더라도 2시30분에는 매수청산하여 당일청산을 합니다. <수식2> 주차트는 옵션이고, 보조차트를 활용합니다. 거래 개시는 9시 30분에 합니다. 진입조건은, 9시30분 당시 보조차트의 가격이 5.0 이상이었으면 현재가격이 9시30분 당시 가격보다 20% 상승시(즉, 보조차트로는 손실이 발생한 경우입니다), 5.0 이하였으면 현재가격이 9시30분 당시가격보다 30%이상 상승시 매수진입합니다. 이 때 매수금액은 그때그때 마다 제가 입력할 수 있도록 변수로 부탁드립니다. 다른 청산조건은 없고 진입 이후에는 2시30분에 당일 청산합니다. 감사하니다.