Yapı kayaları. Programları yapılandırmayı, olasılıkları, hataları, çözümleri vb. keşfetmeyi öğreniyoruz. - sayfa 16

 
Beklediğiniz gibi, herkesin kendi yapısı ve nasıl olması gerektiğine dair bir anlayışı vardır. ))
 
tol64 :
Beklediğiniz gibi, herkesin kendi yapısı ve nasıl olması gerektiğine dair bir anlayışı vardır. ))
Bu yüzden bu anlaşmazlığa puan vermeyi öneriyorum, çünkü. Yine de bir fikir birliğine varmayacağız. Büyük projeleri programlamanın genel ilkelerini tartışmaya geri dönmeyi öneriyorum.
 
C-4 :
Hayır hayır ve bir kez daha hayır!!!!!!!!!!!!!!!! Bu mantığa göre, hareketli ortalamada basit bir strateji tersine çevirme de MM'dir. Ne yani, +1 kontratı vardı ama -1 oldu.

:)

Bir meslektaşınız size bir Uzman Danışmanı uygun şekilde nasıl yapılandıracağınızı açıklamaya çalıştı. (Modül isimleri elbette keyfidir.) Terminoloji ile oynamak yerine (ki bu önemsizdir), bu yapısal bölümü kontrol etmeyi deneyin. Oldukça kullanışlı ve verimlidir.

Resim. Oklar bilgilerin hareketini gösterir:


 
C-4 :
Bu yüzden bu anlaşmazlıkta puan vermeyi öneriyorum, çünkü. Yine de bir fikir birliğine varmayacağız. Büyük projeleri programlamanın genel ilkelerini tartışmaya geri dönmeyi öneriyorum.
Öyle görünüyor ki bu ilkelerden sadece biri tartışılıyor. Ticaret projeleri ile ilgili olarak (inşaatlarının temel mantığına göre).
 
MetaDriver :

...

Resim. Oklar bilgilerin hareketini gösterir:

Bu şekilde düşünmek çok daha net. Her şey kelimeler olmadan bile açıktır. Ve sonra bu sonsuz falan filan bazen sindirmek çok zor. )) Ve şemadan sonra, zaten açıklayıcı sorular sorabilirsiniz. Henüz onlara sahip değilim. ))

 
MetaDriver :

:)

Bir meslektaşınız size bir Uzman Danışmanı uygun şekilde nasıl yapılandıracağınızı açıklamaya çalıştı. (Modül isimleri elbette keyfidir.) Terminoloji ile oynamak yerine (ki bu önemsizdir), bu yapısal bölümü kontrol etmeyi deneyin. Oldukça kullanışlı ve verimlidir.

Resim. Oklar bilgilerin hareketini gösterir:

Evet, görüyorum. Yalnızca karmaşıklık hiçbir yerde verilmedi, ancak öneri düzelticisine ve piyasa sürücüsüne devredildi. Bu şemaya göre, düzeltici TS'nin ticaret geçmişini araştırmalı ve onun için gerçekte hangi durumda olduğunu anlamalıdır. Piyasa sürücüsü hala stratejinin mevcut konumunu doğru bir şekilde belirlemek ve düzeltmek zorundadır, ancak netleştirmede bu kolay değildir.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Позиционирование графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Позиционирование графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Позиционирование графика - Документация по MQL5
 
tol64 :

Bu şekilde düşünmek çok daha net. Her şey kelimeler olmadan bile açıktır. Ve sonra bu sonsuz falan filan bazen sindirmek çok zor. )) Ve şemadan sonra, zaten açıklayıcı sorular sorabilirsiniz. Henüz onlara sahip değilim. ))

Görevi anlamak için resim çizmeniz gerekip gerekmediğinin cevabı burada :)

MetaSürücü :

:)

Bir meslektaşınız size bir Uzman Danışmanı uygun şekilde nasıl yapılandıracağınızı açıklamaya çalıştı. (Modül isimleri elbette keyfidir.) Terminoloji ile oynamak yerine (ki bu önemsizdir), bu yapısal bölümü kontrol etmeyi deneyin. Oldukça kullanışlı ve verimlidir.

Resim. Oklar bilgilerin hareketini gösterir:


Ve trol nerede? bu yüzden MM bloğunda anlıyorum? çünkü bir yön tahmincisine ihtiyacı var

Yoksa hala pazar sürücüsünde mi? sonuçta, trol için mevcut poz gereklidir.

Ayrıca bir volatilite tahmincisi tanıtacağım ve başka bir koruyucu blok düzelticiyi iteceğim, normal bir TS için TP veya SL tarafından koruyucu TC (IMHO) çıkışı bir mücbir sebeptir.

 
Urain :

Görevi anlamak için resim çizmeniz gerekip gerekmediğinin cevabı burada :)

Ve trol nerede? bu yüzden MM bloğunda anlıyorum? çünkü bir yön tahmincisine ihtiyacı var

Yoksa hala pazar sürücüsünde mi? sonuçta, trol için mevcut poz gereklidir.

Ayrıca bir volatilite tahmincisi tanıtacağım ve başka bir koruyucu blok düzelticiyi iteceğim, normal bir TS için TP veya SL tarafından koruyucu TC (IMHO) çıkışı bir mücbir sebeptir.

Ve sonra birkaç blok daha ve tümsekler üzerindeki strateji acele edecek ... En başta, stratejinin bir bölümünü hangi bloğun tanımlayacağı ve diğerinde hangi bloğun tanımlanacağı tamamen haklı sorular varsa, o zaman şema açık değildir, ve bu bilinen sorunlara yol açar.
 

Diyagram çizmeye başladığımızdan beri, işte benim geliştirilmiş diyagramım. Umarım öncekinden daha net olur:

FAYDALAR

  • Sadece iki modül var.
  • İlişkiler açıkça tanımlanmış ve nettir
  • Bir ticaret stratejisi, 4 yöntemi tanımlayan herhangi bir sınıf olabilir.
  • Tüm kuralların açıklaması her zaman tek bir yerde saklanır: ticaret stratejisi sınıfı. Bazı "volatilite modülü" aramak için tüm projeyi dolaşmaya gerek yok
  • Strateji durumlarının sayısı sabittir. TS'nin hiçbir kuralı altında, daha fazlası olamaz. Ek modüller olamaz ve bunlara ihtiyaç yoktur.
  • Tüm ortak varlıklar, temel kontrol sınıfında* açıklanabilir ve tanımlanmalıdır.

*Böylece, tüm stratejiler için evrensel olan "işlem seansının sonunda çıkış" kuralı temel sınıfta tanımlanabilir. Ve bu kural belirlenirse, strateji sınıfında açıklanan açık pozisyonu koruma yöntemini bir kez daha çağırmak yerine, temel sınıf günün sonunda bir pozisyonu kapatmayı sürdürme yöntemini çağıracaktır. Ve temel strateji, kurallarında bunu ima etmese bile, pozisyon doğru zamanda zorla kapatılacaktır.
 
C-4 :

Evet, görüyorum. Yalnızca karmaşıklık hiçbir yerde verilmedi, ancak öneri düzelticisine ve piyasa sürücüsüne devredildi.

Bu iyi. Amaç, nesnel zorlukları ortadan kaldırmak değil, yenilerini yaratmak değildi.


Bu şemaya göre, düzeltici TS'nin ticaret geçmişini araştırmalı ve onun için gerçekte hangi durumda olduğunu anlamalıdır.

TS'nin herhangi bir durumu (belleği) olmadığını zaten öğrenmiş gibiyiz. Düzeltici ayrıca tarihi kazmak zorunda değildir. Genel olarak, isteğiniz üzerine kasıtlı olarak şemaya soktular - onsuz iyi yapabilirim ..))


Piyasa sürücüsü hala stratejinin mevcut konumunu doğru bir şekilde belirlemek ve düzeltmek zorundadır, ancak netleştirmede bu kolay değildir.

:)

Bunun için sözümü almam gerekiyor mu?

 double CMarketDriver::GetCurrentPos( string Sym)
  {
   if (!PosInfo.Select(Sym)) return 0 ; // DBL_MIN;
   double v=PosInfo.Volume();
   return (PosInfo.PositionType()== POSITION_TYPE_SELL ) ? -v : v;
  }
bool CMarketDriver::Synhronize( const SymbolPos  &sp, int   &Err)
  {
   Err= 0 ;
   bool res= true ;
     {
      SymInfo.Name(sp.Sym);
      SymInfo.Refresh();
       double fp= TranslateLots(sp.Pos);  // Приводит рекомендованную в процентах от депо позу к рыночным лотам для данного инструмента
       double cp=GetCurrentPos(sp.Sym);
      double pos=fp-cp;   // вычисляет разницу текущей и рекомендованной позы
       if (pos> 0.000001 )
         res=Trade.Buy(NolrmalizeLots(pos),sp.Sym);  // "обналичивает разницу"
       if (pos<- 0.000001 )
         res=Trade.Sell(NolrmalizeLots(pos),sp.Sym);  // "обналичивает разницу"   
     }
   return res;
  }