알고리즘, 결정 방법, 성능 비교 - 페이지 19

 
Alexandr Andreev :

티켓에 대한 이야기가 없다는 것이 분명했습니다.

아니요. 거래의 일련 번호 에 대한 이야기가있었습니다.
 
Реter Konow :
아니요. 거래의 일련 번호 에 대한 이야기가있었습니다.

코드에서 null null 인덱스가 비어 있습니다. 좋지 않습니다.

 
Alexandr Andreev :


그럼에도 불구하고 템플릿 기능과 같은 모든 종류의 가젯으로 코드를 복잡하게 만들기 시작하는 것이 좋습니다.

이 경우에는 필요하지 않습니다. 이것은 필연적 으로 특정 솔루션의 효율성을 감소시킵니다.

다른 작업에서는 아마도 이것이 필요합니다.

나는 부정하지 않을 것이다.

 
Реter Konow :

티켓을 기록하기 위해 병렬 배열을 나란히 만들 수 있습니다.

또는 각 주문의 나머지 데이터를 기록하기 위한 여러 병렬 어레이.


"세상에 이렇게 아름다울 수는 없으니까..."

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

알고리즘, 결정 방법, 성능 비교

Peter Konow , 2017.12.11 10:50

알렉산드르 안드레예프 :

이제 사용해보자

템플릿 < 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 :

아니요. 이것은 내 코드가 아닙니다. 누군가가 변경했습니다.

나는 레코드를 사용한 적이 없다



이것은 예이며 구현과 함께 일어난 일입니다.

코드가 점점 어려워지고 있습니까, 쉬워지고 있습니까?

추신: 예, 0이 정상적으로 기록됩니다. 나는 쓰레기를 간과했습니다)

 
Alexandr Andreev :

이것은 예이며 구현과 함께 일어난 일입니다.

코드가 점점 어려워지고 있습니까, 쉬워지고 있습니까?

이상적인 솔루션에 엔터티를 추가해야 하는 이유를 모르겠습니다. 나는 요점이 보이지 않는다.

동시에 두 개의 모자를 쓰지 않습니다. 그리고 왜?

이것을 먼저 설명하십시오. ))

 
Реter Konow :

이상적인 솔루션에 엔터티를 추가해야 하는 이유를 모르겠습니다. 나는 요점이 보이지 않는다.

동시에 두 개의 모자를 쓰지 않습니다. 그리고 왜?

이것을 먼저 설명하십시오. ))


모자를 쓰는 것이 아니라.... 매번 이 모자를 꿰매는 것뿐이고 품질이 좋지 않습니다.