[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 323

 
Diubakin :
글쎄요... 어떻게 할까요? 비밀이 아니라면...
한 가지 방법이 있습니다. 아무에게도 말하지 마십시오. 이것은 끔찍한 비밀입니다.
사이트에서 Google 검색 실행 - 비표준 TF site:mql4.com 및 "EA on equivolume(standalone) 차트 등의 옵션"에서 거래
아니면 Zhunko가 참지 못하고 개인적으로 씹어 먹을 때까지 기다리세요 :))
 
Diubakin :
음... 어떻게 할까요? 비밀이 아니라면...

비밀이 아닙니다. 여기에 대해 많이 쓰여 있습니다. 스토리가 어떻게 만들어졌는지는 중요하지 않습니다. 요점은 Expert Advisor가 차트에서 작동하도록 차트를 업데이트하는 것입니다.

WinAPI를 사용하여 수행할 수 있습니다. 여기에 여러 번 설명되어 있습니다. 나는 내 자신의 라이브러리 를 썼다. 여기 에 게시됨 .

그래프의 오프라인 업데이트를 관리하는 기능이 있습니다. 스크립트나 전문가가 필요하지 않습니다. 하지만 모든 사람을 위한 것은 아닙니다. 모든 사람이 Expert Advisor나 스크립트 또는 지표에서 차트를 업데이트할 수 있는 기능도 있습니다. 그들은 사용하기가 더 어렵습니다. 일정을 업데이트할 프로그램을 파악해야 하기 때문입니다. 예제는 테스트 스크립트에 있습니다.

 

친애하는 프로그래머.

현재 막대에 이동 평균 수준의 값이 표시되도록 설정하는 방법을 알려주실 수 있습니까?

나는 이동 평균 자체의 값이 아니라 그 수준의 값을 의미합니다(MA 메뉴의 "수준" 탭에서 구성되는 위아래 편차).

이러한 값 자체가 MA 수준을 따르고 변경되도록 합니다.

그리기는 옵션 중 하나입니다.

미리 감사드립니다.



 
Diubakin :


비밀에 관해서는, 나는 이미 이해했다). 나는 기사를 읽고 포럼을보고 검색을 통해 보았습니다. 비표준 차트를 테스터에 넣는 방법, 빌드하는 방법에 대해 작성되어 있지만 이러한 차트의 전문가가 실시간으로 작업할 수 있도록 하려면 어떻게 해야 하는지에 대한 예를 찾지 못했습니다 .

WinAPI는 저에게 어두운 숲입니다. 빌더 또는 mql4의 전문가 내부에서 작업을 수행하거나 빌더와 전문가를 결합하는 방법이 있습니까?

답변 감사합니다.

내가 신비에 대해 말할 때 나는 탐색의 위대한 신비를 의미했습니다. 그것은 그 안에 있습니다. 그가 보여줄 자료를 읽을 필요가 있다는 것입니다. 나는 이미 링크를 제공하는 것이 두렵고 완성된 텍스트를 인용합니다.

2007년 9월 3일

... Expert Advisors가 오프라인 차트에서 작업하려면 다음을 추가해야 합니다.

시작 시:

int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //EA에 대한 수신 틱

첫 번째 PostMessageA 이후

PostMessageA(hwnd,MT4InternalMsg,2,1); //EA에 대한 수신 틱

음, WinUser32.mqh에서 user32.dll 기능에 대한 설명에 다음을 추가하십시오.

int RegisterWindowMessageA(문자열 lpString);

(이 솔루션은 영어 포럼에서 Slava가 제안했습니다)

 
브로커와의 서신에서 - "차트는 시장에 대한 아이디어를 제공하기 위해 사용됩니다. 그는 업데이트에 대해 ..... 비난할 수 없습니다. 업데이트는 MT4 플랫폼을 사용하는 모든 브로커에 대해 기본적으로 설정되어 있기 때문입니다." 이것은 어떻게 이해될 수 있으며 브로커는 무엇을 의미했습니까? MT4의 어떤 기능에 대해 이야기하고 있습니까? 현재 차트와 Market Watch 창에 표시된 가격이 동시에 시장이면서 동시에 실행될 수 없는 경우는 무엇입니까? 말씀의 요지를 이해할 수 있도록 도와주시기 바랍니다. 나는 OrderSend 기능 에 대한 링크를 예상하고 거래를 여는 데 사용되는 MTS의 코드를 제공합니다.

새로 고침 비율();

ticket=OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),0,NormalizeDouble(Ask+15*Point,Digits),0,"테스트",8,0,빨간색);

나는 개발자의 의견에 대해 매우 감사할 것입니다.
 

granit77 :
Когда я говорил о тайне, то имел в виду великую тайну поиска. Она заключается в том. что надо ПРОЧИТАТЬ материалы, на которые он покажет. Ссылки уже боюсь давать, привожу готовый текст.

2007년 9월 3일

... Expert Advisors가 오프라인 차트에서 작업하려면 다음을 추가해야 합니다.

시작 시:

int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //EA에 대한 수신 틱

첫 번째 PostMessageA 이후

PostMessageA(hwnd,MT4InternalMsg,2,1); //EA에 대한 수신 틱

음, WinUser32.mqh에서 user32.dll 기능에 대한 설명에 다음을 추가하십시오.

int RegisterWindowMessageA(문자열 lpString);

내 라이브러리에는 이 코드 대신 하나의 기능이 있습니다.
 
RefreshRates(); 가 도움이 될까요? requotes 를 줄이기 위해 티켓 전에 적어도 조금?
 
Shniperson :
RefreshRates(); 가 도움이 될까요? requotes를 줄이기 위해 티켓 전에 적어도 조금?


상황에 따라 다릅니다. 연속으로 두 개의 주문을 하는 경우 두 번째 주문을 하기 전에 RefreshRates()를 호출하는 것이 좋습니다. 봐, 당신은 주문을 열기 위해 서버에 주문을 보냅니다. 서버가 응답하는 동안 일정 시간이 경과합니다. 이 시간 동안 따옴표가 변경될 수 있으므로 서버가 응답하는 즉시 터미널의 데이터를 업데이트하는 RefreshRates() 함수를 호출 해야 합니다. 이제 다음 주문을 열도록 명령을 내릴 수 있습니다. 신호를 확인하고 즉시 주문하면 RefreshRates()를 호출할 필요가 없습니다. 음, 단순히 시작 기능이 새로운 틱의 도착에 의해 호출되기 때문에 그리고 어드바이저가 신호를 확인할 때까지의 시간을 무시하는 것이 가능합니다.

근데 티켓이 뭐야? 티켓은 서버에서 주문한 일련 번호입니다...

 
글쎄, 나는 티켓을 의미했다=OrderSend(.......)
 
Shniperson :
글쎄, 나는 티켓을 의미했다=OrderSend(.......)

그리고 그들이 당신에게 무엇을 말했습니까? ...