MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 621

 
Vitaly Gorbunov :
Son, araçları haklı çıkarmalıdır. Gerekli tüm bileşenlerin kaynakları varsa, her şeyi tek bir Uzman Danışmanda birleştirmek daha kolaydır. Bu mümkün değilse, tüm bileşenlerin modülleri arasındaki iletişimi düzenlemek gerekir, ancak bu görev yeni başlayanlar için değildir .

Yeni başlayanlar için birincil görev, "gerekli tüm bileşenlerin kaynak kodlarını" tam olarak nasıl yazacağını öğrenmektir. Aksi takdirde, yeni gelenler öyle bir şey toplayacak ki... Marslıların beyinlerini hacklemekle suçlanacağız.

 
Alexey Viktorov :

Yeni başlayanlar için birincil görev, "gerekli tüm bileşenlerin kaynak kodlarını" tam olarak nasıl yazacağını öğrenmektir. Aksi takdirde, yeni gelenler öyle bir şey toplayacak ki... Marslıların beyinlerini hacklemekle suçlanacağız.

Bu doğru! Temel olarak, nasıl programlanacağını öğrenmek istiyorsanız, o zaman basit programlarla başlamanız, yavaş yavaş daha karmaşık programlara geçmeniz gerekir. O zaman kendim bile bilmediğim bir şeyi istiyorum gibi sorular olmayacak.

 
İyi günler, danışmanın kaynak kodu var, lütfen yalnızca belirli bir hesapta çalışması için oraya koruma eklemeye yardım ettiğim için beni bağışlayın.
https://www.mql5.com/en/articles/1572 sitesinde yapmaya çalıştım
Ama anlayamıyorum, lütfen bana yardım et.
Hazır bir algoritma buldum ama nereye ekleyeceğimi anlamadım
 #property copyright "Copyright © 2009, Sergey Kravchuk"
#property link        "http://forextools.com.ua"

int start()
{  
   string char [ 256 ]; int i;

   for (i = 0 ; i < 256 ; i++) char [i] = CharToStr (i);
   // номер счета на котором разрешено работать эксперту
   int     AllowedAccountNo = StrToInteger ( /* 49153 */ char [ 52 ]+ char [ 57 ]+ char [ 49 ]+ char [ 53 ]+ char [ 51 ]); 
   string AllowedServer = /* UWC-Demo.com */ char [ 85 ]+ char [ 87 ]+ char [ 67 ]+ char [ 45 ]+ char [ 68 ]+
   char [ 101 ]+ char [ 109 ]+ char [ 111 ]+ char [ 46 ]+ char [ 99 ]+ char [ 111 ]+ char [ 109 ];

   if ( AccountNumber () != AllowedAccountNo || AccountServer () != AllowedServer) 
  {
     Print ( "Вы не имеете права использовать этот скрипт!" );
     return ( 1 );
  }
  
   Print ( "Вы можете использовать этот скрипт!" );
}
Защищайтесь, господа разработчики!
Защищайтесь, господа разработчики!
  • www.mql5.com
Вопросы защиты своей интеллектуальной собственности все еще остаются большой проблемой. В статье описаны основные принципы защиты разработок на MQL4, используя которые можно если не совсем побороть воровство результатов многодневного труда разработчика злоумышленником, то, по крайней мере, настолько усложнить вору его "труд", чтобы ему просто...
Dosyalar:
333.mq4  16 kb
 
helping123 :
İyi günler, danışmanın kaynak kodu var, lütfen yalnızca belirli bir hesapta çalışması için oraya koruma eklemeye yardım ettiğim için beni bağışlayın.
https://www.mql5.com/en/articles/1572 sitesinde yapmaya çalıştım
Ama anlayamıyorum, lütfen bana yardım et.
Hazır bir algoritma buldum ama nereye ekleyeceğimi anlamadım

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum


FXwin , 2018.09.14 11:48

 bool StopTrade = true ;

int start() {
//---------------------------------------------------------------------------------------------------------------+
//  привязка к конкретному торговому счету
   if ( AccountNumber () != 555777 ){ 
     Comment ( "Invalid account... forex-time@mail.ru" );
   if (StopTrade) Alert ( "Invalid account... forex-time@mail.ru" ); StopTrade= false ; return ( 0 );}
//---------------------------------------------------------------------------------------------------------------+  

 
Alexey Viktorov :

Gerçekten de ... Asıl görev neydi? ben de hatırlamıyorum... :)

Gerçekten çocuklar gibi suyu mu bulandırıyorsunuz?

Sadece MetaEditor'a gidin ve şu komutu yazın: Dosya->Yeni...

Sonuç olarak, farklı boşluklara sahip bir form açılacaktır.

Özellikle, bunlar boşluklar olacaktır:

- Danışman

- Özel gösterge

- Senaryo

- Kütüphane vb.

İlk üç öğeyle ilgileniyoruz: Uzman Danışman, Özel Gösterge ve Komut Dosyası.

Bu boşlukları karşılaştıralım:

EA'da etkinliklerimiz var:

-OnInit(), OnDeinit(), OnTick(), OnTimer, OnChartEvent() ... bu kadar, artık yok.

komut dosyasında etkinliklerimiz var:

- OnStart() ... bu kadar, artık yok.

göstergede etkinliklerimiz var:

- OnInit(), OnCalculate(), OnTimer, OnChartEvent() … bu kadar, artık yok.

Burada bu nesneler arasında nasıl iletişim kurulacağı sorusu oldukça doğaldır.

MQL'de aralarında hiçbir bağlantı olmadığı ve olamayacağı ortaya çıkıyor, çünkü bu nesneler arasındaki veri akışları tamamen ayrılmış ve aralarında hiçbir bağlantı yok.

Ayrıca, MQL'nin yaratıcılarının bu gerçeği bize "iyi" olarak vermesi beni şaşırttı.

Ve örneğin, C ++ çerçevesinde, Temel çevirmeni veya JavaScript'i veya başka herhangi birini güvenle arayabilir ve örneğin Android programlama ortamına gidebilirsem,

o zaman MQL çerçevesinde, gösterge ortamı OnStart() komutunu kabul etmediğinden, "gösterge" ortamında "komut dosyası" denilen bir şeyi oluşturma fırsatım bile yok.

Bu nasıl bir çirkinlik???

Ve MQL'de bu tür canavarlıklar fazlasıyla var.

Onlar her fırsatta.

MQL'nin açıklamasını okudum - ve şaşırdım çünkü yapacak bir şey kalmadı.

Ve aynı zamanda, MQL'nin yaratıcıları, MQL'nin C ++'ın varisi olduğunu yüksek sesle ilan ediyor.

Elbette özür dilerim ama MQL'nin yaratıcılarına sormak istiyorum: - Varisi nedir? - Deformitelerde mi?


İstemsizce MQL'yi iyi bilinen 1C programlama ortamıyla karşılaştırırım. Ayrıca C++'ın mirasçıları olduklarını iddia ediyorlar.

Ama orada her şey çok daha terbiyeli yapılır.

Ve grafik nesneleri ve modüller arasındaki iletişim ve çok daha fazlası.

MQL'de ne olacak?

Yerleşik sınıf yok, iş parçacığıyla ilgili nesneler yok ... ve hiçbir şey yok.

Ve henüz terminalin matematiksel kabuğu hakkında hiçbir şey söylemedim !!!

Bu genellikle sürprizler için ayrı bir konudur!

 
neverness :

Gerçekten çocuklar gibi suyu mu bulandırıyorsunuz?

Sadece MetaEditor'a gidin ve şu komutu yazın: Dosya->Yeni...

Sonuç olarak, farklı boşluklara sahip bir form açılacaktır.

...

Bu genellikle sürprizler için ayrı bir konudur!

Komut dosyasında olduğu gibi OnCalculate( ) işlevinde OnStart() işlevini yazmanızı engelleyen hiçbir şey yoktur.

 
Vitaly Muzichenko :

Komut dosyasında olduğu gibi OnCalculate( ) işlevinde OnStart() işlevini yazmanızı engelleyen hiçbir şey yoktur.

Çalışan bir kod örneği, lütfen bize örneğin gösterge ortamında bir elipsin veya başka bir nesnenin nasıl oluşturulacağını gösterin.
 
Infopanel
Infopanel
  • www.mql5.com
Пример создания простого и быстрого меню с поддержкой нескольких языков. В примере выводится информация о цене, времени до следующего бара, балансе счета, количестве ордеров. Данный пример можно использовать в качестве шаблона для создания своих разработок. Минус данного метода при добавлении, удалении или редактировании объектов необходимо...
 
neverness :
Çalışan bir kod örneği, lütfen bize örneğin gösterge ortamında bir elips veya başka bir nesnenin nasıl oluşturulacağını gösterin.

Aynı şekilde, göstergeler her türden grafik nesnesi oluşturmak için en uygun yerdir.

 
Vitaly Gorbunov :

https://www.mql5.com/ru/code/19220

Nesnelerle çalışma örneği olarak bir gösterge.

Biz çocuk değiliz, oldukça aklı başında bireyleriz.

Birbirimizi karalamaya ve aldatmaya çalışmayalım.

Sorumu tekrar ediyorum:

Lütfen bazı komut dosyası nesnelerinin oluşturulduğu en basit gösterge kodunu sağlayın (OnStart(), örneğin bir elips).

Yani, prosedür aşağıdaki gibidir:

MetaEditor'a gidin. Dosya->Oluştur...'a tıklayın.

Bir gösterge seçin.

Ve bu ortamda, komut dosyası nesnesinin kodunu girersiniz (OnStart (), örneğin bir elips).

Çok basit!!!

İyi şanlar!!!

Yani sadece form üzerine bir nesne atmak ya da sizin örneğinizde olduğu gibi herhangi bir şeyden bağımsız bir nesne oluşturmak değil, bu nesneyi göstergenin hesaplama ortamına gömmek gerekiyor.

Başka bir deyişle, gösterge veri akışı değiştikçe grafik nesnesi de değişir.

Ve örneğinizdeki gibi değil, sadece grafikte hiçbir şeye bağlı olmayan bir boşluk.