Danışmanda bir işlev olarak var, işte kodun başlangıcı
bu fonksiyonun kendisi
danışmanın geri kalanı iyi çalışıyor, fonksiyondaki değişkenler kodun başka hiçbir yerinde kullanılmaz. Terminal SetClipboardData(CF_UNICODETEXT, hMem) satırında kilitleniyor;// Dizeyle birlikte belleği arabelleğe aktarın
void OutClipboard()
{
uint hwnd = ( uint ) ChartGetInteger ( 0 , CHART_WINDOW_HANDLE );
int strSize = StringLen ( text ) * 2 + 2 ; // Получаем размер строки в байтахif ( OpenClipboard( hwnd ) ) // Открываем буфер
{
EmptyClipboard(); // Очищаем буферuint hMem = GlobalAlloc( GHND, strSize ); // Выделяем памятьuint pMem = GlobalLock( hMem ); // Получаем адрес выделенной памяти
memcpy( pMem, text, strSize ); // Копируем строку в память
GlobalUnlock( hMem );
SetClipboardData( CF_UNICODETEXT, hMem ); // Передаём память со строкой в буфер
CloseClipboard(); // Закрываем буфер
}
}
danışmanın geri kalanı iyi çalışıyor, fonksiyondaki değişkenler kodun başka hiçbir yerinde kullanılmaz. Terminal SetClipboardData(CF_UNICODETEXT, hMem) satırında kilitleniyor;// Dizeyle birlikte belleği arabelleğe aktarın
//+------------------------------------------------------------------+//| Clipboard.mq4 |//| ПавелИванович(api) |//| p231970@hotmail.com |//| Перенос на MQL5 и доработка unicode - Сергеев Алексей (sergeev) |//| profy.mql@gmail.com |//+------------------------------------------------------------------+#property version"1.00"#property description"Getting contents of the clipboard"#import "user32.dll"bool OpenClipboard( int hwnd);
int GetClipboardData( int uFormat);
bool CloseClipboard();
int GetAncestor( long hWnd, int gaFlags);
int GetAncestor( int hWnd, int gaFlags);
#import "kernel32.dll"int GlobalLock( int hMem);
bool GlobalUnlock( int hMem);
string lstrcatW( int dst, string src);
#import
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+intOnStart ()
{
int hMain;
string clip= "" ;
//---if ( _IsX64 )
hMain=GetAncestor( ChartGetInteger ( ChartID (), CHART_WINDOW_HANDLE ), 2 );
else
hMain=GetAncestor(( int ) ChartGetInteger ( ChartID (), CHART_WINDOW_HANDLE ), 2 );
//---if (OpenClipboard(hMain))
{
int hglb=GetClipboardData( 1/*CF_TEXT*/ );
if (hglb!= 0 )
{
int lptstr=GlobalLock(hglb);
if (lptstr!= 0 ) { clip=lstrcatW(lptstr, "" ); GlobalUnlock(hglb); }
}
CloseClipboard();
}
// translate ANSI to UNICODEushort chW; uchar chA; string rez;
for ( int i= 0 ; i< StringLen (clip); i++)
{
chW= StringGetCharacter (clip, i);
chA= uchar (chW& 255 ); rez=rez+ CharToString (chA);
chA= uchar (chW>> 8 & 255 ); rez=rez+ CharToString (chA);
}
MessageBox ( "Clipboard: \n" +rez, "Clipboard" );
return ( 0 );
}
//+------------------------------------------------------------------+
Böyle bir komut dosyası buldum, teorik olarak arabelleği okuyor ve değeri terminal penceresinde gösteriyor - aynı zamanda çalışmıyor.
Terminali öldürmese de, pencerede de hiçbir şey göstermez. Tamponla ilgili bir tür bilmece var, şimdilik kendimi uyarıya veri göndermekle sınırlayacağım, oradan "manuel" işlemlerden kaçınmak istesem de ctrl + c'yi kopyalayabilirsiniz.
Bu örnek MT4 içindi, bu nedenle bit derinliği hesaba katılmadı.
İşte tüm platformlar için:
Özellikle arabelleği okuyan ikinci komut dosyasına baktığımda, bit derinliği hakkında şüphelerim vardı. Bunu nasıl düzeltebilirim, en azından bir ayda sadece doper yapardım)) Çok teşekkür ederim, bana çok zaman kazandırdın).
Teşekkür ederim.
Yeni kayıt oldum, forumun nasıl işlediğini henüz bilmiyorum.
WinAPI'den hiçbir şey anlamıyorum, burada sorun ne?
denemelerini bir senaryo şeklinde görmeme izin ver
Danışmanda bir işlev olarak var, işte kodun başlangıcı
bu fonksiyonun kendisi
danışmanın geri kalanı iyi çalışıyor, fonksiyondaki değişkenler kodun başka hiçbir yerinde kullanılmaz.
Terminal SetClipboardData(CF_UNICODETEXT, hMem) satırında kilitleniyor; // Dizeyle birlikte belleği arabelleğe aktarın
Anladım düzeltin)
denemelerini bir senaryo şeklinde görmeme izin ver
Danışmanda bir işlev olarak var, işte kodun başlangıcı
bu fonksiyonun kendisi
danışmanın geri kalanı iyi çalışıyor, fonksiyondaki değişkenler kodun başka hiçbir yerinde kullanılmaz.
Terminal SetClipboardData(CF_UNICODETEXT, hMem) satırında kilitleniyor; // Dizeyle birlikte belleği arabelleğe aktarın
Böyle bir komut dosyası buldum, teorik olarak arabelleği okuyor ve değeri terminal penceresinde gösteriyor - aynı zamanda çalışmıyor.
Terminali öldürmese de, pencerede de hiçbir şey göstermez.
Tamponla ilgili bir tür bilmece var, şimdilik kendimi uyarıya veri göndermekle sınırlayacağım, oradan "manuel" işlemlerden kaçınmak istesem de ctrl + c'yi kopyalayabilirsiniz.
Bu örnek MT4 içindi, bu nedenle bit derinliği hesaba katılmadı.
İşte tüm platformlar için:
Bu örnek MT4 içindi, bu nedenle bit derinliği hesaba katılmadı.
İşte tüm platformlar için:
Özellikle arabelleği okuyan ikinci komut dosyasına baktığımda, bit derinliği hakkında şüphelerim vardı.
Bunu nasıl düzeltebilirim, en azından bir ayda sadece doper yapardım))
Çok teşekkür ederim, bana çok zaman kazandırdın).
Hemen bir danışmana entegre edeceğim)
Lütfen MT5'teki kodu yeniden yazmama yardım edin - siparişleri hiç anlamıyorum :(
Derleme hatası:
'SELECT_BY_POS' - bildirilmemiş tanımlayıcı KamikadzeStatistics.mqh 257 33
'MODE_HISTORY' - bildirilmemiş tanımlayıcı KamikadzeStatistics.mqh 257 47
'OrderSelect' - yanlış parametre sayımı KamikadzeStatistics.mqh 257 on üç
'OrderType' - işlev tanımlanmadı KamikadzeStatistics.mqh 259 60
'OrderCloseTime' - işlev tanımlanmadı KamikadzeStatistics.mqh 261 on dokuz
'OrderProfit' - işlev tanımlı değil KamikadzeStatistics.mqh 265 42
Lütfen MT5'teki kodu yeniden yazmama yardım edin - siparişleri hiç anlamıyorum :(
Derleme hatası:
'SELECT_BY_POS' - bildirilmemiş tanımlayıcı KamikadzeStatistics.mqh 257 33
'MODE_HISTORY' - bildirilmemiş tanımlayıcı KamikadzeStatistics.mqh 257 47
'OrderSelect' - yanlış parametre sayımı KamikadzeStatistics.mqh 257 on üç
'OrderType' - işlev tanımlanmadı KamikadzeStatistics.mqh 259 60
'OrderCloseTime' - işlev tanımlanmadı KamikadzeStatistics.mqh 261 on dokuz
'OrderProfit' - işlev tanımlı değil KamikadzeStatistics.mqh 265 42
Bu ne? MQL4'te pek iyi düşünmüyorum ne alacağımı söylersen hemen her şeyi MQL5'e yazabilirsin.
Tarihte kar/zarar hesabıyla ilgili bir şey gibi mi?