Emir bulma görevi - sayfa 14

 
Dmitry Fedoseev :
Ben değil, OTC değil :) Test cihazındaki siparişlerde veya bir demo hesabında test edin.
OTK nedir?
 
Diyelim ki, önce fiyata göre ikinci sipariş var, fiyat_max'ta hatırlandı, sonra birincisi, fiyat_max değiştirildi, ikinci sipariş kayboldu,
 
Vladimir Pastushak :
OTK nedir?
Teknik Kontrol Departmanı.
 
Vladimir Pastushak :

Fazlalıktan kaçınmak için, vakaların% 99'unda hala tüm kodu manuel olarak yazmanız gerektiği ortaya çıktı ...

Yeterli bir bakiyeden bahsediyorum, ancak PORTABLE kodunda fazlalıktan tamamen kaçınmak imkansız. 3 yapının böyle bir matryoshka'sına yerleştim

 struct ORDER {
         double           d_Price;
         double           d_Lot;
         double           d_Profit;
         string           s_Comment;
         datetime         t_Time;
         int                              i_Ticket;
         int                              i_Op_Type;
};
struct ORDERS_GROUP {
         double   d_Lots_Total;            // сумма лотов
         double   d_Profit_Total;          // суммарная прибыль
         double   d_BreakEven_Price;       // уровень б/у
        ORDER           o_Lowest;        // параметры нижнего ордера
        ORDER           o_Highest;       // параметры верхнего ордера
        ORDER           o_Oldest;        // параметры старейшего ордера
        ORDER           o_Newest;        // параметры новейшего ордера
         int              i_Orders_Total;  // кол-во ордеров
};
struct ALL_ORDERS {
         int       i_Orders_Total;         // кол-во ордеров
         double    d_Lots_Total;           // сумма лотов
         double    d_Profit_Total;         // суммарная прибыль
         double    d_BreakEven_Price;      // уровень б/у
         double    d_One_Point_Price;      // прибыль одного пункта
         datetime  t_Data_Collected;       // время последнего обновления данных
         bool      b_Changed;              // была операция после последнего обновления данных?
        ORDERS_GROUP    o_Buy;           // сводка данных ордеров Buy
        ORDERS_GROUP    o_Sell;          // сводка данных ордеров Sell
        ORDERS_GROUP    o_Buy_Stop;     //  сводка данных ордеров BuyStop
        ORDERS_GROUP    o_Sell_Stop;     // сводка данных ордеров SellStop
        ORDERS_GROUP    o_Buy_Limit;     // сводка данных ордеров BuyLimit
        ORDERS_GROUP    o_Sell_Limit;   // сводка данных ордеров SellLimit
        ORDERS_GROUP    o_Market;        // сводка данных рыночных ордеров
        ORDERS_GROUP    o_Pendings;      // сводка данных отложенных ордеров
};
ALL_ORDERS go_Orders;

Tek geçişte doldurulur, bot bir işlem gerçekleştirdiğinde veya sipariş sayısını değiştirdiğinde güncellenir. İşte IMHO'mda fazlalık eşiğinde. Vakaların %90'ında benim için yeterli, ancak sorununuzu çözmüyor, ayrı bir işleve ihtiyacınız var

 
Dmitry Fedoseev :
Diyelim ki, önce fiyata göre ikinci sipariş var, fiyat_max'ta hatırlandı, sonra birincisi, fiyat_max değiştirildi, ikinci sipariş kayboldu,

hayır, ikincisini kaybetmeyiz, önce maksimum kaydedilir

                   if (op>price_max) // Самый верхний ордер
                    {
                     price_max=op;
                     m_tick_upper=tc;
                    }

İkinci sıra daha yüksekse, daha düşükse üzerine yazma, ikinci koşul çalışır

                   if (tc!=m_tick_upper) // Предпоследний верхний ордер
                     if (op>price_max2)
                       {
                        price_max2=op;
                        m_tick_upper_=tc;
                       }

bilet kontrol edilir, maksimum bilet değil de en üstteki bilet ise, o zaman en yüksek biletten önceki en yüksek bilettir..

 
Alexander Puzanov :

Yeterli bir bakiyeden bahsediyorum, ancak PORTABLE kodunda fazlalıktan tamamen kaçınmak imkansız. 3 yapının böyle bir matryoshka'sına yerleştim

Tek geçişte doldurulur, bot bir işlem gerçekleştirdiğinde veya sipariş sayısını değiştirdiğinde güncellenir. IMHO'mda eşiğinde fazlalık var. Vakaların %90'ında benim için yeterli, ancak sorununuzu çözmüyor, ayrı bir işleve ihtiyacınız var

üçüncüde iki yapı döştüğünüz ortaya çıktı ...

Tüm yapıları doldurma yönteminiz ilginç...

 
Dmitry Fedoseev :

Hiçbir yerde daha hızlı. Daha hızlı ihtiyacınız varsa, danışmanın tüm algoritmasını düşünmeniz gerekir, belki her tikte iki alt, iki üst arama ihtiyacından kurtulabilirsiniz.
İtiraf etmeliyim ki sizin emir arama yönteminiz bazı durumlarda benimkinden daha kararlı, şimdi testler yapıyorum ve emir açma konumuna göre yönteminiz hatasız çalışıyor... Benimki bazı anlarda karışıyor.. .
 
Vladimir Pastushak :
İtiraf etmeliyim ki sizin emir arama yönteminiz bazı durumlarda benimkinden daha kararlı, şimdi testler yapıyorum ve emir açma konumuna göre yönteminiz hatasız çalışıyor... Benimki bazı anlarda karışıyor.. .

Dün bunun hakkında yazdım . Açılma sırasına göre değişir.

 
Dmitry Fedoseev :

Dün bunun hakkında yazdım . Açılma sırasına göre değişir.

Evet, evet, evet, ama buna hiç önem vermedim ...