커뮤니티

매수 매도 주문 처리_ 재질문

프로필 이미지
hjkang철인
2014-06-23 09:40:12
240
글번호 76016
답변완료
> 제목 : 매수 매도 주문 처리_ 재질문 > 지난번 질문입니다. > 조건1 매수("B1") 조건2 매수("B1-1") 조건3 매수("B2") 조건4 매수("B2-1") 조건5 매도("S1") 조건6 매도("S1-1") 조건7 매도("S2") 조건8 매도("S2-1") 이렇게 처리되는 경우가 있다고 가정을 할때 매수 주문의 -1 이 붙어 있는 주문의 청산 조건을 동일하게 하고... 매도 주문의 -1이 붙어 있는 주문의 청산 조건을 다르게 처리할 수 있을까요? 매수 매도의 각각 다른 이름이 상당이 많이 있는데.. 그 중에 신호가 발생한 반대 방향으로 진행될경우 청산 후 반대 신호를 내려고 하는데.. 그 반대로 나오는 신호의 이름을 같게 하려고 하기 때문입니다. 청산 조건에 or 를 써서 모두 적어야하는걸까요? 청산조건 then if IsEntryName("B-1")==True or IsEntryName("B-2")==True or 등등 then 매도 진입 상기와 같이 처리되어야 하나요? 처리 명령이 상당히 많아서 그렇습니다. /////////////////////////////////////////////////////////////////////// 답변이구요.. 그런데.. 않됩니다...^^ 안녕하세요 예스스탁입니다. InStr함수를 이용하시면 됩니다. if MarketPosition == 1 and InStr(EntryName(0),"-") > 0 and 매수청산조건 Then exitlong(); if MarketPosition == -1 and InStr(EntryName(0),"-") > 0 and 매도청산조건 Then ExitShort(); 즐거운 하루되세요 조금 자세히 적겠습니다. 현재 제 시스템에서 매수 명은 #B1-B #B11-B #B2-B #B3-B $1B $2B 매도명은 S1-S@ S2-S@ S3-S@ S31-S@ $1S $2S 이상과 같습니다. 이름 명을 변경하고 .. 위에서 알려주신데로.. Instr 함수를 써서 해보았더니.. 작동하지 않더군요... Instr 함수가 str함수라서 한글자 말고.. 단어도 될듯해서 해봐도 않되더라구요.. 제 방법으로 하면 모든 매수 매도 신호에 작용을 하구요.. 위와 같은 매수 매도 명일때... 매수에 대해서는 모두 동일하게.. 처리하고.. 매도에 대해서도 모두 동일하게 처리하려고 합니다. 동일하게 처리하면서. 별도의 매수 매도 신호명을 줄겁니다. 위에 명시한 내용으로 할때.. 일괄로 동일하게 처리될수 있도록 도움 부탁드립니다. 안녕하세요 예스스탁입니다. 첨부된 그림과 같이 해당 내용 명칭에 -가 있으면 1이상의 값이 리턴되고 없으면 0이 리턴됩니다. MessageLog("%s %.2f",EntryName(0),InStr(EntryName(0),"-")); 수식에 위 내용 하단에 추가해서 메세지로그를 디버깅창에서 확인하시기 바랍니다. 위 내용으로 처리가 안되시면 다른방법이 따로 없습니다. 라고 답변 주셨습니다. 여기에 오류가 있어서 자꾸 질문드립니다 제 매수 매도 명은 상기와 같이 매도는 '@' 이 끝에 붙어있어서 Instr 로 메시지 로그를 보면 5이상으로 나오고.. 매수는 맨 앞에 '#'이 붙어있어서 아래와 같이 작성하였습니다. 하지만. 문제는 아무 관련없는 매수명과 매도명에서도 똑같이 바로 아래구문으로 실행됩니다. if MarketPosition == -1 and InStr(EntryName(0),"@") > 4 Then Buy("B_BDD1"); if MarketPosition == 1 and InStr(EntryName(0),"#") < 3 Then Sell("S_BDD1"); 위와 같이 작성하면... '@' 와 '#' 이 들어있는 매수 매도명에서만.. 위 식으로 처리가 되어야 하는데.. 모든매수 모든 매도가...위 식으로 처리되네요... 즉 중간 중간에 조건에 맞는 다른 매수매도명의 주문이나오지만..위 식으로 와서 처리가 되니... 환장할 노릇입니다... 뭐가 비정상인지 모르겠습니다. 어떻게 도움을 받을 수 있을까요? 추가 질문.. if MarketPosition == 1 and IsEntryName("B_$SPF2") == true and 조건1 then 매도("S11"); 이렇게 작성하고 조건1 을나열하고 매도하라고 하고요.. 또 다른구문에서 같은 조건1로 매도 주문을 냈을때... B_$SPF2 의 매수 주문명일 경우 위 식이 우선 순위인가요? 아니면 다른 구문의 조건1에 우선 순위가 되나요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-06-23 14:56:41

> hjkang철인 님이 쓴 글입니다. > 제목 : 매수 매도 주문 처리_ 재질문 > > 제목 : 매수 매도 주문 처리_ 재질문 > 지난번 질문입니다. > 조건1 매수("B1") 조건2 매수("B1-1") 조건3 매수("B2") 조건4 매수("B2-1") 조건5 매도("S1") 조건6 매도("S1-1") 조건7 매도("S2") 조건8 매도("S2-1") 이렇게 처리되는 경우가 있다고 가정을 할때 매수 주문의 -1 이 붙어 있는 주문의 청산 조건을 동일하게 하고... 매도 주문의 -1이 붙어 있는 주문의 청산 조건을 다르게 처리할 수 있을까요? 매수 매도의 각각 다른 이름이 상당이 많이 있는데.. 그 중에 신호가 발생한 반대 방향으로 진행될경우 청산 후 반대 신호를 내려고 하는데.. 그 반대로 나오는 신호의 이름을 같게 하려고 하기 때문입니다. 청산 조건에 or 를 써서 모두 적어야하는걸까요? 청산조건 then if IsEntryName("B-1")==True or IsEntryName("B-2")==True or 등등 then 매도 진입 상기와 같이 처리되어야 하나요? 처리 명령이 상당히 많아서 그렇습니다. /////////////////////////////////////////////////////////////////////// 답변이구요.. 그런데.. 않됩니다...^^ 안녕하세요 예스스탁입니다. InStr함수를 이용하시면 됩니다. if MarketPosition == 1 and InStr(EntryName(0),"-") > 0 and 매수청산조건 Then exitlong(); if MarketPosition == -1 and InStr(EntryName(0),"-") > 0 and 매도청산조건 Then ExitShort(); 즐거운 하루되세요 조금 자세히 적겠습니다. 현재 제 시스템에서 매수 명은 #B1-B #B11-B #B2-B #B3-B $1B $2B 매도명은 S1-S@ S2-S@ S3-S@ S31-S@ $1S $2S 이상과 같습니다. 이름 명을 변경하고 .. 위에서 알려주신데로.. Instr 함수를 써서 해보았더니.. 작동하지 않더군요... Instr 함수가 str함수라서 한글자 말고.. 단어도 될듯해서 해봐도 않되더라구요.. 제 방법으로 하면 모든 매수 매도 신호에 작용을 하구요.. 위와 같은 매수 매도 명일때... 매수에 대해서는 모두 동일하게.. 처리하고.. 매도에 대해서도 모두 동일하게 처리하려고 합니다. 동일하게 처리하면서. 별도의 매수 매도 신호명을 줄겁니다. 위에 명시한 내용으로 할때.. 일괄로 동일하게 처리될수 있도록 도움 부탁드립니다. 안녕하세요 예스스탁입니다. 첨부된 그림과 같이 해당 내용 명칭에 -가 있으면 1이상의 값이 리턴되고 없으면 0이 리턴됩니다. MessageLog("%s %.2f",EntryName(0),InStr(EntryName(0),"-")); 수식에 위 내용 하단에 추가해서 메세지로그를 디버깅창에서 확인하시기 바랍니다. 위 내용으로 처리가 안되시면 다른방법이 따로 없습니다. 라고 답변 주셨습니다. 여기에 오류가 있어서 자꾸 질문드립니다 제 매수 매도 명은 상기와 같이 매도는 '@' 이 끝에 붙어있어서 Instr 로 메시지 로그를 보면 5이상으로 나오고.. 매수는 맨 앞에 '#'이 붙어있어서 아래와 같이 작성하였습니다. 하지만. 문제는 아무 관련없는 매수명과 매도명에서도 똑같이 바로 아래구문으로 실행됩니다. if MarketPosition == -1 and InStr(EntryName(0),"@") > 4 Then Buy("B_BDD1"); if MarketPosition == 1 and InStr(EntryName(0),"#") < 3 Then Sell("S_BDD1"); 위와 같이 작성하면... '@' 와 '#' 이 들어있는 매수 매도명에서만.. 위 식으로 처리가 되어야 하는데.. 모든매수 모든 매도가...위 식으로 처리되네요... 즉 중간 중간에 조건에 맞는 다른 매수매도명의 주문이나오지만..위 식으로 와서 처리가 되니... 환장할 노릇입니다... 뭐가 비정상인지 모르겠습니다. 어떻게 도움을 받을 수 있을까요? 추가 질문.. if MarketPosition == 1 and IsEntryName("B_$SPF2") == true and 조건1 then 매도("S11"); 이렇게 작성하고 조건1 을나열하고 매도하라고 하고요.. 또 다른구문에서 같은 조건1로 매도 주문을 냈을때... B_$SPF2 의 매수 주문명일 경우 위 식이 우선 순위인가요? 아니면 다른 구문의 조건1에 우선 순위가 되나요?