FORTS Lütfen yardım edin - sayfa 10

 
Mikalas :

Ve siz bizim "okuyucumuzsunuz" ... Soru:

Veriler hazırsa, zaman serisi ne için oluşturulur ( CopyTime(symbol,period,first_date+PeriodSeconds(period),1,times) )?

Hazır değiller. Diskte olabilirler. Hatta, büyük olasılıkla, sunucunun geçmişiyle senkronize edilirler (grafik açıksa veya yakın zamanda başka bir program tarafından talep edildiyse).

Ancak bu, işlevin basitçe ona inanacağı anlamına gelmez. Diskten veri istemek, bellekte bir önbellek oluşturmak gerekiyor ve ancak o zaman bir geçmişin olduğunu ve böyle bir tarihten başladığını söylemek mümkün olacak.

Ama ne bu cevabım, ne geliştiricilerin tekrarlanan cevapları, ne çalışma kodu, ne de belgeler size yardımcı olacaktır. İşlev hayal ettiğiniz gibi çalışmıyor, burada bir aksaklık var.

 
antt :

Belgeleri seçici olarak değil, dikkatlice okuyun. Diskte geçmiş verilerinin bulunması, terminal için "TAM OLARAK" anlamına gelmez. Bu durumda (göstergeden erişildiğinde), işlevler yalnızca bellekteki zaman serisi önbelleği ile çalışır. Onlar. anlık senkron hafıza erişimi vardır ve hazırlanmış bir zaman serisi yoksa SERIES_FIRSTDATE tarihi (dizinin ilk elemanı) size döndürülmeyecektir. Ancak istek, elbette, zaman serilerinin belleğe hazırlanmasını-yüklenmesini başlatır.

SERIES_TERMINAL_FIRSTDATE isteği, veritabanının başlatılması ve sunucu ile senkronizasyonu ile ilgilidir, yani. Her durumda ilk temyiz hemen çalışmayacaktır.

Gerekli geçmişi elde etmenin temel olasılığı SERIES_SERVER_FIRSTDATE aracılığıyla kontrol edilir. Onlar. Elbette, geçmiş talebinin X yinelemelerine güvenmek mümkündür, ancak terminal, SERIES_SERVER_FIRSTDATE tarafından geçmişin varlığını onaylarsa, o zaman karşılık gelen zaman serisi verilerinin mevcudiyeti yalnızca bir zaman meselesidir (m1 veritabanının sunucu ve zaman serilerinin oluşturulması).

Bunu anladım, ama bana yukarıda anlattığım gibi yapmanın neden imkansız olduğunu söyleyin?

Bu, bilgi işleme hızını hiçbir şekilde etkilemez:

Enstrüman hakkında herhangi bir bilgi varsa, ilk ortaya çıkış tarihini girip hafızada saklıyoruz - 8 bayt!

Onu saklamanız bile gerekmez ve SymbolSelect()'i yaptığınızda, onu belleğe koyun.

SeriesInfoInteger işlevi ( SERIES_TERMINAL_FIRSTDATE ) tarafından erişildiğinde şunu elde ederiz:

A -1 - veri yok

B. 0 - dpny mevcut ancak hazır değil

B. İlk bilgi tarihi

O zaman her şey açık ve şeffaf olurdu.

-1 - Sunucuya gidin

0 - Bir zaman serisini kontrol etmek ve (veya) oluşturmak için bir sonraki yinelemeyi bekliyoruz

> 0 Bir zaman serisi oluşturma

Referansınızdan, neredeyse tam da bunu yaptığınızı fark ettim, öyle değilmiş.

Görünüşe göre bir programcı yazmaya başladı ve başka biri bitirdi

Uygulamanız FOREX için iyi, ancak FORTS için çok uygun değil.

Fiyatlar uzun süre FORTS'a ulaşmayabilir ve zaman serisi payati'den kaldırılır.

ve tüm veri alma sürecini tekrar ve sunucuya yapılan çağrı ile tekrarlamanız gerekir !

 2015.03 . 27 20 : 24 : 56.568   (GAZR- 6.15 ,M1) OnCalculate : Не скопированы тийминги по символу - GAZR- 9.15
2015.03 . 27 20 : 25 : 34.092   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 25 : 34.100   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 25 : 34.326   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 25 : 34.326   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 34 : 40.098   (SILV- 6.15 ,H1) OnCalculate : Не получены бары по символу - SILV- 9.15
2015.03 . 27 20 : 34 : 40.126   (SILV- 6.15 ,H1) OnCalculate : Не получены бары по символу - SILV- 9.15
2015.03 . 27 20 : 37 : 21.475   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 37 : 21.491   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 37 : 41.563   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 40 : 41.051   (SILV- 6.15 ,H1) OnCalculate : Не получены бары по символу - SILV- 9.15
2015.03 . 27 20 : 40 : 56.579   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 40 : 56.595   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 40 : 58.886   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 40 : 58.896   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 40 : 59.436   (SILV- 6.15 ,H1) OnCalculate : Не получены бары по символу - SILV- 9.15
2015.03 . 27 20 : 41 : 00.892   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
 
Mikalas :

Uygulamanız FOREX için iyi, ancak FORTS için çok uygun değil.

Fiyatlar uzun süre FORTS'a gelmeyebilir ve zaman çizelgesi payati'den kaldırılır.

ve tüm veri alma sürecini tekrar ve sunucuya yapılan çağrı ile tekrarlamanız gerekir !

Mikalas, sana hâlâ inanıyorum. Burada söylenen her şeyi kesinlikle okuyacaksınız.

FORTS Lütfen yardım edin

Çoklu para birimi göstergesi o kadar basit değil.

İlk olarak, araçların kullanılabilirliğini kontrol edin:

 bool CorrectSymbol( string symbol )
{
         ResetLastError ();
         if ( SymbolInfoDouble ( symbol, SYMBOL_BID ) > DBL_EPSILON ) return ( true );

         // символ не выбран в "Обзоре рынка" (нет в списке доступных)
         if ( GetLastError () == 4302 )
        {
                 if ( SymbolSelect ( symbol, true ) && SymbolInfoInteger ( symbol, SYMBOL_SELECT ) ) return ( true );
        }

         return ( false );
}

Ardından, geçmişin normal şekilde yüklenmesi için kullanılan tüm enstrümanların tablolarını açın (görünmez bir tablo nesnesi yeterlidir) .

Ve ancak o zaman CheckLoadHistory kullanarak geçmişi yüklemeyi deneyin.

Ancak bu bile yeterli olmayabilir.


 

Bu arada, çoklu para birimi analizi ve bina göstergeleri ile bu durumu da sevmiyorum. Nasıl uygulanıyor.

Ne de olsa bu bir tef ile dans ediyor, bir şey hesaplamaya başlamadan önce bir sürü kontrol yapmanız gerekiyor... Bunu başka hiçbir platformda görmedim. Kullanıcının bakış açısından her şey daha basittir.

MT4'te programlama öğrenmiş olanların bile MT5'te programlamanın karmaşıklığından korktuğu bir sır değil.

Eğer geliştirici ben olsaydım, hayatı bizim için kolaylaştırmaya çalışırdım. Tüm bu tef danslarını aşağıdaki gibi tek bir komutta birleştirin

GatData(RTS,1000)

ve terminal bu sorunu çözer, kontroller yapar, gerekirse çizelgeleri açar , geçmişi, güncellemeleri vb. indirir.

Ve yürütüldükten sonra, üzerinde çalışabileceğim güncel verilerim var.

ZY Sloganının ev kadınları için bir terminal olduğunu hatırlıyorum ...

 
komposter :

Mikalas, sana hâlâ inanıyorum. Burada söylenen her şeyi kesinlikle okuyacaksınız.


organik gübre!

( daha fazlası - alınma! )

Tam serisi hakkında bilgi edinme modelimde neyi YANLIŞ buldunuz?

Çünkü senden değil!?

Hepimiz için kolaylaştırmaları için geliştiricilere "geçmeye" çalışıyorum

"hayat", ama HER ZAMAN sizin gibi EN AKILLI insanlar vardır!

Bu nedenle, olduğu gibi olacak!

 
Prival-2 :

Bu arada, çoklu para birimi analizi ve bina göstergeleri ile bu durumu da sevmiyorum. Nasıl uygulanıyor.

Ne de olsa bu bir tef ile dans ediyor, bir şey hesaplamaya başlamadan önce bir sürü kontrol yapmanız gerekiyor... Bunu başka hiçbir platformda görmedim. Kullanıcının bakış açısından her şey daha basittir.

MT4'te programlama öğrenmiş olanların bile MT5'te programlamanın karmaşıklığından korktuğu bir sır değil.

Geliştirici ben olsaydım, hayatı bizim için kolaylaştırmaya çalışırdım. Tüm bu tef danslarını aşağıdaki gibi tek bir komutta birleştirin

GatData(RTS,1000)

ve terminal bu sorunu çözer, kontroller yapar, gerekirse çizelgeleri açar , geçmişi, güncellemeleri vb. indirir.

Ve yürütüldükten sonra, üzerinde çalışabileceğim güncel verilerim var.

ZY Sloganının ev kadınları için bir terminal olduğunu hatırlıyorum ...

Hey!

Genel ve basit bir yaklaşım, verimli programlar yazmayı imkansız hale getirecektir. Tüm kontrollerin yapılacağı tek bir GiveData işlevi yapmak imkansızdır - bunlar, vakaların% 95'inde kullanıcı için gereksiz olan frenler olacaktır.
Gösterge durumunda, grafiğindeki verilerle mümkün olduğunca çabuk çalışır. Bunun için yaratıldı, bunun için hapsedildi. Onu "her duruma hazır" yaparsanız, basit bir MA karmaşık bir canavar gibi yavaşlayacaktır.

Geliştiricileri hiçbir şekilde savunmuyorum. Ben de pek sevmiyorum.
Ama yapıcı olmaya çalışıyorum ve terminalin tüm özelliklerini bilmediğimi fark ettim.

Bazı yönlerden Mikalas haklı - gözlerini kapatıyor (okumuyor) ve "Uygunsuz!" Diye bağırmaya devam ediyor ve tartışmalar geliştiriciler için popüler ve dikkat çekici hale geliyor. Ve bir şeyler yapıyorlar (ipuçlarında zaten birkaç hata düzeltildi).
Bu yüzden boşuna homurdanıyorum, muhtemelen)

 
Mikalas :

organik gübre!

(daha fazlası - alınma!)

Tam serisi hakkında bilgi edinme modelimde neyi YANLIŞ buldunuz?

Çünkü senden değil!?

Hepimiz için kolaylaştırmaları için geliştiricilere "geçmeye" çalışıyorum

"hayat", ama HER ZAMAN sizin gibi EN AKILLI insanlar vardır!

Bu nedenle, olduğu gibi olacak!

anladım zaten

Görev basitçe açıklandı - bir gösterge yazmak . Ancak dilin iyileştirilmesi gerektiği ortaya çıktı.

Sorunun böyle bir formülasyonunda, tavsiye ile tırmanmam)

 
komposter :

anladım zaten

Görev basitçe açıklandı - bir gösterge yazmak . Ancak dilin iyileştirilmesi gerektiği ortaya çıktı.

Sorunun böyle bir formülasyonunda, tavsiye ile tırmanmam)

Andrey!

Buraya yazmak için daha fazla zaman harcadınız.

Bu süre zarfında "benim" iftiramı temel alan bir gösterge yazabilirsiniz (FOTS için)

Ve bahsettiğim "koltuk değneklerini" kendileri de gördüler!

 
Mikalas :

Andrey!

Buraya yazmak için daha fazla zaman harcadınız.

Bu süre zarfında "benim" iftiramı temel alan bir gösterge yazabilirsiniz (FOTS için)

Ve bahsettiğim "koltuk değneklerini" kendileri de gördüler!

Yazdım, bu yüzden neden bahsettiğimi biliyorum.

Amaç dili düzeltmek değil de bir gösterge elde etmek olsaydı, göstergenizi zaten almış olurdunuz.

 
komposter :

Yazdım, bu yüzden neden bahsettiğimi biliyorum.

Amaç dili düzeltmek değil de bir gösterge elde etmek olsaydı, göstergenizi zaten almış olurdunuz.

Bir gösterge yazdım AMA onu kullanmak imkansız.

Ne yaparsan yap, her yerde sorun var!

OrderSendAsync() var - ORDER_ID olmasına rağmen izleme mekanizması yok

Global bir değişken var - terminal kapatıldığında sıfıra sıfırlanıyor...

Emirlerin uygulanmasında "anlaşılmaz" gecikmeler var - yarısı tamamlandı ve sonra

şarlatanlık suçlaması...

Vb...

Soruları gündeme getiriyorum çünkü sorunlar ve hatalar var.

( Onları uydurmuyorum! )

DEĞİŞİM'de şeker sarmalayıcıları için değil, GERÇEK parayla işlem yapıyorum!

Ve bu nedenle, benim için ve ticaret yapan HERKES için, ticaretin işlev gördüğü ARŞİV'dir.

Kusursuz idi.

MT5 mimarisi SÜPER, gerçekten beğendim, ancak her şey düzgün çalışmalı ve

Verilere erişim hızlı ve kolay olmalıdır.

Ve... Buna bir son verelim, lütfen.