¿Hay alguna forma de barajar los números al azar dentro de un rango determinado?
Por ejemplo, hay un rango de 0 a 9. ¿Es posible barajarlas - 5863014297? Revolver exactamente, no obtener un número al azar de ese rango - rand no es adecuado.
¿Hay alguna forma de barajar los números al azar dentro de un rango determinado?
Por ejemplo, hay un rango de 0 a 9. ¿Es posible barajarlas - 5863014297? Revolver exactamente, no obtener un número aleatorio de un rango dado - rand no es adecuado.
Convertir el número en una cadena, cambiar los caracteres de la cadena entre sí utilizando algún algoritmo (se puede pensar en ello) - y luego convertir el número de la cadena de nuevo a doble o int
convertir este número en una cadena, cambiar los caracteres de esta cadena entre sí utilizando algún algoritmo (puedes pensar en ello), y luego convertir el número de la cadena de nuevo a double o int.
Gracias, ¡es una opción!
¿Y si el rango es de varios miles, o incluso decenas de miles de números?
Hola!!! no lo entiendo)) El orden en la lista de objetos por alguna razón si no cambias los nombres de los objetos, entonces al seleccionar y procesar los objetos a través de este ciclo
for(int i=0; i < Fibo_Koll; i++)
{
n=ObjectName(0,i,0,OBJ_FIBO);
Pero si se cambian los nombres con estas funciones
bool F =ObjectSetString(0,n,OBJPROP_NAME,NameFiboUp[UP]);
bool F =ObjectSetString(0,n,OBJPROP_NAME,NameFiboDown[Down]);
entonces el siguiente objeto se selecciona al azar???
//+------------------------------------------------------------------+//| 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% в цене инструмента
}
//+------------------------------------------------------------------+
Después de haber hecho cualquier optimización del Asesor Experto, tras cerrar el terminal, los Agentes siguen colgados en los procesos, consumiendo RAM.
Como no crítico volumen de RAM es mucho, pero cuando ejecuto el juego, debido al hecho de que la memoria se refiere constantemente a un montón de rezagos que tengo FPS cae por lo menos 20 fotogramas.
Tengo que sobrecargar el ordenador o sentarme un proceso a la vez para matar...
Sinceramente ya empieza a ser molesto.
Dime este error o tan diseñado, excepto el terminal de la apertura del corredor nada más se pone, de vez en cuando se actualiza, cualquier o manipulaciones con él no lo hizo.
Kira27: Hola!!! Me puedes decir puede que no lo consiga)) El orden en la lista de objetos por alguna razón si no cambias los nombres de los objetos, entonces cuando seleccionas y procesas los objetos a través de este bucle
Pero si se cambian los nombres con estas funciones
entonces el siguiente objeto se elige al azar???
Porque cuando un objeto es renombrado, es recreado. Se borra uno, se crea otro y en la lista de todos los objetos se ordenan según el momento de su creación.
Porque cuando un objeto es renombrado, es recreado. Uno se borra, el otro se crea y en la lista de todos los objetos se ordenan por orden de cuando fueron creados.
¿alguna sugerencia?
¿alguna sugerencia?
No =, sino ==
¿Hay alguna forma de barajar los números al azar dentro de un rango determinado?
Por ejemplo, hay un rango de 0 a 9. ¿Es posible barajarlas - 5863014297? Revolver exactamente, no obtener un número al azar de ese rango - rand no es adecuado.
¿Hay alguna forma de barajar los números al azar dentro de un rango determinado?
Por ejemplo, hay un rango de 0 a 9. ¿Es posible barajarlas - 5863014297? Revolver exactamente, no obtener un número aleatorio de un rango dado - rand no es adecuado.
Convertir el número en una cadena, cambiar los caracteres de la cadena entre sí utilizando algún algoritmo (se puede pensar en ello) - y luego convertir el número de la cadena de nuevo a doble o int
convertir este número en una cadena, cambiar los caracteres de esta cadena entre sí utilizando algún algoritmo (puedes pensar en ello), y luego convertir el número de la cadena de nuevo a double o int.
Gracias, ¡es una opción!
una cadena es una matriz
hacer un array con el número requerido
Pero si se cambian los nombres con estas funciones
entonces el siguiente objeto se selecciona al azar???
¿Quién se ha encontrado con esto?
Vin 10
Terminal build 2715.
Después de haber hecho cualquier optimización del Asesor Experto, tras cerrar el terminal, los Agentes siguen colgados en los procesos, consumiendo RAM.
Como no crítico volumen de RAM es mucho, pero cuando ejecuto el juego, debido al hecho de que la memoria se refiere constantemente a un montón de rezagos que tengo FPS cae por lo menos 20 fotogramas.
Tengo que sobrecargar el ordenador o sentarme un proceso a la vez para matar...
Sinceramente ya empieza a ser molesto.
Dime este error o tan diseñado, excepto el terminal de la apertura del corredor nada más se pone, de vez en cuando se actualiza, cualquier o manipulaciones con él no lo hizo.
Hola!!! Me puedes decir puede que no lo consiga)) El orden en la lista de objetos por alguna razón si no cambias los nombres de los objetos, entonces cuando seleccionas y procesas los objetos a través de este bucle
Pero si se cambian los nombres con estas funciones
entonces el siguiente objeto se elige al azar???
Porque cuando un objeto es renombrado, es recreado. Se borra uno, se crea otro y en la lista de todos los objetos se ordenan según el momento de su creación.
Porque cuando un objeto es renombrado, es recreado. Uno se borra, el otro se crea y en la lista de todos los objetos se ordenan por orden de cuando fueron creados.
Muchas gracias!!! ¿Dónde puedo leer sobre esto?