アルゴリズム、解法、性能比較 - ページ 19

 
Alexandr Andreev:

チケットのことではないのでしょうけど。

いいえ、取引番号の ことです。
 
Реter Konow:
いいえ、トランザクションのシーケンス番号 に関するものでした。

あなたのコードでは、ゼロゼロインデックスが空になっています。

 
Alexandr Andreev:


しかし、私はまだテンプレート関数のようなすべての種類のものを使用してコードを複雑にし始めることをお勧めします

このタスクでは、その必要性を感じない。そうすると、どうしても特定の ソリューションの効果が薄れてしまいます。

その他の作業では、必要な場合もあります。

否定はしない。

 
Реter Konow:

チケットを記録するために、隣り合わせに並列配列を作ることができます。

あるいは、各オーダーのデータの残りを書き込むために、複数の並列アレイを用意する。


"世界一美しいと言われるだけあって..."

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

アルゴリズム、解法、性能比較

レタグ・コノウ さん 2017.12.11 10:50

アレクサンドル・アンドレエフ

では、次のように使ってみましょう。

template<typename T>

なぜ?

天才です。

 
Alexandr Andreev:

あなたのコードでは、NULL NULL インデックスは空です。

なぜゼロなのか?

 for(int a1 =  0; a1 < Random_orders_of_strategy; a1++)
   {
    int this_magic = MathRand();
    //----------------------------
    order_number++;
    //---------------------------------
    //Записываем магик в массив после прибавлениея ячейки.
    //---------------------------------
    ArrayResize(All_magics,order_number);
    All_magics[order_number - 1] = this_magic;//  <- Вот здесь.
    //---------------------------------
   }
 
Реter Konow:

なぜゼロなのか?

自分自身のコードなのだから。
int    All_magics[];
int    Random_orders_of_strategy;
//+------------------------------------------------------------------+ 

template<typename T> 
   void ArrayAdd(T &m[], T& a)    {m[ArrayResize(m,ArraySize(m)+1,100)-1)=a;}
   
void Trading()
{
 Random_orders_of_strategy = MathRand();
 //----------------------------------------
 //Имитируем открытие неопределенного количества ордеров стратегии.
 //----------------------------------------
 for(int a1 =  0; a1 < Random_orders_of_strategy; a1++)
   {
    int this_magic = MathRand();
    ArrayAdd(All_magics,this_magic);
   }
 //----------------------------------------
}
//+------------------------------------------------------------------+
int Get_magic(int deal_number)
{
 return(All_magics[deal_number]);  // ут была ошибка тоже
}
//+------------------------------------------------------------------+


//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Trading(); 
   ulong t1 = GetMicrosecondCount();
   Get_magic(1000);
   ulong t2 = GetMicrosecondCount();
 
  
  
  
 
Alexandr Andreev:
自分自身のコードなのだから。

いいえ、それは私のコードではありません。誰かが書き換えたのでしょう。

エントリーは一度も使っていません。

template<typename T> 
   void ArrayAdd(T &m[], T& a)    {m[ArrayResize(m,ArraySize(m)+1,100)-1)=a;}
   


 
Реter Konow:

いいえ、それは私のコードではありません。誰かが書き換えたのでしょう。

エントリーを利用したことはありません



これは一例であり、そこから生まれたものです。

コードが複雑になったのか、それともシンプルになったのか?

ZS: はい null 普通に書いてますね、屑を見逃しました)

 
Alexandr Andreev:

これはその一例であり、その実装で何が起こったかを示しています。

コードが複雑になったのか、それともシンプルになったのか?

理想的なソリューションにエンティティを追加する理由がわからない。意味がわからない。

2つの帽子を同時にかぶることはありません。その理由は?

まず説明すること。))

 
Реter Konow:

理想的なソリューションにエンティティを追加する理由がわからない。意味がわからない。

2つの帽子を同時にかぶることはありません。それはなぜか?

まずそれを説明してください。))


帽子をかぶることではないのですが...。その帽子を毎回縫っているだけで、あまり品質が良くない。