tamamen kayboldum - sayfa 2

 
zortharg : benim için ticari değeri olan bir şey üretmesini istemiyordum. Birinden " yöntemimi benim için kodlamasını" istemiyorum, WHRoeder. Sadece bir başlangıç noktasına ihtiyacım var.
  1. Kesinlikle öyleymişsin gibi geldi.
    zortharg : Biri yazacak mı diye soruyordum.
  2. Başlamanız için size üç bağlantı verdim: birçok başlangıç noktası kodlamayı öğrenin .
 
zortharg :

Kimseden benim için ticari değeri olan bir şey üretmesini istemiyordum. Birinden "yöntemimi benim için kodlamasını" istemiyorum, WHRoeder. Sadece bir başlangıç noktasına ihtiyacım var. "Arama" altına koyduğunuz bağlantıdan bir şeyler anlayabilirim, ancak gerçekten çıplak bir kemik "gerekli olan bu" istiyorum. Programın gerçekte nasıl görünmesi gerektiğini bilmiyorum. İçinde olmak için kesinlikle neyin gerekli olduğunu bilmiyorum. Herhangi bir referans noktası olmadan birdenbire kendim yapmaya çalışırsam, derleyici hataları alacağım çünkü neyin eksik olduğunu bile bilmeyeceğim.


buraya bak
 

Parçaları birleştirmenin eşiğindeyim. Ama ben pek orada değilim. Hiçbir anlamı olmayan şeyler var. Örneğin:

https://docs.mql4.com/array/ArrayCopySeries

Bu hiçbir anlam ifade etmiyor. Ya ilan ettiğim dizi aynı boyutta değilse? Temelde OLMAMASI garanti edilir. Dizinin hiç olacağını düşündüğümden daha büyük olduğunu ilan edebilmek için dizinin sonundan çıkmak istemiyorum, ama ya daha büyük olursa? Peki ya daha düşükse? "Dizi", para birimi verilerinden daha fazla girdiye sahipse, kalanlar 0 ile mi dolu? Ve çift indeksli diziler için ne olur? Örneğin, diziyi [16384][6] boyutunda ilan ettiğimi ve [0:16383,0] içine kopyalamak istediğim verinin 3000 uzunluğunda olduğunu varsayalım. Bunu nasıl yapardım? Para birimi verilerini ayarlamak için başka bir dizi değişkenine ihtiyacım olur mu, bu tek başına indekslenmiş bir değişken olurdu (16384 x 6 boyutunda değil, sadece 16384 boyutunda) ve daha sonra ilk 3000 girişi para birimi verileriyle ve 3000'den 3000'e kadar olan girişlerle yazılacaktı. 16383, 0 ile yazılır ve sonra geçici değişkenin içeriğini [16384][6] boyut dizisine taşımak bana kalır mı? Şu anda bulunduğum bulmaca bu.

 
zortharg :

Parçaları birleştirmenin eşiğindeyim. Ama ben pek orada değilim. Hiçbir anlamı olmayan şeyler var. Örneğin:

https://docs.mql4.com/array/ArrayCopySeries

Bu hiçbir anlam ifade etmiyor. Ya ilan ettiğim dizi aynı boyutta değilse? Temelde OLMAMASI garanti edilir. Dizinin hiç olacağını düşündüğümden daha büyük olduğunu ilan edebilmek için dizinin sonundan çıkmak istemiyorum, ama ya daha büyük olursa? Peki ya daha düşükse? "Dizi", para birimi verilerinden daha fazla girdiye sahipse, kalanlar 0 ile mi dolu? Ve çift indeksli diziler için ne olur? Örneğin, diziyi [16384][6] boyutunda ilan ettiğimi ve [0:16383,0] içine kopyalamak istediğim verinin 3000 uzunluğunda olduğunu varsayalım. Bunu nasıl yapardım? Para birimi verilerini ayarlamak için başka bir dizi değişkenine ihtiyacım olur mu, bu tek başına indekslenmiş bir değişken olurdu (16384 x 6 boyutunda değil, sadece 16384 boyutunda) ve daha sonra ilk 3000 girişi para birimi verileriyle ve 3000'den 3000'e kadar olan girişlerle yazılacaktı. 16383, 0 ile yazılır ve sonra geçici değişkenin içeriğini [16384][6] boyut dizisine taşımak bana kalır mı? Şu anda bulunduğum bulmaca bu.

Bence Dokümanlar'ı tekrar okumalısın. " Veri dizisi için gerçek bir bellek tahsisi yok ve hiçbir şey kopyalanmıyor" diyor ve alıntı yapıyorum.

Yalnızca bir Referans ayarlar, böylece hedef Dizide boyut ayarlamazsınız. Siz sadece ilan edin. Dokümanlardaki örneğe tekrar bakın. Açıklamada boyut yok.

 datetime daytimes[];
 ArrayCopySeries (daytimes,MODE_TIME, Symbol (), PERIOD_D1 );
 

O halde iclose ile geçmiş fiyatları birer birer indirmem mi gerekiyor? https://docs.mql4.com/series/iClose Gördüğüm kadarıyla bununla ilgili sorun, indirmenin ortasındayken verilerin güncellenebilmesi. Tamamını blok olarak indirmek çok güzel olurdu. Sanırım zamanı iTime ile indirebilir ve THEN iclose ve THEN iTime'ı aynı indeks üzerinde tekrar kullanabilirim ve eğer değiştiyse, yeni bir çubuk zaman aralığı başlattı ve bir indeks numarasına geri dönmem gerekiyor. Doğru mu düşünüyorum yoksa anlamadığım bir şey mi var?

 

Aynı dili konuştuğumuzu düşünmüyorum. Önce ArrayCopySeries işlevini soruyorsunuz, şimdi tüm verileri iClose üzerinden indirmek istiyorsunuz.

Bunların tüm verileri indirmesine gerek yok - ihtiyacınız olan her an elinizin altında.

Ne yapmaya çalışıyorsun?

İlkinden tamamen erişebiliyorsanız, neden bir Dizideki tüm verileri başka bir diziye kopyalamanız gerekiyor?

Bilgileri işlenmek üzere harici bir DLL dosyasına aktarmaya mı çalışıyorsunuz? Öyleyse, "CopyRates" işlevini kullanmalısınız - https://www.mql5.com/en/docs/series/copyrates

Diğer durumlarda, tüm verileri indirmeniz gerekmez. Normal yöntemlerle zaten erişilebilir.

 

Neyi başarmaya çalıştığınızı görmek için ilk yazınızı ayrıntılı olarak yeniden okumaya karar verdim ve TAMAMEN YANLIŞ gittiğini fark ettim.

Açıkladığınız gibi tüm bu verileri RAM'e indirmeniz gerekmez. MetaTrader ortamı tarafından zaten sizin için yapılmıştır. Tek yapmanız gereken normal yoldan erişmek.

Buradaki sitede kod tabanındaki birçok EA örneğine veya MQL4 programlamaya giriş kitabına , burada ayrıca bu siteye bir göz atmanızı öneririm.

Ayrıca, bir EA'nın yazımına nasıl yaklaşılabileceğini açıklayan çeşitli makaleleri de okuyun:

Bu şekilde, "tekerleği yeniden icat etmeye" çalışmak yerine nasıl yapıldığını öğrenebilirsiniz.

 

Kimse bana bir şeyi nasıl yapacağıma dair bir ipucu vermedi, bunu kendim çözmemi ya da başkasına yapması için para vermemi söylüyorlar, bu başlığın ilk birkaç mesajını okuyun ve bunu göreceksiniz. Bu forumdaki insanların cesareti! Bana bir şey söylemeyi reddediyorlar ve daha sonra "normal yöntemler" hakkında bir şey bilmedikleri için benimle alay ediyorlar. Ah SÖYLEYİN! Ama bu hiç şüphesiz kulağa ideal gelmiyor. Yapmaya çalıştığım şey, döviz piyasası verilerini bilgisayarımın RAM'ine indirmek, bunun üzerinde hesaplamalar yapmak ve ardından bilgisayarıma döviz piyasasında işlem yapmak için alış ve satış emirlerini yüklemek. Yapmak istediğim şey bu. Hesaplamaları yapan benim bilgisayarım değilse, o zaman hesaplamaları ne yapacaktı? Uzak bir bilgisayar mı? Geçmişteki bir fiyata her erişmek istediğimde internet üzerinden veri gönderip alamıyorum, o fiyata 1000 farklı kez hesaplamalar sürecinde erişmek istersem, erişim için gereken süre yavaşlayacak. hesaplamalar binlerce veya milyonlarca faktör tarafından azaltılır. Bilgisayar mimarisinde RAM bulunmasının bir nedeni budur, sabit sürücüye okuma ve yazma işlemleri çok daha uzun sürer. Burada da aynı prensip, verileri bilgisayarımda bir dizide saklamam gerekiyor çünkü belirli bir bilgiye her erişmek istediğimde internet üzerinden istekte bulunmak kötü.

Bir ticaret robotunun ne yapması gerektiği konusunda ne düşünüyorsunuz?

 
zortharg :

Kimse bana bir şeyi nasıl yapacağıma dair bir ipucu vermedi, bunu kendim çözmemi ya da başkasına yapması için para vermemi söylüyorlar, bu başlığın ilk birkaç mesajını okuyun ve bunu göreceksiniz. Bu forumdaki insanların cesareti! Bana bir şey söylemeyi reddediyorlar ve daha sonra "normal yöntemler" hakkında bir şey bilmedikleri için benimle alay ediyorlar. Ah SÖYLEYİN! Ama bu hiç şüphesiz kulağa ideal gelmiyor. Yapmaya çalıştığım şey, döviz piyasası verilerini bilgisayarımın RAM'ine indirmek, bunun üzerinde hesaplamalar yapmak ve ardından bilgisayarıma döviz piyasasında işlem yapmak için alış ve satış emirlerini yüklemek. Yapmak istediğim şey bu. Hesaplamaları yapan benim bilgisayarım değilse, o zaman hesaplamaları ne yapacaktı? Uzak bir bilgisayar mı? Geçmişteki bir fiyata her erişmek istediğimde internet üzerinden veri gönderip alamıyorum, o fiyata 1000 farklı kez hesaplamalar sürecinde erişmek istersem, erişim için gereken süre yavaşlayacak. hesaplamalar binlerce veya milyonlarca faktör tarafından azaltılır. Bilgisayar mimarisinde RAM bulunmasının bir nedeni budur, sabit sürücüye okuma ve yazma işlemleri çok daha uzun sürer. Burada da aynı prensip, verileri bilgisayarımda bir dizide saklamam gerekiyor çünkü belirli bir bilgiye her erişmek istediğimde internet üzerinden istekte bulunmak kötü.

Bir ticaret robotunun ne yapması gerektiği konusunda nasıl bir fikriniz var?

MetaTrader ve MQL ortamı böyle çalışmaz! Söylediğim gibi! Verileri RAM'e yeniden İNDİRMEYİN çünkü bu sizin için zaten yapıldı. Bize MQL4'te nasıl kod yazılacağını öğretmeye çalışmayı bırakın. Kodun nasıl yazılacağına dair önyargılı fikirlerinizi bir kenara bırakmanız ve öncelikle elinizde hangi araçlara ve ortama sahip olduğunuzu öğrenmesi gereken kişi sizsiniz.

İnsanların sizinle alay etmesini istemiyorsanız, tembel olmayın ve BELGEYİ OKUYUN (baştan sona). Bu site, belgeler ve kod örnekleri için birçok bağlantıya sahiptir.

Başladığımda, önce çevreyi tanımadan herhangi bir yardım istemedim. Bu sitedeki kitabı, belgeleri ve çok, çok, çok sayıda örneği okumak için zaman ayırdım ve nasıl yapılacağını öğrendim.

Bebek değilsin ve kaşıkla beslenmene gerek yok. Buradaki ve diğer birçok sitedeki tamamen ÜCRETSİZ belgeleri okuyarak öğrenin. Hatta dışarı çıkıp MQL4 veya MQL5'te nasıl EA yazılacağına dair kitaplar satın alabilirsiniz (örneğin, Uzman Danışman Programlama, Andrew R. Young).

Ancak, bir öğretmen arıyorsanız, bu farklıdır. Genellikle bir "kişisel antrenör" sahibi olmanın hizmetleri için ödeme yaparsınız. ödemeye hazır mısın? Pek çok kişinin İşler bölümünde ( https://www.mql5.com/en/job ) böyle bir isteği kabul edeceğinden eminim.

Ayrıca, burada sizin için yorum yapan ilk kişi "ubzen" idi ve zaten iyi bir programcı olduğunuzu iddia ettiğiniz için ilk yaptığı şey "Giriş Kitabı" ve "Referans Belgeleri" okuyarak başlamanızı tavsiye etmek oldu. diğer dillerde. ÇOK GÜZEL TAVSİYE!

Bir şey daha - Küçük gri hücrelerinizi kullanmış olsaydınız ve burada Makaleler bölümünde bir arama yapsaydınız, bu çok eski ama hala geçerli makaleyi bulabilirdiniz:

O yüzden şikayet etmeyi ve tembel olmayı bırakın ve Ar-Ge'nin "Araştırma" kısmını yapın. Buna aşinasın değil mi?

 
zortharg :

Kimse bana bir şeyi nasıl yapacağıma dair bir ipucu vermedi, bunu kendim çözmemi ya da başkasına yapması için para vermemi söylüyorlar, bu başlığın ilk birkaç mesajını okuyun ve bunu göreceksiniz. Bu forumdaki insanların cesareti! Bana bir şey söylemeyi reddediyorlar ve daha sonra "normal yöntemler" hakkında bir şey bilmedikleri için benimle dalga geçiyorlar. Ah SÖYLEYİN! Ama bu hiç şüphesiz kulağa ideal gelmiyor.

Neden sana yardım etsinler? sana karşı bir sorumlulukları olduğunu düşündüren ne? onlar sadece sizinle aynı Kullanıcılar. . . bu forumda kime yardım ettin
Neden: