젠장, 무슨 일이 벌어지고 있는지 정말 모르겠어? 아니면 이런 식으로 모퉁이를 자르려고 하는 거야?
어느 패널에서나 가장 기본적이고 어려운 순간은 일관된 상태를 표시하는 것입니다. 주문이 열려 있으면 표시되어야 하고 "거래" 탭에 없으면 패널에도 없어야 합니다. 이것은 기본적이며 개념적으로 "매우 간단합니다". 그러나 "매우 간단하게" 만들려면 상태 모델을 기반으로 하는 패널이 필요합니다. 당신은 그런 것이 없지만 사용자 객체에 채워진 문자열에 일관성이 없는 비뚤어진 데이터베이스가 있습니다.
그리고 이제 당신은 문제가 없다는 것을 우리에게 증명하려고 노력하고 있습니다. 테이블에 표시되지 않는 주문은 정상 입니다. 테이블에 주문이 있지만 실제로는 오랫동안 닫혀 있는 주문도 정상입니다. 그리고 일반적으로 모든 것이 매우 정상적이고 좋으며 위치 수만 20개로 제한됩니다.
귀하는 질문이 정기적인 방법으로 주문의 개시/종료를 수정하는 구현에 있음을 이해합니다. 이것은 테이블 자체의 메커니즘의 일부가 아닙니다. 이것은 CUSTOM 메커니즘입니다!
엔진과 테이블의 구현을 비판하는 것보다 주문의 개폐 를 고정하는 메커니즘을 올바르게 작성하는 것이 좋습니다.
이를 위해 사용자는 틱 또는 타이머에 대한 주문 순환을 작성하고 자신의 티켓을 배열에 작성된 티켓과 비교해야 합니다. 배열에 티켓이 없으면 주문이 방금 열렸고 E_Main_form_1__PnL( OrderTicket(),OrderProfit());
4. 이 주기를 순서대로 올바르게 작성하면 테이블이 올바르게 작동합니다....
그냥 잊어버렸어...
그러나 이것이 동적 테이블 자체가 작동하지 않는다는 것을 의미하지는 않습니다.
젠장, 사용자는 문서에 익숙할 것입니다. 그는 무엇을 어떤 배열에 넣을지, 이 모든 것을 업데이트하는 방법을 알고 있습니까? 어떻게, 무엇을 했는지, 어디서 무엇을 밀어넣었는지 이해하기 위해 코드에서 정확히 알 수 있도록 완벽하게 작동하는 데모를 작성해 달라고 요청했지만, 당신은 내 TK로 자신을 닦고 비뚤어진 형태로 나에게 반환했습니다. 작업대!
나는 당신, 당신의 코드, 당신이 하는 모든 일, 일종의 사람들에 대한 무시를 많이 느낍니다. 하지만 세부 사항에 관해서는 헛소리가 시작됩니다. 작지만 좋은 품질, 한 가지만 하십시오. 그래서 당신은 그들이 말하는 모든 것이 단순히 해결되고 기초적이라고 말합니다. 그러나 웬일인지 나는 종류가 아무것도 없는 결정을 내렸습니다. 2주 만에 이 모든 간단한 트릭을 수행하지 못한 이유는 무엇입니까?
부정적인 분위기에 대해 죄송합니다. 당신은 단지 나를 실망시켰습니다. 점점 더 잘 보이기를 바랐다. 데모를 수정하십시오. 응용 프로그램에 따라 질적으로 잘 만드십시오. "예, 기본입니다. 여기서 수정해야 합니다." 즉시 테스트할 수 있는 솔루션을 제안하십시오.
바실리, 감정은 필요 없습니다. 저는 조금도 섭섭한 마음이 없었습니다. 단지 오랫동안 주문 작업을 하지 않고 수행 방법을 잊어버린 것뿐입니다. 그러나 이것은 사용자 정의 작업입니다.
바실리, 감정은 필요 없습니다. 저는 조금도 섭섭한 마음이 없었습니다. 단지 오랫동안 주문을 처리하지 않고 수행하는 방법을 잊어버린 것뿐입니다. 그러나 이것은 사용자 정의 작업입니다.
하지만 어쨌든 할 것입니다. 어렵다고 생각하시면서...
그렇게 하세요. 나는 그것이 어렵다고 생각하지 않지만, 귀하의 엔진에 대한 문서가 없고 어떤 배열을 어떤 매개변수로 업데이트해야 하는지도 모른다는 것을 반복합니다. 필요한 것은 완전한 솔루션 형태의 데모입니다. 이런 식으로 만 당신이 무엇을, 어떻게 부름 받았는지, 어떻게 작동하는지 이해할 수 있습니다. 이것이 바로 내가 당신에게 기대한 것입니다. 그렇게 하면 기술 솔루션에 대해 논의할 것입니다. 그리고 일반적으로 제3자 비판을 긍정적으로 받아들입니다. 부정적인 피드백은 일반적으로 긍정적인 것보다 더 가치가 있습니다.
젠장, 무슨 일이 벌어지고 있는지 정말 모르겠어? 아니면 이런 식으로 모퉁이를 자르려고 하는 거야?
어느 패널에서나 가장 기본적이고 어려운 순간은 일관된 상태를 표시하는 것입니다. 주문이 열려 있으면 표시되어야 하고 "거래" 탭에 없으면 패널에도 없어야 합니다. 이것은 기본적이며 개념적으로 "매우 간단합니다". 그러나 "매우 간단하게" 만들려면 상태 모델을 기반으로 하는 패널이 필요합니다. 당신은 그런 것이 없지만 사용자 객체에 채워진 문자열에 일관성이 없는 비뚤어진 데이터베이스가 있습니다.
그리고 이제 당신은 문제가 없다는 것을 우리에게 증명하려고 노력하고 있습니다. 테이블에 표시되지 않는 주문은 정상 입니다. 테이블에 주문이 있지만 실제로는 오랫동안 닫혀 있는 주문도 정상입니다. 그리고 일반적으로 모든 것이 매우 정상적이고 좋으며 위치 수만 20개로 제한됩니다.
귀하는 질문이 정기적인 방법으로 주문의 개시/종료를 수정하는 구현에 있음을 이해합니다. 이것은 테이블 자체의 메커니즘의 일부가 아닙니다. 이것은 CUSTOM 메커니즘입니다!
엔진과 테이블의 구현을 비판하는 것보다 주문의 개폐 를 고정하는 메커니즘을 올바르게 작성하는 것이 좋습니다.
그리고 모든 것이 올바르게 작동합니다!
4. 이 주기를 순서대로 올바르게 작성하면 테이블이 올바르게 작동합니다....
그냥 잊어버렸어...
그러나 이것이 동적 테이블 자체가 작동하지 않는다는 것을 의미하지는 않습니다.
젠장, 사용자는 문서에 익숙할 것입니다. 그는 무엇을 어떤 배열에 넣을지, 이 모든 것을 업데이트하는 방법을 알고 있습니까? 어떻게, 무엇을 했는지, 어디서 무엇을 밀어넣었는지 이해하기 위해 코드에서 정확히 알 수 있도록 완벽하게 작동하는 데모를 작성해 달라고 요청했지만, 당신은 내 TK로 자신을 닦고 비뚤어진 형태로 나에게 반환했습니다. 작업대!
나는 당신, 당신의 코드, 당신이 하는 모든 일, 일종의 사람들에 대한 무시를 많이 느낍니다. 하지만 세부 사항에 관해서는 헛소리가 시작됩니다. 작지만 좋은 품질, 한 가지만 하십시오. 그래서 당신은 그들이 말하는 모든 것이 단순히 해결되고 기초적이라고 말합니다. 그러나 웬일인지 나는 종류가 아무것도 없는 결정을 내렸습니다. 2주 만에 이 모든 간단한 트릭을 수행하지 못한 이유는 무엇입니까?
부정적인 분위기에 대해 죄송합니다. 당신은 단지 나를 실망시켰습니다. 점점 더 잘 보이기를 바랐다. 데모를 수정하십시오. 응용 프로그램에 따라 질적으로 잘 만드십시오. "예, 기본입니다. 여기서 수정해야 합니다." 즉시 테스트할 수 있는 솔루션을 제안하십시오.
바실리, 감정은 필요 없습니다. 저는 조금도 섭섭한 마음이 없었습니다. 단지 오랫동안 주문 작업을 하지 않고 수행 방법을 잊어버린 것뿐입니다. 그러나 이것은 사용자 정의 작업입니다.
하지만 어쨌든 할 것입니다. 어렵다고 생각하시면서...
바실리, 감정은 필요 없습니다. 저는 조금도 섭섭한 마음이 없었습니다. 단지 오랫동안 주문을 처리하지 않고 수행하는 방법을 잊어버린 것뿐입니다. 그러나 이것은 사용자 정의 작업입니다.
하지만 어쨌든 할 것입니다. 어렵다고 생각하시면서...
그렇게 하세요. 나는 그것이 어렵다고 생각하지 않지만, 귀하의 엔진에 대한 문서가 없고 어떤 배열을 어떤 매개변수로 업데이트해야 하는지도 모른다는 것을 반복합니다. 필요한 것은 완전한 솔루션 형태의 데모입니다. 이런 식으로 만 당신이 무엇을, 어떻게 부름 받았는지, 어떻게 작동하는지 이해할 수 있습니다. 이것이 바로 내가 당신에게 기대한 것입니다. 그렇게 하면 기술 솔루션에 대해 논의할 것입니다. 그리고 일반적으로 제3자 비판을 긍정적으로 받아들입니다. 부정적인 피드백은 일반적으로 긍정적인 것보다 더 가치가 있습니다.
동적 테이블이 어떻게 작동하는지 설명하겠습니다.
1. 매수/매도 버튼을 클릭하면 버튼 자체의 케이스 블록에 있는 External Connection 파일로 시그널이 갑니다.
함수 E_Main_form_1__Price(ticket, OrderOpenPrice ()); 새 티켓이 전송됩니다.
티켓이 이미 있는 경우 원하는 행이 자동으로 선택되고 새 값이 거기에 설정됩니다.
테이블 행을 닫으려면 E_Main_form_1_CLOSE_ROW___Orders_table(ticket) 함수를 호출하십시오 .
티켓 - 행 티켓을 의미합니다 .
동적 테이블이 어떻게 작동하는지 설명하겠습니다.
1. 매수/매도 버튼을 클릭하면 버튼 자체의 케이스 블록에 있는 External Connection 파일로 시그널이 갑니다.
함수 E_Main_form_1__Price(ticket, OrderOpenPrice ()); 새 티켓이 전송됩니다.
티켓이 이미 있는 경우 원하는 행이 자동으로 선택되고 새 값이 거기에 설정됩니다.
테이블 행을 닫으려면 E_Main_form_1_CLOSE_ROW___Orders_table(ticket) 함수를 호출하십시오 .
티켓 - 행 티켓을 의미합니다 .
Peter, 미결 주문을 처리하고 주문 목록의 변경 사항을 테이블로 보내는 타이머에 for 루프를 만드십시오. 또한 테이블의 주문 수익도 동적으로 변경되도록 만드십시오.
동적 테이블이 어떻게 작동하는지 설명하겠습니다.
1. 매수/매도 버튼을 클릭하면 버튼 자체의 케이스 블록에 있는 External Connection 파일로 시그널이 갑니다.
함수 E_Main_form_1__Price(ticket, OrderOpenPrice ()); 새 티켓이 전송됩니다.
티켓이 이미 있는 경우 원하는 행이 자동으로 선택되고 새 값이 거기에 설정됩니다.
테이블 행을 닫으려면 E_Main_form_1_CLOSE_ROW___Orders_table(ticket) 함수를 호출하십시오 .
티켓 - 행 티켓을 의미합니다 .
이것은 비뚤어진 구현이며 여기에 답이 있습니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
내 접근 방식. 코어 - 엔진.
바실리 소콜로프 , 2019.01.09 13:33
Peter, 미안하지만 당신의 일은 받아들여지지 않습니다. 왜냐하면. 당신이 보낸 것은 드문 해킹입니다. 죄송하지만 보내주신 내용을 실행한 사람은 저뿐이며 검사는 저 외에는 아무도 하지 않는 것 같습니다.
따라서 순서대로 작업은 다음과 같았습니다.
대신 내가 보는 것:
첫째, 거래는 구매/판매 버튼을 클릭해야만 패널에서 열 수 있습니다. 표준 창을 통해 포지션을 열면 거래가 나타나지 않습니다 .
....
여러 개의 동적 테이블이 있다고 가정해 보겠습니다.
이러한 테이블 작업을 위한 래퍼 기능은 연결 속성 파일에 자동으로 인쇄됩니다.
여기 좋은 예가 있습니다. 동적 테이블 Orders_table을 그렸습니다.
다음은 우리가 얻은 래퍼 기능입니다.
주의를 기울이겠습니다. 이름 끝에 있는 각 래퍼에는 테이블 열의 이름이 있습니다.
특정 요소는 지정되지 않고 Magic 행만 지정됩니다.
즉, 기존 행의 셀에 새 값을 설정하려면 해당 행의 마법과 값을 보내야 합니다.
존재하지 않는 행의 셀에 새 값을 설정하려면 해당 마법과 값을 보내야 합니다. 행이 자동으로 생성됩니다.
테이블의 행을 삭제하려면 CLOSE_ROW 라는 단어로 래퍼를 호출해야 합니다.
예를 들어:
그리고 닫아야 할 행의 마법을 그것에 옮깁니다.
모두.
Peter, 미결 주문을 처리하고 주문 목록의 변경 사항을 테이블로 보내는 타이머에 for 루프를 만드십시오. 또한 테이블의 주문 수익도 동적으로 변경되도록 만드십시오.
좋습니다. 주문 작업을 위한 루프와 코드를 작성할 것이지만 리소스를 통한 통신을 위한 엔진을 이미 다시 만들었고 테스트 중이기 때문에 직접 입력하라고 말할 것입니다. 이제 이전 연결을 되돌릴 수 없지만 새 연결은 아직 완료되지 않았습니다.
좋습니다. 주문 작업을 위한 루프와 코드를 작성할 것이지만 리소스를 통한 통신을 위한 엔진을 이미 다시 만들었고 테스트 중이기 때문에 직접 입력하라고 말할 것입니다. 이제 이전 연결을 되돌릴 수 없지만 새 연결은 아직 완료되지 않았습니다.
데모로 첨부한 엔진 버전으로 플레이하세요.
즉, 기존 행의 셀에 새 값을 설정하려면 해당 행의 마법과 값을 보내야 합니다.
모든 것이 간단해 보입니다. 귀하의 접근 방식이 생각대로 작동한다면 동적 테이블이나 타이머를 통해 위치 값을 업데이트하는 데 아무런 문제가 없습니다. 피터, 왜 처음부터 꼽추를 조각해야 했습니까?;)