Mors kodu - sayfa 7

 
Ayrıca, ticarette hangi istatistiklerin/göstergelerin yararlı olabileceğine dair fikirleriniz varsa - buraya yazın.

hazırlıksız:

1. seçilen alandaki X pip çevirme sayısı
2. aynı sayı, ancak N * X pip geri dönüşü olmayan hareketler
3. ciltler, en azından teak olanlar
 

Kodun hesaplamaları yapan kısmını görmek ilginç olurdu, spor uğruna....

Fikirlere gelince, işlem hacmi deltasının oluşturduğu mumlara bakardım,

Karputov ve Siber'in bu konuda iyi göstergeleri vardı ...

 
struct SPoint
{
     double mAsk;
     double mBid;
     double mLow;
     double mHigh;
     double mOpen;
     double mClose;
     double mPoint;
     double mSpread;
     double mVolume;
     datetime mTime;
};

struct SSymbol
{
     string mName;
     double mMean;
     double mUnit;
     double mOrder;
};

struct SSets
{
    SSymbol mSymbol;
     double mAsk[];
     double mBid[];
     double mLow[];
     double mHigh[];
     double mOpen[];
     double mClose[];
     double mPoint[];
     double mSpread[];
     double mVolume[];
     datetime mTime[];
};

struct SName
{
     string mData;
    SSets mSeries[];
};

int getCodes( int length)   // length - parameter that defines required sequence size
{
    SSets iSeries[];
    SName iCombinations[];

     int order = iSets.getPairs(iSeries, InpSymbols);   // split comma-separated string into array of structures iSeries
     int bars = iSets.getSourceSets(iSeries, PERIOD_CURRENT , order, InpDepth, InpShift);   // convert prices from array of structures MqlRates to iSeries

     if (bars < 1 )
    {
         return 0 ;
    }

     int codes[];

     ArrayResize (codes, length);

     for ( int k = 0 ; k < order; k++) // loop over all symbols in iSeries
    {
         ZeroMemory (codes);
         ArrayResize (iCombinations, k + 1 );
        iCombinations[k].mData = iSeries[k].mSymbol.mName;
        
         double point = SymbolInfoDouble (iSeries[k].mSymbol.mName, SYMBOL_POINT );

         do
        {
             string comboChain = NULL ;

             for ( int i = length - 1 ; i >= 0 ; i--)
            {
                comboChain = IntegerToString (codes[i]) + comboChain;   // get combination from 000 to 111 on each iteration
            }

             for ( int n = bars - 1 ; n >= length; n--)   // loop over prices for each symbol
            {
                 double pips = 0 ;
                 string comboSymbol = NULL ;

                 for ( int i = 0 ; i < length; i++)   //  comparison of price sequence with generated sequence
                {
                     string symbolUnit = "X" ; 
                     double range = iSeries[k].mClose[n - i] - iSeries[k].mOpen[n - i]; 

                     if (range > 0 ) 
                    {
                        symbolUnit = "1" ;
                        pips += range;
                    }

                     if (range < 0 ) 
                    {
                        symbolUnit = "0" ;
                        pips -= range;
                    }

                    comboSymbol = symbolUnit + comboSymbol;   // real prices define combination 
                }

                 if (comboChain == comboSymbol) // compare generated sequence and real sequence
                {
                     int index = - 1 ;
                     int count = ArraySize (iCombinations[k].mSeries);

                     for ( int i = 0 ; i < count; i++)
                    {
                         if (iCombinations[k].mSeries[i].mSymbol.mName == comboChain)
                        {
                            index = i;
                             break ;
                        }
                    }

                     if (index < 0 )
                    {
                         ArrayResize (iCombinations[k].mSeries, count + 1 );
                         ZeroMemory (iCombinations[k].mSeries[count]);
                        index = count;
                    }

                     // count matches, pips, etc

                    iCombinations[k].mSeries[index].mSymbol.mMean++;
                    iCombinations[k].mSeries[index].mSymbol.mOrder += iCombinations[k].mSeries[index].mSymbol.mMean + n;
                    iCombinations[k].mSeries[index].mSymbol.mUnit += MathAbs (pips / point);
                    iCombinations[k].mSeries[index].mSymbol.mName = comboChain;
                }
            }

        } while (iHelpers.getChain(codes, length)); // generate possible combinations from 000 to 111
    }

     string res = "\n" ;

     for ( int k = 0 ; k < order; k++)
    {
         int count = ArraySize (iCombinations[k].mSeries);

        res += iCombinations[k].mData + "\n" ;

         for ( int n = 0 ; n < count; n++)
        {
            res += 
                iCombinations[k].mSeries[n].mSymbol.mName + " : " + 
                 DoubleToString (iCombinations[k].mSeries[n].mSymbol.mMean, 1 ) + " : " + 
                 DoubleToString (iCombinations[k].mSeries[n].mSymbol.mOrder, 1 ) + " : " + 
                 DoubleToString (iCombinations[k].mSeries[n].mSymbol.mUnit, 1 ) + "\n" ;
        }
    }

    iHelpers.debug(res); // print to a file

    return 1 ;
}
kodun hantal olduğu ortaya çıktı, çünkü dizinin boyutu parametrelerde ve virgülle ayrılmış tüm çiftlerin kümesinde ayarlanabiliyor.
 

Güzel ve heyecan verici bir fikir.

En azından mum çubuğu analizi ile piyasanın analize uygun olmadığını kanıtlayacaktır.

Piyasa, gerçek tüccarların eylemlerine bir yanıttır.

Şu anda 100 tüccar varsa, kaç tane sıfır ve bir kombinasyonu olabilir?

 
Renat Akhtyamov : Şu anda 100 tüccar varsa, kaç tane sıfır ve bir kombinasyonu olabilir?
Zaman-fiyat grafiği ile ilgili tüccar sayısı nasıl?
 
Andy Sanders :
Zaman-fiyat grafiği ile ilgili tüccar sayısı nasıl?

Mum, ne kadar satıldığına ve ne kadar alındığına bağlı olarak oluşacaktır.

Yani mumların sırası ve şekli rastgeledir. Çok sayıda mum dizisi kombinasyonu vardır.

Kalıpları arama ve analiz etme girişimleri bir ütopyadır.

Burada, örneğin .
 

Renat Akhtyamov :

.. Çok sayıda mum dizisi kombinasyonu vardır.
Kalıpları arama ve analiz etme girişimleri bir ütopyadır..

Şamdan analizini (sonuçta bir ütopyadır) kalıp hesaplama ile karıştırmayın.

Mumun kendisi zaten bir ütopyadır - mum dönemindeki değişikliklerin doğasının kaba bir temsilidir.

Ve desen mumlar üzerine değil, bir dizi alıntı üzerine inşa edilmiştir. Kalıp, çubuğun açılma süresine bağlı değildir, isteğe bağlı uzunlukta olabilir, ortalama verilere dayalı olabilir, vb. Rastgele olmayan kalıplar, "basit" bir tüccar için neredeyse tek fırsattır ve bunların özünü anlamak, "kazananlar" kulübü için minimum geçme puanıdır.

 
User_mt5 :

Şamdan analizini (sonuçta bir ütopyadır) kalıp hesaplama ile karıştırmayın.

Mumun kendisi zaten bir ütopyadır - mum dönemindeki değişikliklerin doğasının kaba bir temsilidir.

Ve desen mumlar üzerine değil, bir dizi alıntı üzerine inşa edilmiştir. Kalıp, çubuğun açılma süresine bağlı değildir, isteğe bağlı uzunlukta olabilir, ortalama verilere dayalı olabilir, vb. Rastgele olmayan kalıplar , "basit" bir tüccar için neredeyse tek fırsattır ve bunların özünü anlamak , "kazananlar" kulübü için minimum geçme puanıdır .

Vay. Peki.

İyi şanlar!

not:

Her şey çok havalı olduğu için, kalıpları bulmak için mumların orantılı oranını, boyutlarının maksimum ve minimumunu ayrıca belirlemeniz gerekir.

Yani 0,1,1 kodu şöyle bir şeye dönüşecektir: 10,30,33

Karlı parametreleri ayarlamak için her bir modelin geçmiş üzerinden çalıştırılması gerekir.

Ardından bir kalıp veritabanı oluşturun

Bu, gelecekte muhtemelen olumlu bir sonuç getirecek büyük bir çalışma.

 
Renat Akhtyamov :

Vay. Peki.

İyi şanlar!

not:

Her şey çok havalı olduğu için, kalıpları bulmak için ayrıca mumların orantılı oranını, maksimum ve minimumu ve boyutlarını belirlemeniz gerekir.

Yani 0,1,1 kodu şöyle bir şeye dönüşecektir: 10,30,33

Numara. İki baskın, üç baskın, hatta kediler doğmayacak.

Ama prensipte .. Prensip olarak, Mors kodu da mümkündür, ancak bir uyarı ile: eğer nihai sonuçla ilgilenmiyorsanız.

 
Renat Akhtyamov :

Karlı parametreleri ayarlamak için her bir modelin geçmiş üzerinden çalıştırılması gerekir.

Ardından bir kalıp veritabanı oluşturun

Bu, gelecekte muhtemelen olumlu bir sonuç getirecek büyük bir çalışma.

Buna katılabiliriz. Sadece bu terimlerle - "muhtemelen" ve "daha sonra".

Ondan önce bile, bu "her kalıbı" tanımlamanız gerekir. Ve o kârlı değil. Yöntemin genel olarak kâr ve ticaretle ilgisi yoktur. Benzer parçaları tekrar etmekten bahsediyoruz. Onlar. sağ kısımda düzenli bir yönde, sol kısımları ise benzerdir. Uzunluk, şekil, genlik, döngüsellik, diğer parametreler - tüm bunlar araştırma konusudur.

Evet. Ve aynısını mum bazında yaparsanız, aynı olacaktır, ancak daha zayıf ve daha beceriksiz olacaktır. Ve daha az desen var - sadece mum tanımına göre.

Neden: