Hatalar, hatalar, sorular - sayfa 2911

 
DMITRII PECHERITSA :
üçlü operatörle derleme başarısız
operatörle derleme hatası?:


herhangi bir öneri?
niye ya?
https://www.mql5.com/ru/docs/basis/operators/ternary
dokümanları okumak
[Silindi]  
DMITRII PECHERITSA :
üçlü operatörle derleme başarısız
operatörle derleme hatası?:


herhangi bir öneri?
niye ya?

= değil ama ==

 

Belirli bir aralıktaki sayıları rastgele karıştırmanın bir yolu var mı?

Örneğin 0'dan 9'a kadar bir aralık var. Bunları karıştırmak mümkün mü - 5863014297? Karıştırmak ve belirli bir aralıktan rastgele bir sayı almamaktır - rand uygun değildir.

Документация по MQL5: Математические функции / MathRand
Документация по MQL5: Математические функции / MathRand
  • www.mql5.com
MathRand - Математические функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksei Lesnikov :

Belirli bir aralıktaki sayıları rastgele karıştırmanın bir yolu var mı?

Örneğin 0'dan 9'a kadar bir aralık var. Bunları karıştırmak mümkün mü - 5863014297? Karıştırmak ve belirli bir aralıktan rastgele bir sayı almamaktır - rand uygun değildir.

elde edilen sayıyı bir dizgeye çevirin, bu dizgenin karakterlerini bir algoritmaya göre kendi aralarında değiştirin (hangisini kendiniz düşünün) - ve sonra dizgedeki sayıyı tekrar double veya int'ye çevirin

 
Alexandr Sokolov :

elde edilen sayıyı bir dizgeye çevirin, bu dizgenin karakterlerini bir algoritmaya göre kendi aralarında değiştirin (hangisini kendiniz düşünün) - ve sonra dizgedeki sayıyı tekrar double veya int'ye çevirin

Teşekkürler, bu bir seçenek!
Ve aralık birkaç bin, hatta on binlerce sayıysa?
 
Aleksei Lesnikov :
Teşekkürler, bu bir seçenek!
Ve aralık birkaç bin, hatta on binlerce sayıysa?

dize bir dizidir

gerekli sayıdan bir dizi yapmak

 
Hey!!! Söyle bana bir şeyi yakalayamıyorum))) Nesneler listesindeki sıra herhangi bir nedenle, nesnelerin adlarını değiştirmezseniz, bu döngü boyunca nesneleri seçip işlerken
 for ( int i= 0 ; i < Fibo_Koll; i++)
     {
      n= ObjectName ( 0 ,i, 0 , OBJ_FIBO );

düzen korunur. Ancak bu işlevlerle adları değiştirirseniz

 bool   F = ObjectSetString ( 0 ,n, OBJPROP_NAME ,NameFiboUp[UP]);
 bool   F = ObjectSetString ( 0 ,n, OBJPROP_NAME ,NameFiboDown[Down]);

sonra bir sonraki nesnenin seçimi rastgele gerçekleşir ???

 //+------------------------------------------------------------------+
//|                                                  Fibo_Massiv.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
//+------------------------------------------------------------------+
// Expert initialization function
string NameFiboUp[ 15 ];                               // Объявление массива
string NameFiboDown[ 15 ];                               // Объявление массива   
string NameFibo[ 9 ];                               // Объявление массива   
                         

//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   NameFiboUp[ 1 ]= "FiboUp1 " ;
   NameFiboDown[ 1 ]= "FiboDown1 " ;
   NameFiboUp[ 2 ]= "FiboUp2 " ;
   NameFiboDown[ 2 ]= "FiboDown2" ;
   NameFiboUp[ 3 ]= "FiboUp3" ;
   NameFiboDown[ 3 ]= "FiboDown3 " ;
   NameFiboUp[ 4 ]= "FiboUp4 " ;
   NameFiboDown[ 4 ]= "FiboDown4 " ;
   NameFiboUp[ 5 ]= "FiboUp5" ;
   NameFiboDown[ 5 ]= "FiboDown5 " ;
   NameFiboUp[ 6 ]= "FiboUp6 " ;
   NameFiboDown[ 6 ]= "FiboDown6 " ;
   NameFiboUp[ 7 ]= "FiboUp7 " ;
   NameFiboDown[ 7 ]= "FiboDown7 " ;
   NameFiboUp[ 8 ]= "FiboUp8 " ;
   NameFiboDown[ 8 ]= "FiboDown8 " ;
   NameFiboUp[ 9 ]= "FiboUp9 " ;
   NameFiboDown[ 9 ]= "FiboDown9 " ;
   NameFiboUp[ 10 ]= "FiboUp10 " ;
   NameFiboDown[ 10 ]= "FiboDown10" ;
   NameFiboUp[ 11 ]= "FiboUp11 " ;
   NameFiboDown[ 11 ]= "FiboDown11 " ;
   NameFiboUp[ 12 ]= "FiboUp12 " ;
   NameFiboDown[ 12 ]= "FiboDown12 " ;
   NameFiboUp[ 13 ]= "FiboUp13 " ;
   NameFiboDown[ 13 ]= "FiboDown13" ;
   NameFiboUp[ 14 ]= "FiboUp14 " ;
   NameFiboDown[ 14 ]= "FiboDown14" ;
//---------------------------------------------
NameFiboUp[ 1 ]= "M1 " ;
NameFiboUp[ 2 ]= "M5 " ;
NameFiboUp[ 3 ]= "M15" ;
NameFiboUp[ 4 ]= "H1 " ;
NameFiboUp[ 5 ]= "H4 " ;
NameFiboUp[ 6 ]= "Da " ;
NameFiboUp[ 7 ]= "We " ;
NameFiboUp[ 8 ]= "Mo " ;
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   int UP= 1 ;
   int Down= 1 ;
   string   nameUP   = "FiboUp" ;
   string   nameDown = "FiboDown" ;
   double FiboDown[ 4 ][ 10 ],FiboUp[ 4 ][ 10 ];   // 2x мерный  массив

   int Fibo_Koll = ObjectsTotal ( 0 , 0 , OBJ_FIBO );     //Запрос колличества объектов Fibo

//_________________________________________________________
   if (Fibo_Koll== 0 ) //Если нет не одного фибо выход        //
       return ;                                               //
//_________________________________________________________//

   string n;
//  ObjectName(0,0,0,OBJ_FIBO); //Вытаскивает имя найденого фибо

   for ( int i= 0 ; i < Fibo_Koll; i++)
     {
      n= ObjectName ( 0 ,i, 0 , OBJ_FIBO );

       //----------------------------------------------------------------------------------------
       double    Fibo_Level_0= ObjectGetDouble (
                                 0 ,           // идентификатор графика
                                n,               // имя объекта
                                 OBJPROP_PRICE ,           // идентификатор свойства
                                 0      // модификатор свойства
                             );


       double    Fibo_Level_1= ObjectGetDouble (
                                 0 ,           // идентификатор графика
                                n,               // имя объекта
                                 OBJPROP_PRICE ,           // идентификатор свойства
                                 1      // модификатор свойства
                             );
       //------------------------------------------------------------------------------------------------------
       if (Fibo_Level_0>Fibo_Level_1)
        {

         //вызов функции расчёта уровня 78.6
         double Fibo_78_Up = Function_Up(Fibo_Level_0, Fibo_Level_1);
         //--------------------------------------------------------------------
         FiboUp[UP][ 1 ]= 1 ;     // Тип объектов 1 == FiboUp
         FiboUp[UP][ 2 ]=UP;     // Нумерация объектов FiboUp по типу
         FiboUp[UP][ 3 ]=Fibo_78_Up;   // 78.6%
         FiboUp[UP][ 4 ]= 0 ;       // 61.8%
         FiboUp[UP][ 5 ]= 0 ;         // 50%
     //------------------------------------------------------------------
         //Изменение имени объекта
           bool   F = ObjectSetString ( 0 ,n, OBJPROP_NAME ,NameFiboUp[UP]);

         UP++;

        }
       else
        {
         //вызов функции расчёта уровня 78.6
         double Fibo_78_Down = Function_Down(Fibo_Level_0, Fibo_Level_1);
         //-------------------------------------------------------------------
         FiboDown[Down][ 1 ]= 2 ;     // // Тип объектов 2 == FiboDown
         FiboDown[Down][ 2 ]=Down;     // Нумерация объектов  по типу
         FiboDown[Down][ 3 ]=Fibo_78_Down;   // 78.6%
         FiboDown[Down][ 4 ]= 0 ;       // 61.8%
         FiboDown[Down][ 5 ]= 0 ;         // 50%
         Alert ( "  FiboDown[1][1] = " , FiboDown[ 1 ][ 1 ],
               "  FiboDown[1][3] = " , FiboDown[ 1 ][ 3 ],
               "  FiboDown[2][1] = " , FiboDown[ 2 ][ 1 ],
               "  FiboDown[2][3] = " , FiboDown[ 2 ][ 3 ]);
         //------------------------------------------------------------------
         //Изменение имени объекта
         bool   F = ObjectSetString ( 0 ,n, OBJPROP_NAME ,NameFiboDown[Down]);

         Down++;

        }
     }
//+------------------------------------------------------------------+



   Alert ( "  FiboDown[1][1] = " , FiboDown[ 1 ][ 1 ],
         "  FiboDown[1][3] = " , FiboDown[ 1 ][ 3 ],
         "  FiboDown[2][1] = " , FiboDown[ 2 ][ 1 ],
         "  FiboDown[2][3] = " , FiboDown[ 2 ][ 3 ]);

   Alert ( "  FiboUp[1][1] = " , FiboUp[ 1 ][ 1 ],
         "  FiboUp[1][3] = " , FiboUp[ 1 ][ 3 ],
         "  FiboUp[2][1] = " , FiboUp[ 2 ][ 1 ],
         "  FiboUp[2][3] = " , FiboUp[ 2 ][ 3 ]);


  }

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
double Function_Up( double a, double b)     // имя функции и список параметров
  {
   double Sum_100 = a - b; //Вычисляем 100% В пунктах от точек построения фибо
   double Sum_78  = Sum_100 * 78.6 / 100 ;   //Вычисляем 78.6% В пунктах
   return (Sum_78 + b);           // Вычисляем 78.6% в цене инструмента
  }
//+------------------------------------------------------------------+
double Function_Down( double a, double b)     // имя функции и список параметров
  {
   double Sum_100 = b - a ; //Вычисляем 100% В пунктах от точек построения фибо
   double Sum_78  = Sum_100 * 21.4 / 100 ;   //Вычисляем 78.6% В пунктах
   return (Sum_78 + a);           // Вычисляем 78.6% в цене инструмента
  }
//+------------------------------------------------------------------+
 

Kim bununla karşılaştı

10 kazan

terminal yapı 2715

Expert Advisor'da herhangi bir optimizasyon yaptıktan sonra, terminali kapattıktan sonra Agent'lar RAM tüketerek işlemlerde asılı kalıyor.


Hacim açısından ne kadar kritik olursa olsun RAM'im çok ama oyunlara başladığımda bu dormoed sürüsü sürekli belleğe eriştiği için FPS'im en az 20 kare düşüyor.

İşlemleri öldürmek için ya bilgisayarı aşırı yüklemeniz ya da tek tek oturmanız gerekiyor...

Dürüst olmak gerekirse, can sıkıcı olmaya başladı.

Diyelim ki bu bir hata ya da öyle tasarlandı, açılış komisyoncusundan gelen terminal dışında, başka bir şey koymadım, zaman zaman güncelleniyor, onunla herhangi bir manipülasyon yapmadım.

 
Kira27 :
Hey!!! Söyle bana yetişemiyorum, belki))) Nesneler listesindeki sıra, herhangi bir nedenle, nesnelerin adlarını değiştirmezseniz, bu döngü boyunca nesneleri seçip işlerken

düzen korunur. Ancak bu işlevlerle adları değiştirirseniz

sonra bir sonraki nesnenin seçimi rastgele gerçekleşir ???

Çünkü bir nesneyi yeniden adlandırdığınızda, yeniden oluşturulur. Biri silinir, diğeri oluşturulur ve tüm nesneler listesinde oluşturulma zamanına göre düzenlenirler.

 
Alexey Viktorov :

Çünkü bir nesneyi yeniden adlandırdığınızda, yeniden oluşturulur. Biri silinir, diğeri oluşturulur ve tüm nesneler listesinde oluşturulma zamanına göre düzenlenirler.

Çok teşekkürler!!! Bununla ilgili nerede okuyabilirsiniz?