PROFI'den SUPERPROFI'ye kadar tüm sorularınız - 1. - sayfa 36
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Not: Arama ve Google ile hazır bir NS bile bulamıyorum, .dll'yi FANN ile bağladım, oldukça güvenli çalışıyor ama .dll olmadan istiyorum
Ne istediğini hayal ediyor musun? Normal olarak yazılan kodu OOP'den SI olmayana mı taşıyorsun? Sadece kimsenin olmayacağını düşünüyorum. Özellikle dll aracılığıyla daha hızlı olacaktır.
5ke isteyin, zaten orada kekelediler.
Yoldaşlar, kendisini çağıran bir göstergeye rastladım, işte kodun bir kısmı (göstergenin kendisi fragmanda):
Test cihazında, Expert Advisor'dan iCustom() aracılığıyla doğru şekilde çağırmak mümkün değildir. İşte olanlar:

iCustom(), Expert Advisor'da şöyle görünür:
Yalnızca test cihazının TF'si EA ayarlarındaki TF ile eşleşirse doğru görüntülenir.
TF test cihazından bağımsız olarak doğru şekilde görüntülenmesi için çağrısını nasıl doğru bir şekilde oluşturacağımı söyle?
Yoksa gösterge kodunun özelliklerinden dolayı bunu yapmak imkansız mı?
Microsoft'tan bir makale okudum: http://technet.microsoft.com/ru-ru/library/dd630755(v=office.12).aspx
İşte oradan bir alıntı:
64-разрядные выпуски Windows Server могут выполнять адресацию 16 терабайт виртуальной памяти с помощью плоской модели адресации. Виртуальная память разделяется на равные части между виртуальными адресными пространствами для приложений и операционной системы. Увеличение адресного пространства виртуальной памяти в 64-разрядной среде может благоприятно сказаться даже на работе 32-разрядных приложений. Например, хотя 32-разрядное приложение по-прежнему ограничено 4 ГБ виртуальной памяти, ему больше не требуется разделять это пространство с операционной системой. В результате возникает фактическое расширение виртуальной памяти.
MT4'te 64 bit işletim sistemi altında 4 GB belleğe hitap etmenin mümkün olduğu ortaya çıktı?
Kendimi kontrol edemiyorum. Bu kadar hafızayı koyacak yer yok.
Tünaydın
Soket sorusu.
... VB (antik) çalıştıran bir SCADA sisteminden bir sokete veri göndermek için bir görev var. Alnına uygulanmaya çalışıldı. API'yi kullanarak doğrudan Vb'den veri göndermek çalıştı, ancak bir sorun var
Sokete bağlantı gerçekleşmezse, VB bir yanıt bekler ve bir süre yavaşlar (bu kritiktir)
VB'den ayrı bir iş parçacığı oluşturmaya çalışmak istedim, ancak VB'nin AddressOf'u anlamadığı ortaya çıktı.
VB'nin uzak bir soketten yanıt beklemesi, örneğin 1 saniye, ping için TTL'ye (LAN'da uzak soket) benzetilerek nasıl açıklanabilir?
Başka bir seçenek denedim: Sokete göndermek için C++ oluşturucusuna bir konsol uygulaması yazdım.
Çalıştırmaya çalıştım ve işe yarıyor.
Ayrıca VB'den ayrı bir süreç oluşturmaya çalıştı. yürütücü başlatılıyor ancak veri göndermiyor
Mümkün olan yere koyarak hata ayıklamaya başladı cout << << endl;
Elimle exe'yi çağırırsam, WsaStartUp 0'ı yerine getirir ve 0'a bağlanırsa, gönder'in aktarılan veri miktarını döndürdüğünü görüyorum
Ve VB'den başlarsam, WsaStartUp 0'da çalışır ve -1'de bağlanır, sırasıyla 10038'de gönderir.
Neyin yanlış olduğunu anlamıyorum.
İşte VB'den gelen kod
Public Declare Function socket Lib "WSOCK32.DLL" (ByVal af As Long, ByVal s_type As Long, ByVal protocol As Long) As Long Public Declare Function send Lib "WSOCK32.DLL" (ByVal s As Long, buf As Any, ByVal buflen As Long, ByVal Flags As Long) As Long Public Declare Function connect Lib "wsock32" (ByVal socket As Long, addr As sockaddr, ByVal namelen As Long) As Long Public Declare Function closesocket Lib "WSOCK32.DLL" (ByVal s As Long) As Long Public Declare Function inet_addr Lib "wsock32" (ByVal cp As String) As Long Public Declare Function htons Lib "ws2_32.dll" (ByVal hostshort As Long) As Integer Public Declare Function WSAStartup Lib "ws2_32.dll" (ByVal wVR As Long, lpWSAD As WSA_Data) As Long Public Declare Function WSACleanUp Lib "wsock32" Alias "WSACleanup" () As Long Type sockaddr sin_family As Integer sin_port As Integer sin_addr As Long sin_zero As String * 8 End Type Public Const WSADESCRIPTION_LEN = 257 Public Const WSASYS_STATUS_LEN = 129 Public Const WINSOCK_VERSION = 1 Public Type WSA_Data wVersion As Integer wHighVersion As Integer szDescription As String * WSADESCRIPTION_LEN szSystemStatus As String * WSASYS_STATUS_LEN iMaxSockets As Integer iMaxUdpDg As Integer lpVendorInfo As Long End Type '=================================================================== Const INFINITE = &HFFFF Const STARTF_USESHOWWINDOW = &H1 Public Const SW_NORMAL = 1 Private Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Long dwThreadId As Long End Type Private Type STARTUPINFO cb As Long lpReserved As String lpDesktop As String lpTitle As String dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Byte hStdInput As Long hStdOutput As Long hStdError As Long End Type Private Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type Public Const NORMAL_PRIORITY_CLASS = &H20 Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As _ String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, _ lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags _ As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, _ lpProcessInformation As PROCESS_INFORMATION) As Boolean Private Declare Function GetLastError Lib "kernel32" () As Long Public Function SuperShell(ByVal App As String, ByVal commandline) As Integer Const CREATE_NO_WINDOW = &H8000000 Dim startProc As Boolean Dim pclass As Long Dim sinfo As STARTUPINFO Dim pinfo As PROCESS_INFORMATION 'Not used, but needed Dim sec1 As SECURITY_ATTRIBUTES Dim sec2 As SECURITY_ATTRIBUTES 'Set the structure size sec1.nLength = Len(sec1) sec2.nLength = Len(sec2) 'sinfo.cb = Len(sinfo) 'Set the flags 'sinfo.dwFlags = STARTF_USESHOWWINDOW 'Set the window's startup position 'sinfo.wShowWindow = start_size 'Set the priority class 'pclass = Priority_Class 'Start the program CREATE_NO_WINDOW startProc = CreateProcess("e:\\project1.exe", commandline, sec1, sec2, False, 0, 0&, "e:\", sinfo, pinfo) End FunctionMerhaba
Bu geçmiş dosyası neden MT'deki grafikte görüntülenmiyor?
DLL'de aktarılan metin bilgisinin boyutunu öğrenmeye ihtiyaç vardır. Diyelim ki sizeof() bunu MKL5'te yapıyor.
Bunu MKL4'te StringLen() aracılığıyla yapmak doğru olur mu? Nasıl doğru olacak?
ps, üçüncü parametreyi buraya göndermekle ilgileniyor: http://msdn.microsoft.com/en-us/library/aa365747(v=vs.85).aspx
DLL'de aktarılan metin bilgisinin boyutunu öğrenmeye ihtiyaç vardır. Diyelim ki sizeof() bunu MKL5'te yapıyor.
Bunu MKL4'te StringLen() aracılığıyla yapmak doğru olur mu? Nasıl doğru olacak?
ps, üçüncü parametreyi buraya göndermekle ilgileniyor: http://msdn.microsoft.com/en-us/library/aa365747(v=vs.85).aspx