Geliştiriciler! Oluşturduğunuz şeyi hiç test ediyor musunuz? - sayfa 7

 

Tünaydın!

C-4

Stok#, yeni Cgate Plaza II ağ geçidi için ücretsiz değildir.

API Cgate - borsa tarafından serbestçe dağıtılır. Kendi terminalinizi yazın (tabii ki MQ kadar güzel olmayacak),

zor değil, Cgate API'sini kendi Expert Advisor'ını herhangi bir dilde - DLL'de yazabilen bir kullanıcının API'sine çevirmek zor.

Temelde benim fikrim şu:

EXCHANGE --> PLAZAII(API Cgate) --> Basit terminal --> DLL kullanıcı danışmanı.

Şek. Plaza II protokolünü kullanarak borsadan test teklifleri alıyorum


Terminal neredeyse hazır (zaten 3 gün boyunca yazdı)!

Bir dilde (herhangi biri, bir DLL danışmanında), istediğiniz herhangi bir "çan ve ıslık" oluşturabilirsiniz (gözlük, düğmeler, ek grafikler, vb.),

yalnızca geliştirme ortamı ile sınırlı olacaktır.

Bununla birlikte, bu konseptte büyük bir eksi var - danışmanı test etmenin karmaşıklığı (şimdilik sadece günlükler aracılığıyla).

Öte yandan, tartışmasız avantajlar, değişime ve herhangi bir programlama diline "doğrudan" bir bağlantıdır.

Not İstemci-sunucu konsepti (ve genel olarak herhangi bir E-ticaret gibi) SADECE olay modeline dayanır: TEMEL TALEP-YANITTIR!

İstediğiniz her şeyi (çeşitli kontroller, vb.) bulabilirsiniz, ancak istek-yanıt düzgün çalışmıyorsa, sonunda hepsi aynıdır.

KESİNLİKLE danışmanın çalışmasında bir hataya yol açar.


 
Mikalas :

...

Bununla birlikte, bu konseptte büyük bir eksi var - danışmanı test etmenin karmaşıklığı (şimdilik sadece günlükler aracılığıyla).

...

MT5 konseptinde çok büyük bir artı var - forumda akıllı erkeklerle iletişim. Hiçbir değeri yoksa, o zaman...

 
Mikalas :

Terminal neredeyse hazır (zaten 3 gün boyunca yazdı)!

Üç gün boyunca etkileyici!

Tek soru şu: Her şey bu kadar iyiyse neden hala MT5 kullanıyorsunuz?

DC2008 :

MT5 konseptinde çok büyük bir artı var - forumda akıllı erkeklerle iletişim. Hiçbir değeri yoksa, o zaman...

Evet, bu kesin. Artık bu tür ürünler kendi ekosistemleri olmadan hayatta kalamazlar. Forum, iletişim, binlerce kullanıcı, sizin ve benim gibi bir şeyler yazmaya, tartışmaya, bloglara hazır aktivistler... Kullanıcı desteği olmadan, herhangi bir proje , ne olursa olsun, er ya da geç eğilecek ve tüm çabalar boşa gidecek. geliştirmek boşuna olacaktır.
 

C-4!

Terminal - SADECE bir şeyi görüntülemeye yarar!

Zaten hiç de zor olmadığını yazmıştım. En zor şey, Cgate API'sinin Kullanıcı API'sine dönüştürülmesidir.

yapılması gerekenlerin 1/200 (en zoru değil) kısmını yaptım.

Cgate Plaza II, bir akış eşzamansız istemci-sunucudur ve akışlar,

tek tip olmayan bilgiler içerir!

Maalesef bu dönüşümü hızlı bir şekilde tamamlayacak seviyeye sahip değilim....

Piyasada Cgate üzerinden çalışan yalnızca 2 (ücretli) ürün var ve ben

emin ol doğru.

Yani, FORTS'ta, CGate Trader, - MT5 yazana kadar.

 

Bu arada, konuyla ilgili ilginç bir makaleye rastladım: MetaTrader 5'te Ticaret Etkinlikleri , MetaQuotes Software Corp tarafından, 24 Ocak 2011 tarihli. Diğer şeylerin yanı sıra şöyle diyor:

Сообщения о торговых событиях и об изменениях в торговой истории поступают по независимым каналам. При отправке запроса на покупку функцией OrderSend() можно сразу же узнать тикет ордера, который был создан при успешном результате проверки запроса. Но в то же время сам ордер еще может не появиться в клиентском терминале и попытка выбрать его с помощью функции OrderSelect() окажется неуспешной.

Ayrıca :

Ticaret sunucusundaki tüm işlemler ve ticaret olayları ile ilgili mesajların gönderilmesi asenkron olarak gerçekleştirilir. Ticaret hesabında tam olarak neyin değiştiğini öğrenmenin tek bir garantili yolu vardır. Bu yol, ticaretin durumunu ve ticaret tarihini hatırlamak ve yeni durumu, kaydedilen durumla karşılaştırmaktır.

Aşağıdakiler, sipariş ve işlem sayacının nasıl düzgün bir şekilde organize edileceğine dair örneklerdir.

Konu başlatıcının sorununu dikkatlice araştırırsanız, hiçbir sorun olmadığı ortaya çıkıyor, sadece OnTradeTransaction() işlevini terk etmek ve OnTimer()'daki tüm değişiklikleri yüksek güncelleme çözünürlüğü ile yakalamak için ahlaki gücü bulmanız gerekiyor. .

Birkaç dakika içinde, değiştirilmiş bir tarihle çalışma örneğimi verdim.

 ///
/// Следит за поступлением новых трейдов и ордеров.
///
void OnTimer ()
{
     datetime tBegin = TimeCurrent ();
     HistorySelect (dataBegin, TimeCurrent ());
     //Если новые трейды не поступили, то и нечего обрабатывать.
     if ( HistoryDealsTotal () == 0 ) return ;
     AddDeals();
     dataBegin = tBegin;
}
Bu örnekte gizli bir tuzak var ve onu olduğu gibi kullanamazsınız ama bence konsept açık. Son işlenmiş ticaretten başlayıp şimdiki zamanla biten bir geçmiş parçasını her indirdiğimizde. Yeni bir ticaret geldiyse, onu işliyoruz ve ticaret geldiğinde geçmişi yükleme başlangıcını karıştırıyoruz.
 
C-4 :

Bu arada, konuyla ilgili ilginç bir makaleye rastladım: MetaTrader 5'te Ticaret Etkinlikleri , MetaQuotes Software Corp tarafından, 24 Ocak 2011 tarihli. Diğer şeylerin yanı sıra şöyle diyor:

Evet

 

Ve yazara bir ticaret robotu nasıl oluşturulur ve zaman kaybetmemek makalesini okumasını tavsiye ederim. Şunun için doğru:

Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю. Зачем? Ведь можно сразу написать автомат, потратив на это несколько месяцев, и затем только пожинать плоды своего труда.

Ancak “bir göletten çaba harcamadan bir balık çıkaramazsınız” ve bir programcı genellikle bir ticaret robotu yerine, gerekli tüm altyapıyı bildiği programlama dilinde sıfırdan yazmaya başlar - fiyat verilerini alma ve işleme, görsel temsil çizelgeler ve göstergeler, bir stratejiyi geriye dönük test etmek için kendi araçları vb.

Bu çalışma sürecinde birçok faydalı deneyim kazanır. Ancak aynı zamanda, çoğu zaman, nihai hedefe - otomatik bir ticaret sisteminin oluşturulmasına - bir zerre daha yaklaşmaz. Ve sonuna kadar gitse bile, yazılı robotun karlı olacağının garantisi nerede? Ve başka bir ticaret sistemi yazmak isterse? Her şeyi yeniden inşa etmeniz ve yeni kaçınılmaz programlama hatalarıyla uğraşmanız gerekiyor.

 

Vasili!

Tabii ki, MT-5'e olan bağlılığınızı anlıyorum, ama bunun için söz veriyorum.

TARİHTE KAZMANIN HİÇBİR ŞEY YOK, çünkü oraya yanlış veriler de girilebilir!

Lütfen basit bir şeyi anlayın - İstemci-sunucu = istek-yanıt!

Bakın, sipariş modernize edildi ve kısmen doldurulduğu yanıtı geliyor,

Sizce tarihte neler olacak?

 

Roch!

5 defa okuduklarımı bana çok empoze ediyorsun.

Bir robot yapmaktan (veya nasıl yazılacağından) bahsetmiyorum, ama

MT-5'DE ÖZEL HATALAR!

Resme dikkatlice bakmaya bile tenezzül etmiyorsun.

ekledim( ZAMAN MESAJLARI)

 
Mikalas :

Resme dikkatlice bakmaya bile tenezzül etmiyorsun.

ekledim( ZAMAN MESAJLARI)

zavallı adam, sana yardım edebilmeyi ne kadar isterdim... çok gergin, çığlıklar atarak.


ekran görüntüleri yerine bir metin günlük dosyası verebilir misiniz?

+ hatanızı yeniden oluşturabileceğim kod?

Neden: