Existe-t-il un moyen de mélanger aléatoirement les numéros dans une fourchette donnée ?
Par exemple, il existe une fourchette de 0 à 9. Est-il possible de les mélanger - 5863014297 ? Remuer exactement, et non pas obtenir un nombre aléatoire à partir de cette plage - rand ne convient pas.
Existe-t-il un moyen de mélanger aléatoirement les numéros dans une fourchette donnée ?
Par exemple, il existe une fourchette de 0 à 9. Est-il possible de les mélanger - 5863014297 ? Remuer exactement, et non pas obtenir un nombre aléatoire à partir d'une plage donnée - rand ne convient pas.
Traduire le nombre en une chaîne de caractères, changer les caractères de la chaîne les uns avec les autres en utilisant un algorithme (vous pouvez y penser) - et ensuite reconvertir le nombre de la chaîne en double ou en int.
convertir ce nombre en une chaîne de caractères, changer les caractères de cette chaîne les uns avec les autres en utilisant un algorithme quelconque (vous pouvez y penser), puis reconvertir le nombre de la chaîne en double ou en int.
Merci, c'est une option !
Et si la fourchette est de plusieurs milliers, voire de dizaines de milliers de chiffres ?
Bonjour ! !! Je ne comprends pas))) L'ordre dans la liste des objets pour une raison quelconque si vous ne changez pas les noms des objets, alors lors de la sélection et du traitement des objets par ce cycle
for(int i=0; i < Fibo_Koll; i++)
{
n=ObjectName(0,i,0,OBJ_FIBO);
L'ordre est maintenu, mais si vous changez les noms avec ces fonctions...
bool F =ObjectSetString(0,n,OBJPROP_NAME,NameFiboUp[UP]);
bool F =ObjectSetString(0,n,OBJPROP_NAME,NameFiboDown[Down]);
puis l'objet suivant est sélectionné au hasard ???
//+------------------------------------------------------------------+//| 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 functionstring NameFiboUp[15]; // Объявление массиваstring NameFiboDown[15]; // Объявление массива string NameFibo[9]; // Объявление массива //+------------------------------------------------------------------+intOnInit()
{
//---
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 |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
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.6double 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.6double 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% в цене инструмента
}
//+------------------------------------------------------------------+
Après avoir optimisé le conseiller expert, après avoir fermé le terminal, les agents sont toujours suspendus dans les processus, consommant de la RAM.
Comme le volume de RAM non critique est beaucoup, mais quand je lance le jeu, en raison du fait que la mémoire se réfère constamment à un tas de retardataires j'ai des chutes de FPS d'au moins 20 images.
Je dois soit surcharger l'ordinateur, soit asseoir un processus à la fois pour tuer...
Honnêtement, ça commence déjà à être ennuyeux.
Dites-moi ce bug ou si conçu, à l'exception du terminal de l'ouverture du courtier tout le reste n'est pas mis, de temps en temps il est mis à jour, tout ou manipulations avec lui n'a pas fait.
Kira27: Bonjour !!! Pouvez-vous me dire mai ne pas l'obtenir))) L'ordre dans la liste des objets pour une raison quelconque si vous ne changez pas les noms des objets, puis lorsque vous sélectionnez et traiter les objets à travers cette boucle
L'ordre est maintenu, mais si vous changez les noms avec ces fonctions...
puis l'objet suivant est choisi au hasard ???
Car lorsqu'un objet est renommé, il est recréé. Un objet est supprimé, un autre est créé et dans la liste de tous les objets, ils sont classés dans l'ordre de leur création.
Car lorsqu'un objet est renommé, il est recréé. L'un est supprimé, l'autre est créé et dans la liste de tous les objets, ils sont classés dans l'ordre de leur création.
Je l'ai trouvé))) --- Chaque objet graphique doit avoir un nom unique au sein d'un mêmegraphique, y compris ses sous-fenêtres. Le changement de nom d'un objet graphique génère deux événements : le premier est celui de la suppression de l'objet portant l'ancien nom et le second est celui de la création d'un objet graphique portant un nouveau nom. La question est de savoir pourquoi compliquer autant la vie du programmeur.
Функции, устанавливающие свойства графика, фактически служат для отправки ему команд на изменение. При успешном выполнении этих функций команда попадает в общую очередь событий графика. Изменение графика производится в процессе обработки очереди событий данного графика. По этой причине не следует ожидать немедленного визуального обновления...
Des suggestions ?
Pas =, mais ==
Existe-t-il un moyen de mélanger aléatoirement les numéros dans une fourchette donnée ?
Par exemple, il existe une fourchette de 0 à 9. Est-il possible de les mélanger - 5863014297 ? Remuer exactement, et non pas obtenir un nombre aléatoire à partir de cette plage - rand ne convient pas.
Existe-t-il un moyen de mélanger aléatoirement les numéros dans une fourchette donnée ?
Par exemple, il existe une fourchette de 0 à 9. Est-il possible de les mélanger - 5863014297 ? Remuer exactement, et non pas obtenir un nombre aléatoire à partir d'une plage donnée - rand ne convient pas.
Traduire le nombre en une chaîne de caractères, changer les caractères de la chaîne les uns avec les autres en utilisant un algorithme (vous pouvez y penser) - et ensuite reconvertir le nombre de la chaîne en double ou en int.
convertir ce nombre en une chaîne de caractères, changer les caractères de cette chaîne les uns avec les autres en utilisant un algorithme quelconque (vous pouvez y penser), puis reconvertir le nombre de la chaîne en double ou en int.
Merci, c'est une option !
une chaîne est un tableau
créer un tableau à partir du nombre requis
L'ordre est maintenu, mais si vous changez les noms avec ces fonctions...
puis l'objet suivant est sélectionné au hasard ???
Qui a rencontré cette
Vin 10
Terminal 2715.
Après avoir optimisé le conseiller expert, après avoir fermé le terminal, les agents sont toujours suspendus dans les processus, consommant de la RAM.
Comme le volume de RAM non critique est beaucoup, mais quand je lance le jeu, en raison du fait que la mémoire se réfère constamment à un tas de retardataires j'ai des chutes de FPS d'au moins 20 images.
Je dois soit surcharger l'ordinateur, soit asseoir un processus à la fois pour tuer...
Honnêtement, ça commence déjà à être ennuyeux.
Dites-moi ce bug ou si conçu, à l'exception du terminal de l'ouverture du courtier tout le reste n'est pas mis, de temps en temps il est mis à jour, tout ou manipulations avec lui n'a pas fait.
Bonjour !!! Pouvez-vous me dire mai ne pas l'obtenir))) L'ordre dans la liste des objets pour une raison quelconque si vous ne changez pas les noms des objets, puis lorsque vous sélectionnez et traiter les objets à travers cette boucle
L'ordre est maintenu, mais si vous changez les noms avec ces fonctions...
puis l'objet suivant est choisi au hasard ???
Car lorsqu'un objet est renommé, il est recréé. Un objet est supprimé, un autre est créé et dans la liste de tous les objets, ils sont classés dans l'ordre de leur création.
Car lorsqu'un objet est renommé, il est recréé. L'un est supprimé, l'autre est créé et dans la liste de tous les objets, ils sont classés dans l'ordre de leur création.
Merci beaucoup ! !! Où puis-je lire à ce sujet ?
Merci beaucoup ! !! Où puis-je le lire ?
Je l'ai trouvé))) --- Chaque objet graphique doit avoir un nom unique au sein d'un mêmegraphique, y compris ses sous-fenêtres. Le changement de nom d'un objet graphique génère deux événements : le premier est celui de la suppression de l'objet portant l'ancien nom et le second est celui de la création d'un objet graphique portant un nouveau nom. La question est de savoir pourquoi compliquer autant la vie du programmeur.