커뮤니티

시스템식 질문드립니다.

프로필 이미지
비엔에프
2013-11-15 11:24:25
189
글번호 69504
답변완료

첨부 이미지

시스템 질문드립니다. 제가 질문을 잘 못드려도 항상 좋은 답변을 해주셔서 너무 감사드립니다. >드리구 싶은 질문은 그림1은 원익ips의 2013년 11월12일~11월14일까지 5분봉을 참고로 질문드립니다. 60분봉이나 30분봉이 아닌 꼭 5분봉에서 엔벨로프를 간단하게 period 20 Percent 1.2정도로 정하고 저 그림대로 11월12일부터 매수를 시작해서 11월14일까지 5분봉 엔벨 period 20 Percent 1.2하단 지지선에 올때마다 계속 5분할로 매수하는 시스템을 만들고 싶습니다. 전에도 몇번 부분적으로 질문을 드렸습니다만.. 중복으로 매매되는 코드 부분과 분할매수 하는 코드부분을 섞어서 나름 만들어보았습니다만.. 제 생각대로 되지 않는 애로사항이 11월 13일을 기준으로 보면 =>>예스스탁님이 11월8일날 답변해주신 (Date로 날짜를 지정한 날에 오전에 벌써 매수하고 싶은 가격을 내렷다가 올라가도 오후에 다시 매수할수 있는 시스템을 만들구 싶다구 문의드릴때) "혹은 피라미딩을 설정하셔서 매수신호가 연속적으로 나오게 하시는 방법도 있습니다. 해당 수식을 거실때 시스템 트레이딩 설정창의 피라미딩탭에서 피라미딩을 모든신호허용으로 설정하고 적용하시면 됩니다. 다만 해당식이 종가가 4900보다 낮으면 조건이 계속 만족하므로 아래와 같이 하향이탈하는 것으로 변경해서 작성해 주셔야 합니다. 종가가 지정된 값보다 위에 있다가 아래로 내려오는 경우에 계속 매수가 됩니다. var:매매일(20131107); if 매매일 == Date and MarketPosition ==0 and CrossDown(C,4900) then buy(); " 이렇게 말씀해주셨는데 제가 엔벨라인에 대입해보려고 ==]] 이십분선 = ma(c,20); 엔벨지지선 = 이십분선 + int( 이십분선 * -0.012); //엔벨 Period 20 Percent 1.2를 이런식으로 해보았습니다. if 매매일 == Date and CrossDown(C,엔벨지지선) then { buy("b1",Atlimit,엔벨지지선,매수수량); buy("b2",Atlimit,엔벨지지선-PriceScale*1,매수수량); buy("b3",Atlimit,엔벨지지선-PriceScale*2,매수수량); buy("b4",Atlimit,엔벨지지선-PriceScale*3,매수수량); buy("b5",Atlimit,엔벨지지선-PriceScale*4,매수수량); } ==]] 이렇게 작성해 보았는데 전에 한번 설명들은거 같은데 분봉이 완성이 되어야 매수가 되기 때문에 그림의 B지점은 분할매수가 되지만(분할매수가 되도 높은 가격으로 매수가 되네여) C지점은 분봉저점이 지지라인에 닿았어도 매수가 되지 않는거 같습니다.(5번 분할매수하는 이유는 엔벨을 꼭 찍지 않거나 엔벨 밑으로 빠지거나 하는 경우가 많아서 분할매수 하기위해서입니다. ) 꼭 5분봉에서의 엔벨로프를 쓰고 싶습니다만.. 어떤 방법이 없을까요.. 그리고 날짜를 시작날짜11월12일부터 종료날짜 11월14일로 정하면 11월12일 A지점 11월13일 B지점 C지점 11월14일 D지점에 계속 매수가 되게 할려면 어떻게 하면 좋을지 모르겠습니다. (점선 엔벨지지라인은 지표에서 plot으로 엔벨지지선을 그린겁니다.) ------------------------------------ 그림 2는 전에 설명해주신 방법을 짜깁기 해서 분봉가격대에서 ==]] 엔벨지지선 = 이십분선 + int( 이십분선 * -0.009); //엔벨 Period 20 Percent 1.2 지지라인 보다 조금 위에서 잡히게 0.009로 해보았습니다. count =0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count =count + 1; } if stime == 150000 and MarketPosition <20 and sdate == 전일 then { //stime은 왜썼는지 기억은 안나네여.. buy("b1",Atlimit,엔벨지지선,매수수량); buy("b2",Atlimit,엔벨지지선-PriceScale*1,매수수량); buy("b3",Atlimit,엔벨지지선-PriceScale*2,매수수량); buy("b4",Atlimit,엔벨지지선-PriceScale*3,매수수량); buy("b5",Atlimit,엔벨지지선-PriceScale*4,매수수량); } ==]] 요렇게 해서 해보면 그림 B처럼 분봉의 밑에 저가부분근처에서 매수가 들어갑니다만, 대신 B ,C지점에 다시 내려왔을때 매수가 중복매 수가 안되고 crossdown으로 해보면 그림 A의 11월 13일의 C부분이 잡히지 않는 문제가 생깁니다. 두서없이 질문드려 죄송합니다. 질문의 요지는 어느 기간을 정하거나 어느 날짜를 정해서 시스템을 걸으면 엔벨 지지라인에서 분할매수가 하루에 몇번이고 지지라인만 오면 중복으로 되게 하는 시스템을 만들어보고 싶습니다. 잘 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-11-15 14:01:01

> 비엔에프 님이 쓴 글입니다. > 제목 : 시스템식 질문드립니다. > 시스템 질문드립니다. 제가 질문을 잘 못드려도 항상 좋은 답변을 해주셔서 너무 감사드립니다. >드리구 싶은 질문은 그림1은 원익ips의 2013년 11월12일~11월14일까지 5분봉을 참고로 질문드립니다. 60분봉이나 30분봉이 아닌 꼭 5분봉에서 엔벨로프를 간단하게 period 20 Percent 1.2정도로 정하고 저 그림대로 11월12일부터 매수를 시작해서 11월14일까지 5분봉 엔벨 period 20 Percent 1.2하단 지지선에 올때마다 계속 5분할로 매수하는 시스템을 만들고 싶습니다. 전에도 몇번 부분적으로 질문을 드렸습니다만.. 중복으로 매매되는 코드 부분과 분할매수 하는 코드부분을 섞어서 나름 만들어보았습니다만.. 제 생각대로 되지 않는 애로사항이 11월 13일을 기준으로 보면 =>>예스스탁님이 11월8일날 답변해주신 (Date로 날짜를 지정한 날에 오전에 벌써 매수하고 싶은 가격을 내렷다가 올라가도 오후에 다시 매수할수 있는 시스템을 만들구 싶다구 문의드릴때) "혹은 피라미딩을 설정하셔서 매수신호가 연속적으로 나오게 하시는 방법도 있습니다. 해당 수식을 거실때 시스템 트레이딩 설정창의 피라미딩탭에서 피라미딩을 모든신호허용으로 설정하고 적용하시면 됩니다. 다만 해당식이 종가가 4900보다 낮으면 조건이 계속 만족하므로 아래와 같이 하향이탈하는 것으로 변경해서 작성해 주셔야 합니다. 종가가 지정된 값보다 위에 있다가 아래로 내려오는 경우에 계속 매수가 됩니다. var:매매일(20131107); if 매매일 == Date and MarketPosition ==0 and CrossDown(C,4900) then buy(); " 이렇게 말씀해주셨는데 제가 엔벨라인에 대입해보려고 ==]] 이십분선 = ma(c,20); 엔벨지지선 = 이십분선 + int( 이십분선 * -0.012); //엔벨 Period 20 Percent 1.2를 이런식으로 해보았습니다. if 매매일 == Date and CrossDown(C,엔벨지지선) then { buy("b1",Atlimit,엔벨지지선,매수수량); buy("b2",Atlimit,엔벨지지선-PriceScale*1,매수수량); buy("b3",Atlimit,엔벨지지선-PriceScale*2,매수수량); buy("b4",Atlimit,엔벨지지선-PriceScale*3,매수수량); buy("b5",Atlimit,엔벨지지선-PriceScale*4,매수수량); } ==]] 이렇게 작성해 보았는데 전에 한번 설명들은거 같은데 분봉이 완성이 되어야 매수가 되기 때문에 그림의 B지점은 분할매수가 되지만(분할매수가 되도 높은 가격으로 매수가 되네여) C지점은 분봉저점이 지지라인에 닿았어도 매수가 되지 않는거 같습니다.(5번 분할매수하는 이유는 엔벨을 꼭 찍지 않거나 엔벨 밑으로 빠지거나 하는 경우가 많아서 분할매수 하기위해서입니다. ) 꼭 5분봉에서의 엔벨로프를 쓰고 싶습니다만.. 어떤 방법이 없을까요.. 그리고 날짜를 시작날짜11월12일부터 종료날짜 11월14일로 정하면 11월12일 A지점 11월13일 B지점 C지점 11월14일 D지점에 계속 매수가 되게 할려면 어떻게 하면 좋을지 모르겠습니다. (점선 엔벨지지라인은 지표에서 plot으로 엔벨지지선을 그린겁니다.) ------------------------------------ 그림 2는 전에 설명해주신 방법을 짜깁기 해서 분봉가격대에서 ==]] 엔벨지지선 = 이십분선 + int( 이십분선 * -0.009); //엔벨 Period 20 Percent 1.2 지지라인 보다 조금 위에서 잡히게 0.009로 해보았습니다. count =0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count =count + 1; } if stime == 150000 and MarketPosition <20 and sdate == 전일 then { //stime은 왜썼는지 기억은 안나네여.. buy("b1",Atlimit,엔벨지지선,매수수량); buy("b2",Atlimit,엔벨지지선-PriceScale*1,매수수량); buy("b3",Atlimit,엔벨지지선-PriceScale*2,매수수량); buy("b4",Atlimit,엔벨지지선-PriceScale*3,매수수량); buy("b5",Atlimit,엔벨지지선-PriceScale*4,매수수량); } ==]] 요렇게 해서 해보면 그림 B처럼 분봉의 밑에 저가부분근처에서 매수가 들어갑니다만, 대신 B ,C지점에 다시 내려왔을때 매수가 중복매 수가 안되고 crossdown으로 해보면 그림 A의 11월 13일의 C부분이 잡히지 않는 문제가 생깁니다. 두서없이 질문드려 죄송합니다. 질문의 요지는 어느 기간을 정하거나 어느 날짜를 정해서 시스템을 걸으면 엔벨 지지라인에서 분할매수가 하루에 몇번이고 지지라인만 오면 중복으로 되게 하는 시스템을 만들어보고 싶습니다. 잘 부탁드립니다.