При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
Существуют 11 видов событий, которые можно обрабатывать с помощью функции предопределенной функции OnChartEvent(). Для пользовательских событий предусмотрено 65535 идентификаторов в диапазоне от CHARTEVENT_CUSTOM до CHARTEVENT_CUSTOM_LAST включительно. Для генерации пользовательского события необходимо использовать функцию EventChartCustom...
winbase.mqh에 정의된 lstrcpyW(): string lstrcpyW(ushort &string1[],const string string2);
이 코드는 문자열을 클립보드에 복사합니다. 작동하도록 변경하는 방법
//+------------------------------------------------------------------+//| This piece of code will copy any text we want to the clipboard |//+------------------------------------------------------------------+/*
#import "kernel32.dll"
int GlobalAlloc(int Flags, int Size); long GlobalAlloc(uint flags,ulong bytes);
int GlobalLock(int hMem); long GlobalLock(HANDLE mem);
int GlobalUnlock(int hMem); int GlobalUnlock(HANDLE mem);
int GlobalFree(int hMem); long GlobalFree(HANDLE mem);
int lstrcpyW(int ptrhMem, string Text);
#import
#import "user32.dll"
int OpenClipboard(int hOwnerWindow); int OpenClipboard(HANDLE wnd_new_owner)
int EmptyClipboard(); int EmptyClipboard(void);
int CloseClipboard(); int CloseClipboard(void);
int SetClipboardData(int Format, int hMem); long SetClipboardData(uint format,HANDLE mem);
#import
*/#define GMEM_MOVEABLE 2#define CF_UNICODETEXT 13#include <WinAPI\winuser.mqh>
#include <WinAPI\winbase.mqh>
// Copies the specified text to the clipboard, returning true if successfulbool CopyTextToClipboard( string Text)
{
bool bReturnvalue = false ;
long wnd_new_owner= 0 ;
// Try grabbing ownership of the clipboard if (OpenClipboard(wnd_new_owner) != 0 ) {
// Try emptying the clipboardif (EmptyClipboard() != 0 ) {
// Try allocating a block of global memory to hold the text int lnString = StringLen (Text);
long hMem = GlobalAlloc(GMEM_MOVEABLE, lnString * 2 + 2 );
if (hMem != 0 ) {
// Try locking the memory, so that we can copy into itlong ptrMem = GlobalLock(hMem);
if (ptrMem != 0 ) {
// Copy the string into the global memory
lstrcpyW(ptrMem, Text);
// Release ownership of the global memory (but don't discard it)
GlobalUnlock(hMem);
// Try setting the clipboard contents using the global memoryif (SetClipboardData(CF_UNICODETEXT, hMem) != 0 ) {
// Okay
bReturnvalue = true ;
} else {
// Failed to set the clipboard using the global memory
GlobalFree(hMem);
}
} else {
// Meemory allocated but not locked
GlobalFree(hMem);
}
} else {
// Failed to allocate memory to hold string
}
} else {
// Failed to empty clipboard
}
// Always release the clipboard, even if the copy failed
CloseClipboard();
} else {
// Failed to open clipboard
}
return (bReturnvalue);
}
voidOnStart (){
bool re = false ;
re =CopyTextToClipboard( "11111" );
printf (re);
}
나에게 뭐가 문제 니? 미결 주문만 고려하도록 하는 방법은 무엇입니까? 이 코드는 아직 부분적으로 마감된 주문을 캡처하므로 필요하지 않습니다.
좌표가 아닌 가격과 시간으로 묶인 OBJ_RECTANGLE 개체 가 있습니다.
그리고? 좋아요. 타임라인을 압축하면 사각형도 압축됩니다. 논리적인가요? 당신은 논리에 어려움을 겪고 있습니까?
차트 이동을 추적합니다.
그리고? 좋아요. 타임라인을 압축하면 사각형도 압축됩니다. 논리적인가요? 당신은 논리에 어려움을 겪고 있습니까?
차트 이동을 추적합니다.
어느 쪽을 파야 하는지 묻는 요청입니다.
어느 쪽을 파야 하는지 묻는 요청입니다.
이 게시물에서 내 힌트를 인용했습니다.
목적에 따라 사용할 수 있는 여러 유형의 개체가 있습니다. 지금 사용하고 있는 것이 작동하지 않습니다.
몇 가지 옵션이 남아 있습니다. 그리고 그들 모두가 여기에 있습니다. 읽기만 하면 되고 명확하지 않은 것은 다음과 같이 질문하십시오.
어느 쪽을 파야 하는지 묻는 요청입니다.
위에 표시된 개체 및 다음과 같습니다.
위에 표시된 개체 및 다음과 같습니다.
내 문제를 해결할 개체가 표시되지 않습니다. 프레임을 지원하면 OBJ_TEXT 인가요!?
내 문제를 해결할 개체가 표시되지 않습니다. 프레임을 지원하면 OBJ_TEXT 인가요!?
Rectangle_label이 필요한 것입니다.
그러나 ChartTimePriceToXY를 사용하여 Time, Price를 좌표로 변환하려고했습니다. 나는 그럭저럭 올바른 위치에 그렸지만, 다시 그래프를 스크롤할 때, 그것은 나에게 적합하지 않은 정지 상태로 서 있습니다.
BitMap과 같은 이야기는 좌표로 연결되기 때문에 차트를 스크롤할 때 모든 BitMap이 정지되어 있기 때문에 이것은 저에게 적합하지 않습니다.
그렇다면 일반적으로 문제는 위에서 설명한 내 아이디어를 구현할 수 있습니까?
Rectangle_label이 필요한 것입니다.
그러나 ChartTimePriceToXY를 사용하여 Time, Price를 좌표로 변환하려고했습니다. 나는 그럭저럭 올바른 위치에 그렸지만, 다시 그래프를 스크롤할 때, 그것은 나에게 적합하지 않은 정지 상태로 서 있습니다.
BitMap과 같은 이야기는 좌표로 연결되기 때문에 차트를 스크롤할 때 모든 BitMap이 정지되어 있기 때문에 이것은 저에게 적합하지 않습니다.
그렇다면 일반적으로 문제는 위에서 설명한 내 아이디어를 구현할 수 있습니까?
네.
OnChartEvent() 에 대한 도움말 링크를 제공했습니다.
안녕하세요 여러분, MT5의 lstrcpyW()에 문제가 있습니다.
winbase.mqh에 정의된 lstrcpyW(): string lstrcpyW(ushort &string1[],const string string2);
이 코드는 문자열을 클립보드에 복사합니다. 작동하도록 변경하는 방법