그리고 실제로 기성품 .dll(더 이상 변경할 수 없음)을 사용하는 경우 추가 정렬 없이는 할 수 없습니다. 그러나 x86 및 x64에서는 이 추가가 다르게 보일 수 있습니다. 이는 구조가 TerminalInfoInteger( TERMINAL_X64 )가 작동하지 않는 .mq5 파일의 컴파일 단계에서 설정되기 때문에 여전히 _WIN64의 유사체가 필요하다는 것을 의미합니다.
이제 추가 정보를 염두에 두어야 합니다. 사소하게 절약한 결과 미묘한 오류가 발생할 위험이 있습니다.
다음은 x64 및 x86에서 작동하는 GetOpenFileName이라는 개발자의 예입니다. 문제가 해결되는지 확인
.dll이 있는 프로그램이 매스 세그먼트용이 아니라는 사실에도 불구하고 다시 말하지만 선택 사항이 있어야 합니다. 별도(32\64) 컴파일 및 2배 더 간단한 코드 또는 코드의 보편성과 상당한 복잡성 게다가 _WIN64의 유사체는 _IsX64 원칙에 따라 입력할 수 있습니다(문서화되지 않았지만 사용할 수 있음)
//+------------------------------------------------------------------+ //| Cоздает прямоугольник по заданным координатам | //+------------------------------------------------------------------+ bool RectangleCreate( constlong chart_ID= 0 , // ID графика conststring name= "Rectangle" , // имя прямоугольника constint sub_window= 0 , // номер подокна datetime time1= 0 , // время первой точки double price1= 0 , // цена первой точки datetime time2= 0 , // время второй точки double price2= 0 , // цена второй точки constcolor clr= clrRed , // цвет прямоугольника constENUM_LINE_STYLE style= STYLE_SOLID , // стиль линий прямоугольника constint width= 1 , // толщина линий прямоугольника constbool fill= false , // заливка прямоугольника цветом < --- Есть только тут дальше в коде нетconstbool back= false , // на заднем плане constbool selection= true , // выделить для перемещений constbool hidden= true , // скрыт в списке объектов constlong z_order= 0 ) // приоритет на нажатие мышью
{
//--- установим координаты точек привязки, если они не заданы
ChangeRectangleEmptyPoints(time1,price1,time2,price2);
//--- сбросим значение ошибки ResetLastError ();
//--- создадим прямоугольник по заданным координатам if (! ObjectCreate (chart_ID,name, OBJ_RECTANGLE ,sub_window,time1,price1,time2,price2))
{
Print ( __FUNCTION__ ,
": не удалось создать прямоугольник! Код ошибки = " , GetLastError ());
return ( false );
}
//--- установим цвет прямоугольника ObjectSetInteger (chart_ID,name, OBJPROP_COLOR ,clr);
//--- установим стиль линий прямоугольника ObjectSetInteger (chart_ID,name, OBJPROP_STYLE ,style);
//--- установим толщину линий прямоугольника ObjectSetInteger (chart_ID,name, OBJPROP_WIDTH ,width);
//--- отобразим на переднем (false) или заднем (true) плане ObjectSetInteger (chart_ID,name, OBJPROP_BACK ,back);
//--- включим (true) или отключим (false) режим выделения прямоугольника для перемещений //--- при создании графического объекта функцией ObjectCreate, по умолчанию объект //--- нельзя выделить и перемещать. Внутри же этого метода параметр selection //--- по умолчанию равен true, что позволяет выделять и перемещать этот объект ObjectSetInteger (chart_ID,name, OBJPROP_SELECTABLE ,selection);
ObjectSetInteger (chart_ID,name, OBJPROP_SELECTED ,selection);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов ObjectSetInteger (chart_ID,name, OBJPROP_HIDDEN ,hidden);
//--- установим приоритет на получение события нажатия мыши на графике ObjectSetInteger (chart_ID,name, OBJPROP_ZORDER ,z_order);
//--- успешное выполнение return ( true );
}
최대 위치 주석 (31자)을 사용하면 툴팁에 ID를 표시할 공간이 더 이상 없는 것 같습니다.
안녕하세요!
이메일을 자주 보내는 고문이 있습니까?
하루에 시간당 얼마입니까?
16편의 편지를 보냈는데 5분 몇시간 텅텅 빈 일기장에
메일: 공간이 부족합니다.
누구든지 이 주제에 대한 경험이 있습니까?
PS Gmail google을 사용하면 1초마다 문자를 수신할 수 있습니다. 문자가 터미널/서버 대기열에 더 빨리 누적되고 더 느리게 전송된다고 가정합니다(얼마만큼?)
그리고 다시 한번 어드바이저/터미널이 편지를 대기열에 넣으려고 시도하지만 대기열은 이미 가득 찼습니다!!!
안녕하세요!
이메일을 자주 보내는 고문이 있습니까?
하루에 시간당 얼마입니까?
16편의 편지를 보냈는데 5분 몇시간 텅텅 빈 일기장에
메일: 공간이 부족합니다.
누구든지 이 주제에 대한 경험이 있습니까?
PS Gmail google을 사용하면 1초마다 문자를 수신할 수 있습니다. 문자가 터미널/서버 대기열에 더 빨리 누적되고 더 느리게 전송된다고 가정합니다(얼마만큼?)
그리고 다시 한번 어드바이저/터미널이 편지를 대기열에 넣으려고 시도하지만 대기열은 이미 가득 찼습니다!!!
무엇 때문에? PUSH는 오랫동안 발명되었습니다.
문서 오류
문서 오류
감사합니다. 수정하겠습니다.
저는 포럼에서 _WIN64와 유사한 MetaEditor의 미리 정의된 매크로 부족에 대한 사용자 토론을 반복적으로 만났습니다. 메타에디터는 범용 32-64비트 코드를 동시에 생성하기 때문에 관리가 필요없다는 답변이 나왔다.
동시에 많은 사람들이 구조 필드를 추가하여 https://www.mql5.com/ru/forum/225498/page2#comment_6401835 정렬을 사용합니다.
그리고 실제로 기성품 .dll(더 이상 변경할 수 없음)을 사용하는 경우 추가 정렬 없이는 할 수 없습니다. 그러나 x86 및 x64에서는 이 추가가 다르게 보일 수 있습니다. 이는 구조가 TerminalInfoInteger( TERMINAL_X64 )가 작동하지 않는 .mq5 파일의 컴파일 단계에서 설정되기 때문에 여전히 _WIN64의 유사체가 필요하다는 것을 의미합니다.
이제 추가 정보를 염두에 두어야 합니다. 사소하게 절약한 결과 미묘한 오류가 발생할 위험이 있습니다.
다음은 x64 및 x86에서 작동하는 GetOpenFileName이라는 개발자의 예입니다. 문제가 해결되는지 확인
다음은 x64 및 x86에서 작동하는 GetOpenFileName이라는 개발자의 예입니다. 문제가 해결되는지 확인
실제로 코드는 거의 두 배나 더 많이 필요하며,
.dll이 있는 프로그램이 매스 세그먼트용이 아니라는 사실에도 불구하고
다시 말하지만 선택 사항이 있어야 합니다. 별도(32\64) 컴파일 및 2배 더 간단한 코드
또는 코드의 보편성과 상당한 복잡성
게다가 _WIN64의 유사체는 _IsX64 원칙에 따라 입력할 수 있습니다(문서화되지 않았지만 사용할 수 있음)
추가 인수 - 종종 하나의 .dll만 프로젝트에 첨부되며(x86 또는 x64만) 이 프로젝트의 .mqh 파일에 이와 같은 행을 설정하는 것은 불가능합니다.
예를 들어 여기 https://www.mql5.com/en/forum/224745도움말 예시
따라서 질문, mt 4에서 OBJ_RECTANGLE 의 채우기를 변경하는 방법 ???
Renat Fatkhullin :
Мы нацелены вообще скоро остановить разработки 32 битных версий Метатрейдера.
이 시간까지 실행 중에 발생하는 알려진 모든 오류를 수정하는 것이 좋습니다(예: #1841289 https://www.mql5.com/en/forum/1111/page2025#comment_5766707 ).
이 연산자와 다른 연산자의 동작은 메서드와 일치하지 않습니다. 메소드와 관련된 연산자는 구문상의 설탕에 지나지 않습니다.