Güle güle robot, yaşasın delilik - sayfa 3

 

Yeni yapılara geçmekten korktum, ancak tüm göstergelerin, danışmanların ve komut dosyalarının olduğu gibi çalıştığı ortaya çıktı. Bununla birlikte, bir dizi uyarıyla derlenmiştir. Ancak, yeni derlenmiş kod birkaç kat daha hızlı çalışır. Yenilerden yalnızca OnTimer(), yeni dosya işleme yetenekleri, artan sayıda gösterge arabelleği, bazı yeni işlevler (kullanımdaki sayılarında artış yalnızca bir zaman meselesidir) kullanıyorum. Koddaki satırın gösterimi ile sınır dışı dizisini kontrol etmek çok faydalıdır. Eskiden şöyleydi: sıfıra bölme ve istediğiniz yere bakın. Ve daha da kötüsü, hata görünmediyse.

Eskiyi hatırlayanlar için "MQL4'teki yenilikler" yazılabilir. Yeni başlayanlar yok mu?

MQL4 Lite'da, temelde yeni ve gereksiz olan her şey dokümantasyondan hariç tutularak tanımlanabilirler: yapılar, sınıflar, kaynaklar, nesne işaretçileri, OOP, hata ayıklayıcı, sinyaller, grafik olayları, bu yeni şeyleri kullanan tüm işlevler, vb. Geriye kalan her şey eski MQL4'ten çok daha karmaşık olmayacak. Düzensiz bırakılan yenisinin altındaki Eğitimi hafifçe değiştirin.

.

 

 

Renat 09/09/2014 02:55 #

Yine metodik olarak tartışabilir, özelliklerde çoklu artış, eski kodu koruma, hataları düzeltme vb. hakkında açıklayabilirsiniz. Bu birçok kez yapıldı, makalelerde anlatıldı ve forum tartışmalarında anlaşıldı. Ancak yazarın kesinlikle yanlış olduğunu ve birdenbire ortaya sorunlar çıkardığını söylemek daha kolay ve doğrudur.

Renata'ya cevap!

-------------------------------------------------- -------------

beni kandırmaya çalışıyorsun!

bir geliştirici olarak bankalara hizmet ediyorsunuz,

topluluk değil! bir yarış arabası yapıyorsun

bir çocuk bisikletinden pedallı sürüş ile!

Bu nedenle, gerçeklerle öne çıkmaya mecburum.

Soru :

user32.dll nereye gitti ( Kullanıcı 32.dll )

bir uzmandan bir komut dosyası çağırma işlevleriyle, bir gösterge.

Bütün bunlar ortadan kayboldu! Kanıt olarak aşağıda alıntı yapıyorum.

kompostlayıcının kendisi beni bir ücret karşılığında bir uzman yaptı.

şartlara göre gerekli ticaret senaryoları denir.

şimdi komut dosyasını yalnızca manuel olarak arayın.

aramanın kendisi farklı pencerelerle kaplanmıştır - arama izni

dll-marasmus! Veya ikinci komut dosyası penceresini "gerçekten

script1 "-insanity'den çıkmak istiyorsun! Sadece manuel

ticaret! bir robot ne yapmalı ve tüm robot yazarları?

OOP'ye ve sözde daha hızlı MT4'e karşı değilim.

MT4'ün çalışmasını hızlandırmak isteseydiniz, uzun zaman önce sınırlandırmış olurdunuz.

sembollerle tarih akışı - 5-6 kullanıyorum ve yüzlerce geliyor!

Gereksiz bir sembol çöptür Burada gerekli olanları bir onay işaretiyle işaretledim

ve hemen geliyorlar! işte hız ve hızlı tepki

uzman. ama bankalar için kötü!

pansa

User32'den işlevlerin içe aktarılması. Amaçları hemen hemen değilse

// temizle, sonra burada belgelemek açıkçası pek yardımcı olmayacak . Gereklilikler

// "DLL içe aktarmalarına izin ver" etkinleştirilecek.

#import "user32.dll"

int RegisterWindowMessageA(string İletiAdı);

int PostMessageA(int hwnd, int msg, int wparam, string İsim);

void keybd_event(int VirtualKey, int ScanCode, int Bayraklar, int ExtraInfo);

#içe aktarmak

 

 

// Tüm bu fonksiyonlar için hWnd parametresi WindowHandle() kullanılarak elde edilir.

// Örneğin, bir EA/script kullanarak kendi grafiğinin tanıtıcısını alabilir.

// WindowHandle(Sembol(), 0). EA/komut dosyası başka bir grafiğin olduğunu biliyorsa

// açıksa, bilinen semboller kullanılarak tutamacı elde edilebilir ve

// zaman aralığı. için birden fazla grafik varsa öngörülemeyen davranış

// aynı sembol ve zaman çerçevesi. AutomaticallyAcceptDefaults temizlenir

// simüle ederek yeni gösterge/EA/komut dosyası için yapılandırma penceresi

// Kısa bir beklemeden sonra Enter tuşuna basılması. Daha uzun bir bekleyiş olabilir

// daha sağlam olduğunu kanıtla. Bunların hiçbiri korkaklar için değil...

 

void StartStandardIndicator(int hWnd, string IndicatorName, bool AutomaticallyAcceptDefaults = false)

{

int MessageNumber = RegisterWindowMessageA(" MetaTrader 4_Internal_Message");

PostMessageA(hWnd, MessageNumber, 13, IndicatorName);

if (Otomatik OlarakKabul Edilen Varsayılanlar) ClearConfigDialog();

}

 

void StartCustomIndicator(int hWnd, string IndicatorName, bool AutomaticallyAcceptDefaults = false)

{

int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message");

PostMessageA(hWnd, MessageNumber, 15, IndicatorName);

if (Otomatik OlarakKabul Edilen Varsayılanlar) ClearConfigDialog();

}

 

void StartEA(int hWnd, string EAName, bool AutomaticallyAcceptDefaults = false)

{

int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message");

PostMessageA(hWnd, MessageNumber, 14, EAName);

if (Otomatik OlarakKabul Edilen Varsayılanlar) ClearConfigDialog();

}

 

void StartScript(int hWnd, string ScriptName, bool AutomaticallyAcceptDefaults = false)

{

int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message");

PostMessageA(hWnd, MessageNumber, 16, ScriptName);

if (Otomatik OlarakKabul Edilen Varsayılanlar) ClearConfigDialog();

}

 

ClearConfigDialog() geçersiz

{

uyku(100);

keybd_event(13, 0, 0, 0);

}

 
pansa :

 

Renat 09/09/2014 02:55 #

Yine metodik olarak tartışabilir, özelliklerde çoklu artış, eski kodu koruma, hataları düzeltme vb. hakkında açıklayabilirsiniz. Bu birçok kez yapıldı, makalelerde anlatıldı ve forum tartışmalarında anlaşıldı. Ancak yazarın kesinlikle yanlış olduğunu ve birdenbire ortaya sorunlar çıkardığını söylemek daha kolay ve doğrudur.

Renata'ya cevap!

-------------------------------------------------- -------------

beni kandırmaya çalışıyorsun!

Tamamen farklı anlayış seviyelerindeyken neden kusur buluyoruz?


user32.dll hiçbir yere gitmedi - işletim sisteminin bir sistem kitaplığıdır.

A(nsi) işlevleri yerine, W(idechar/unicode) işlev türevlerini kullanın:

 #import "user32.dll"

   int   RegisterWindowMessageW( string MessageName);
   int   PostMessageW( int hwnd, int msg, int wparam, string Name);

   void keybd_event( int VirtualKey, int ScanCode, int Flags, int ExtraInfo);

#import
 
Piyasa İzleme penceresinden bir sembolü kaldırırsanız, ondan trafik gelmez. Bu mekanizma 14 yıldır işliyor.
 

Moderatör, Renata!

anlayış düzeyi hakkında - UTB nispeten,

Şanlı şövalye Don Kişot'un yanında bir mızrak taşıyorum

ve göreve uygun.

havalandıktan sonra daha fazlasını tatmin etmelisin

yüksek gereksinimler ve ürünler üretmek   daha fazla

Yüksek kalite.

kuyu   ne     kullanıcı 32, dll           Windows'a atıfta bulunur.

A'dan W'ye gitme tavsiyeniz kth etkisi yaratmadı !

senaryoyu uzmandan kendiniz çalıştırmayı deneyin!

ve karakterlerin kaldırılması CPU ve ağ yükünü etkilemez

Bu sadece ekrana bir çağrıdır, ancak akış aynıdır!

  umarım benimle aynı fikirde olursunuz.

panza

 

Aynı fikirde olduğunuzu da görüyorum.

Ama burada programlama ve programcılar tarafından yazılan programlardan bahsediyoruz. Kullanmakta olduğunuz kaynak kodu anlamıyorsanız, öğrenmeniz gerekir. Bunun için çok şey yaptık: kapsamlı belgeler, bir eğitim, makaleler, bir kaynak veritabanı, serbest çalışma, bitmiş ürünler için bir pazar, sinyaller, bir forum vb.

 
pansa :

Komut dosyası/gösterge adının ilk harfinin büyük/küçük harf durumunu değiştirmeyi deneyin. Her nasılsa ben de buğuladım https://www.mql5.com/en/forum/152533/page2#982156

Not: peki, dizeyi char[] olarak değiştirin

 

Sevgili Renat , danışmanların derlenmesinden sonra da birçok uyarı aldım ve hata yok.

Bir sorum var - bu uyarılar ne anlama geliyor (çoğunlukla return() ile satırların tersi) ve Uzman Danışmanların çalışmalarını olumsuz etkiliyor mu?

Ve elbette, herhangi bir güncellemeden daha azını istiyorum - danışmanları kendim yazdım - gerçekten dili tekrar öğrenmek ve danışmanlarımı yeniden yapmak istemiyorum (ben bir tüccarım, programcı değil)

 
vasabu2012 :

Sevgili Renat , danışmanların derlenmesinden sonra da birçok uyarı aldım ve hata yok.

Bir sorum var - bu uyarılar ne anlama geliyor (çoğunlukla return() ile satırların tersi) ve Uzman Danışmanların çalışmalarını olumsuz etkiliyor mu?

Ve elbette, herhangi bir güncellemeden daha azını istiyorum - danışmanları kendim yazdım - gerçekten dili tekrar öğrenmek ve danışmanlarımı yeniden yapmak istemiyorum (ben bir tüccarım, programcı değil)


Lütfen hataları veya hataların ortaya çıktığı danışmanın kodunu ekleyin.
 
vasabu2012 :

Ayrıca danışmanların derlenmesinden sonra bir sürü uyarı aldım ve hata yok.

Ve benim için, bir değişkenin bir işleve referansla tamamen yasal, doğru ve standart geçişi nedeniyle, işlev şablonu adı değişkenin kendisiyle eşleştiğinde, standart yapısında olması gerektiği gibi, çöp uyarılarının çoğu açılır. ve tipik uygulama, değişkenin kendisi fonksiyona kendi adı altında iletildiğinde.

Ne yazık ki MK buna yetkin ve mantıklı bir açıklama getiremedi, bazen oradaki birinin güya benzer isimler varken başka tasarımlarda yanlış anlama olabileceğini söylüyorlar. Ancak burada paradoks şudur ki, örneğin, aynı ada ve farklı sayıda parametreye sahip bir fonksiyon olduğunda, uyarı açılmaz.

Genel olarak, bu uyarının mantığı tamamen yokken, bunu bazı dini hurafelere ve anlaşılmaz inançlara bağlamak gerekir. Konunun yazarının bu fenomeni açıklamak için önerdiği delilik versiyonu henüz dikkate alınmamıştır.))

Neden: