При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
Существуют 11 видов событий, которые можно обрабатывать с помощью функции предопределенной функции OnChartEvent(). Для пользовательских событий предусмотрено 65535 идентификаторов в диапазоне от CHARTEVENT_CUSTOM до CHARTEVENT_CUSTOM_LAST включительно. Для генерации пользовательского события необходимо использовать функцию EventChartCustom...
Mas tentei traduzir Time, Price with ChartTimePriceToXY em coordenadas. Consegui desenhar no lugar certo, mas novamente, ao rolar a carta, ela se mantém no lugar, o que não funciona para mim.
É a mesma história com o BitMap, porque ele é anexado por coordenadas, o que significa que todos os BitMaps se manterão no lugar ao rolar o gráfico, não me convém.
Então pergunta geral, é possível implementar minha idéia que descrevi acima?
Mas tentei traduzir Time, Price with ChartTimePriceToXY em coordenadas. Consegui desenhar no lugar certo, mas novamente, ao rolar a carta, ela se mantém no lugar, o que não funciona para mim.
É a mesma história com o BitMap, porque ele é anexado por coordenadas, o que significa que todos os BitMaps se manterão no lugar ao rolar o gráfico, não me convém.
Então pergunta geral, é possível implementar minha idéia que descrevi acima?
Olá a todos, eu tenho um problema com lstrcpyW () no MT5,
lstrcpyW () definido em winbase.mqh:string lstrcpyW(ushort &string1[],const string string2);
este código copia fio para prancheta, como faço para mudar para que funcione
//+------------------------------------------------------------------+//| 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);
}
O que há de errado comigo? Como posso fazer somente pedidos abertos? Este código também captura ordens parcialmente fechadas, que eu não preciso
Eu tenho um objetoOBJ_RECTANGLE ligado por preço e tempo, não por coordenadas.
И? É isso mesmo. Quando você comprime a linha do tempo, o retângulo também é comprimido. É lógico? Você está lutando com a lógica?
Mantenha o controle da mudança no gráfico.
И? É isso mesmo. Quando você encolhe a linha do tempo, o retângulo também encolhe. Isso é lógico? Você está lutando com a lógica?
Acompanhe a mudança no gráfico.
Por favor, diga-me qual o caminho a ser cavado.
Por favor, diga-me qual o caminho a seguir.
Você citou do meu posto exatamente o que eu lhe disse.
Há vários tipos de objetos que você pode usar para seus propósitos. O que você está usando agora definitivamente não é o correto.
Isso deixa várias opções. E todos eles estão aqui, basta ler e perguntar o que você não entende:
Por favor, diga-me qual o caminho a seguir.
Os objetos que eu mostrei acima e isto:
Os objetos que eu mostrei acima, e isto:
Eu não vejo um objeto para resolver meu problema, você vê? A menos que OBJ_TEXT suporte uma estrutura!?
Eu não vejo um objeto para resolver meu problema, você vê? A menos que OBJ_TEXT se ele suportar a estrutura!?
Rectangle_label é o que eu preciso.
Mas tentei traduzir Time, Price with ChartTimePriceToXY em coordenadas. Consegui desenhar no lugar certo, mas novamente, ao rolar a carta, ela se mantém no lugar, o que não funciona para mim.
É a mesma história com o BitMap, porque ele é anexado por coordenadas, o que significa que todos os BitMaps se manterão no lugar ao rolar o gráfico, não me convém.
Então pergunta geral, é possível implementar minha idéia que descrevi acima?
Rectangle_label é o que eu preciso.
Mas tentei traduzir Time, Price with ChartTimePriceToXY em coordenadas. Consegui desenhar no lugar certo, mas novamente, ao rolar a carta, ela se mantém no lugar, o que não funciona para mim.
É a mesma história com o BitMap, porque ele é anexado por coordenadas, o que significa que todos os BitMaps se manterão no lugar ao rolar o gráfico, não me convém.
Então pergunta geral, é possível implementar minha idéia que descrevi acima?
Sim.
Eu lhe dei o link de ajuda para OnChartEvent()
Olá a todos, eu tenho um problema com lstrcpyW () no MT5,
lstrcpyW () definido em winbase.mqh:string lstrcpyW(ushort &string1[],const string string2);
este código copia fio para prancheta, como faço para mudar para que funcione