"İnternet üzerinden Terminaller arasında Veri Alışverişi için WinInet.dll Kullanımı" makalesi için tartışma - sayfa 4

 
Tamam, fikrimi değiştirdim. Bu nesne denemeye değer çünkü MetaQuotes'taki bu hasta moronlar Strategy Tester'da WebRequest işlevini kullanmayı yasaklıyor.
 

mt5 x64 üzerinde çalıştırmayı başardı (metagrabber betiği hatasız çalıştı)

internetlib.mqh sınıfındaki kod değişiklikleri ::reqest

// bir istek tanımlayıcısı oluşturun
   string null = NULL;
   hRequest=HttpOpenRequestW(Connect,Verb,Object,Vers,nill,null,FLAG_KEEP_CONNECTION|FLAG_RELOAD|FLAG_PRAGMA_NOCACHE,0);
 

Ama anladığım kadarıyla internetten gelen istek Market ürünlerinde kullanılamıyor, çünkü orada dll'ler yasak.

ve dll'in kendisi olmadan #import "wininet.dll" kullanmanın başka bir yolu yok mu?

 
Yurij Izyumov:

Ama anladığım kadarıyla internetten gelen istek Market ürünlerinde kullanılamıyor, çünkü orada dll'ler yasak.

ve dll'in kendisi olmadan #import "wininet.dll" kullanmanın başka bir yolu yok mu?

Zaten uzun süredir WebRequest var, Market'te izin veriliyor.
 

Aşağıdaki kodda URL değişkenini path ile değiştirdim, çünkü URL ParseURL fonksiyonunun harici bir değişkenidir:

void ParseURL(string path,string &host,string &request,string &filename)

{

host=StringSubstr(path,7);

// kaldır

int i=StringFind(host,"/");

request=StringSubstr(host,i);

host=StringSubstr(host,0,i);

string dosya="";

for(i=StringLen(path)-1; i>=0; i--)

if(StringSubstr(path,i,1)=="/")

{

dosya=StringSubstr(yol,i+1);

break;

}

if(file!="") filename=file;

}

 

İyi akşamlar!

Php ve apache yüklemek için XAMPP kullandım. Ancak, MQL5'ten GET ile sayfaya erişemiyorum.

Dönen hata aşağıdadır:

Erişim yasak!

İstenen nesneye erişim izniniz yok.

Nesneya okuma korumalı ya da sunucu tarafından okunamıyor.

Bu sorunun nasıl çözüleceğini bilen var mı?
 
Andrey Khatimlianskii:
WebRequest zaten uzun süredir var, piyasada izin veriliyor.

Piyasada zaten bununla ilgili sorunlar var (mcl5'te erişim kapalı) ve göstergelerde çalışmıyor....

 
Vladimir Pastushak:

Zaten piyasada bununla ilgili sorunlar var (µl5'te erişim kapalı) ve göstergelerde çalışmıyor ...

WebRequest göstergelerde hiç çalışmadı. Reddetme nedeni açık değildir, çünkü geliştirici bir program yazarken WebRequest kullanıp kullanmayacağına karar verebilir. Bunu 21. yüzyılda yapıyoruz WinInet.dll
 
Vladimir Pastushak:

Zaten martta bununla ilgili sorunlar var (mcl5'te erişim kapalı) ve göstergelerde çalışmıyor ...

Piyasadaki sorunlar nelerdir?

Ve neden µl5'e erişim?


Vitaly Muzichenko:
WebRequest göstergelerde hiç çalışmadı. Reddetme nedeni açık değildir, çünkü geliştirici bir program yazarken WebRequest kullanıp kullanmayacağına karar verebilir. Bunu 21. yüzyılda yapıyoruz WinInet.dll

Nedeni çok basit - göstergeler arayüz iş parçacığında çalışır ve herhangi bir duraklama tüm grafiği askıya alır. Ve hiç kimse bir web talebinin anında yürütülmesini garanti edemez.

Muhtemelen, ilk çağrı sadece veri talep ettiğinde ve sonraki çağrılar bunu kullandığında CopyRates'e benzer özel bir mod yapmak mümkündür. Ancak MQ'nun web isteği için böyle bir koltuk değneği yapacağını sanmıyorum, bunu kendimiz icat etmemiz gerekecek (bir komut dosyası veya başka bir şey başlatarak).

 
Andrey Khatimlianskii:

Pazardaki sorunlar nelerdir?

Ve neden µl5'e erişim?


Nedeni çok basit - göstergeler arayüz iş parçacığında çalışır ve herhangi bir duraklama tüm grafiği askıya alır. Ve hiç kimse bir web talebinin anında yürütülmesini garanti edemez.

Muhtemelen, ilk çağrı sadece veri talep ettiğinde ve sonraki çağrılar bunu kullandığında CopyRates'e benzer özel bir mod yapabilirsiniz. Ancak MQ'nun web isteği için böyle bir koltuk değneği yapacağını sanmıyorum, bunu kendimiz bulmamız gerekecek (bir komut dosyası veya başka bir şey çalıştırarak).

Çalışma zamanında programı askıya alsın, sorun nedir? Tekrar ediyorum:"geliştirici bir program yazarken WebRequest kullanıp kullanmayacağınakendisi karar verebilir ".