Mors kodu - sayfa 3

 

İki seçenek yapın. Biri kişi için - ip, ikincisi araba için - int. Üçüncü değişken tip seçimi içindir. Her durumda, göstergeyi başlatırken kombinasyon kodlamasının ikinci varyantını yazdırın. Dizinin boşaltılması gerekiyorsa, o zaman ek bilgileri görüntüleyin - int parametresinin kaçtan kaça değişebileceği.

Açılış ve kapanışın eşit olduğu bir mum için, en yakın mumun yönünün eşit olmayan bir açılış ve kapanışa sahip olduğu düşünülebilir. Bir mum çubuğu, eşit açılış ve kapanış için 0- üç sayı ile kodlanırsa, çok fazla nadir dizi olacaktır.

 

Optimize edicide sürmek için iki parametreye ihtiyacınız vardır: kombinasyonun uzunluğu ve sayaç. Diyelim ki kombinasyon uzunluğumuz 4, sonra 2^4 = 16. Yani sayaç 0'dan 15'e kadar olmalı. Optimize edicide bunu sıralayarak, 4 haneli desenlerin tüm kombinasyonlarını elde edeceğiz.

Kullanıcının kafasını karıştırmamak için kalıp türünü belirten ENUM_PATTERN_TYPE yapısını eklemeniz gerekir: sayısal veya dize. Bir dizi modeli seçilirse, sayaç parametresi ve kombinasyonların uzunluğu kullanılmaz. Ve tam tersi, optimize edicide çalıştırmanız gerekiyorsa, sayısal modelin türünü seçin.

 

Bir yerde buna benzer bir şey görmüştüm, Yandex'de "mum kodu" isteği aranıyor

 
Vasiliy Sokolov :

Optimize edicide sürmek için iki parametreye ihtiyacınız vardır: kombinasyonun uzunluğu ve sayaç. Diyelim ki kombinasyon uzunluğumuz 4, sonra 2^4 = 16. Yani sayaç 0'dan 15'e kadar olmalı. Optimize edicide bunu sıralayarak, 4 haneli desenlerin tüm kombinasyonlarını elde edeceğiz.

Kullanıcının kafasını karıştırmamak için, desen türünü belirten ENUM_PATTERN_TYPE yapısını eklemeniz gerekir: sayısal veya dize. Bir dizi modeli seçilirse, sayaç parametresi ve kombinasyonların uzunluğu kullanılmaz. Ve tam tersi, optimize edicide çalıştırmanız gerekiyorsa, sayısal modelin türünü seçin.


ENUM_PATTERN_TYPE yapısını ekledim, ancak mum kombinasyonunun türünü belirleyen "int" type parametresini kullanıcıdan gizlemeyi öneriyorum, çünkü:

  • yine de, "int" türü bir sayıdır ve kullanıcı için string parametresinin ikili biçimiyle hiçbir şekilde ilişkili değildir.
  • "int" türü yalnızca optimizasyon için gereklidir.

ve yalnızca şu seçenekleri bırakın:

CTrade         m_trade;                       // trading object
//+------------------------------------------------------------------+
//| Enum pattern type: numerical or string                           |
//+------------------------------------------------------------------+
enum ENUM_PATTERN_TYPE
  {
   PATTERN_TYPE_NUMERICAL= 0 ,   // numerical
   PATTERN_TYPE_STRING= 1 ,     // string 
  };
//---
input ENUM_PATTERN_TYPE    InpPatternType          = PATTERN_TYPE_STRING;   // pattern type
input string                InpsMorseCode           = "101" ;                 // string Morse code (max 5 characters)
input ENUM_POSITION_TYPE    InpPosType              = POSITION_TYPE_BUY ;     // posinion type
input double                InpLot                  = 0.1 ;                   // lot
sinput ulong                m_magic                 = 88430400 ;             // magic number
input ulong                 m_slippage              = 30 ;                   // slippage
//---
string sExtMorseCode= "" ;
int max_string_len= 5 ;         // limitation of the length of the pattern "string"
int i_morse_code= 0 ;           // int Morse code (use only if pattern type=numerical)
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   if (InpPatternType==PATTERN_TYPE_STRING)
     {

Mors kodunu girin 1.002

 

Tam olarak anlamadığım bir şey var - programcılar veya enayiler var mı?

Orada bir yere transfer edilecek bir şey için ne ???

101 koduna ihtiyacımız varsa, bu normal değer 5'tir. İşte bu kadar. Hangi sorunlar? Zihinsel olarak ondalık sayıyı ikiliye dönüştürün ???

Benzer deneyler yaptım, sadece mumumun hala dört boyutu vardı - küçükten büyüğe. Buna göre, sekiz mum çeşidi. Ve bu nedenle, üç bit. Desende sayıyı (ulong) yazın - ızgara yirmi çubuklu desenden daha büyüktür.

Bana göre sorun çok uzak.

 
George Merts :

Tam olarak anlamadığım bir şey var - programcılar veya enayiler var mı?

Orada bir yere transfer edilecek bir şey için ne ???

101 koduna ihtiyacımız varsa, bu normal değer 5'tir. İşte bu kadar. Hangi sorunlar? Zihinsel olarak ondalık sayıyı ikiliye dönüştürün ???

Benzer deneyler yaptım, sadece mumumun hala dört boyutu vardı - küçükten büyüğe. Buna göre, sekiz mum çeşidi. Ve bu nedenle, üç bit. Desende sayıyı (ulong) yazın - ızgara yirmi çubuklu desenden daha büyüktür.

Bana göre sorun çok uzak.


Sıradan kullanıcılar zihinsel olarak ondalık sayıyı ikili sayıya çeviremez :)
 
George Merts :

Tam olarak anlamadığım bir şey var - programcılar veya enayiler var mı?

Orada bir yere transfer edilecek bir şey için ne ???

101 koduna ihtiyacımız varsa, bu normal değer 5'tir. İşte bu kadar. Hangi sorunlar? Zihinsel olarak ondalık sayıyı ikiliye dönüştürün ???

Benzer deneyler yaptım, sadece mumumun hala dört boyutu vardı - küçükten büyüğe. Buna göre, sekiz mum çeşidi. Ve bu nedenle, üç bit. Desende sayıyı (ulong) yazın - ızgara yirmi çubuklu desenden daha büyüktür.

Bana göre sorun çok uzak.


Program, bir programcı tarafından değil, sıradan bir kullanıcı tarafından kullanılacaktır (yukarıda ve bir kereden fazla bahsedilmiştir) - ve onun için "101" ve "5" iki farklı sayıdır, onun için "5" ise hiçbir bilgi yoktur. mumların göreceli konumu hakkında her şey var, ancak "101" açıkça "boğa, düşüş, yükseliş" diyor.

 

Dodge'ı nasıl kodlarsınız?

Örneğin, akşam yıldızı deseni yükseliş-kaçma (veya üst veya pin çubuğu)-düşüş olabilir. Soldurmayı (üst veya iğne çubuğu) yok sayarsanız, desen doğru şekilde tanınmaz. Bir mum kodlamak için 1. bitin yeterli olmayacağını düşünüyorum, 1 mum başına 2 bit gerekli olacaktır.

Örneğin, boğa 01, düşüş 10, mumların geri kalanı 11. Ardından, "akşam yıldızı" 01 11 10, "sabah yıldızı" 10 11 01 olacaktır.

....

Hala burada düşünüyorum. Ve absorpsiyon modeli nasıl kodlanır? Basit bir yükseliş-düşüş kombinasyonu hiçbir şey ifade etmez, ancak yükseliş-büyük düşüş hali, yükseliş düşüşünün emilmesinden zaten bahsediyor. Veya bir seçenek olarak, bu iki mumu bir araya toplayın, sonuçta bir pin çubuğu oluşturun ve bu toplanan mumu 11 olarak kodlayın.


 
Vitalii Ananev :

Dodge'ı nasıl kodlarsınız?

Örneğin, akşam yıldızı deseni yükseliş-kaçma (veya üst veya pin çubuğu)-düşüş olabilir. Soldurmayı (üst veya iğne çubuğu) yok sayarsanız, desen doğru şekilde tanınmaz. Bir mumu kodlamak için 1. bitin yeterli olmayacağını düşünüyorum, 1 mum başına 2 bit gerekli olacak.

Örneğin, boğa 01, düşüş 10, mumların geri kalanı 11. Ardından, "akşam yıldızı" 01 11 10, "sabah yıldızı" 10 11 01 olacaktır.


Gölgeler hiçbir şekilde kodlanmamıştır (en azından bu aşamada). Belki sonra ...
 
Vladimir Karputov :

Gölgeler hiçbir şekilde kodlanmamıştır (en azından bu aşamada). Belki sonra ...


Daha sonra tekrar yapmamak için her şeyi bir kerede öngörmek gerekir.

....

Yine, "akşam yıldızı" formasyonuna dönerseniz, o zaman bu bir yükseliş-küçük şamdan-düşüş ve yükseliş-düşüş emilimi olarak düşünülebilir. Yani, bir yükseliş mumundan ve bir düşüş eğiliminden oluşan bileşik bir desen ortaya çıkıyor. Ve desendeki üç mum da özetlenirse, yine bir pim çubuğu elde ederiz.


Neden: