[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 361

 
costy_ писал(а) >>

Ayuda

int Minuto( )
Devuelve el minuto actual (0,1,2,...59) de la última hora conocida del servidor en el momento del inicio del programa (este valor no cambia durante la ejecución del programa).

Nota: en las pruebas, se simula la última hora conocida del servidor.

Pero en el indicador, cuando se prueba, no se simula la última hora conocida del servidor, ¿se supone que es así?

Se simula en el indicador, si el indicador se llama desde el Asesor Experto en el modo probador u optimizador. Si está en modo visual, se toma el tiempo real.

 

Vamos a Minsk en el próximo tren....

Aquí, estimación escribió un bloque de control aproximado del nivel de requity en la zona donde drené con el control da un beneficio del 100% de la depo durante 4 meses

Búscalo si no te importa correctamente allí...

Archivos adjuntos:
 

Cualquier otra idea sobre cómo mejorar

Parece un consejero prometedor, ¿qué te parece??????

 
Vinin >> :

El indicador también se modela si el indicador se llama desde un EA en modo probador u optimizador. Si está en modo visual, se toma el real.

Es una pena, ¿cuál es una forma sencilla de hacer que la función funcione una vez al día en un indicador (probador)?

 

Se requiere para cerrar una parte de una posición abierta (20, 30, 50, etc. %).

Esto requiere que la parte restante del lote cumpla los requisitos del corredor:

- En un corredor - lote y paso mínimo: 0,1 y 0,01 respectivamente.

- En otro corredor - 0,01 y 0,01

- El tercer corredor tiene 0,1 y 0,1.


¿Alguien tiene idea de cómo realizar la comprobación de la manera más fácil?

 
chief2000 >> :

Se requiere para cerrar una parte de una posición abierta (20, 30, 50, etc. %).

Esto requiere que la parte restante del lote cumpla los requisitos del corredor:

- En un corredor - lote y paso mínimos: 0,1 y 0,01 respectivamente.

- En otro corredor - 0,01 y 0,01

- El tercer corredor tiene 0,1 y 0,1.


¿Alguien tiene idea de cómo realizar la comprobación de la manera más fácil?





1. Podemos abrir X (0,15 etc.) en la misma dirección. Obtenemos ~0,25 (0,3 o lo que sea necesario... ) en total. - abrir en el otro lado tantas órdenes como queramos... y luego cerrar varias órdenes.

2. ¿cómo se pueden cerrar más pedidos desde abajo del zócalo?

3. de ninguna manera.

 
chief2000 писал(а) >>

Se requiere para cerrar una parte de una posición abierta (20, 30, 50, etc. %).

Esto requiere que la parte restante del lote cumpla los requisitos del corredor:

- En un corredor - lote y paso mínimos: 0,1 y 0,01 respectivamente.

- En otro corredor - 0,01 y 0,01

- El tercer corredor tiene 0,1 y 0,1.

¿Alguien tiene idea de cómo comprobarlo de la manera más fácil?

La opción más fácil.

1. Calculamos la fracción necesaria (que debe quedar después del cierre). 2.

2. restar del número recibido el lote mínimo

3. redondear esta diferencia con la precisión requerida.

4. añadir el lote mínimo.

Hemos obtenido el tamaño de la posición después de cerrarla.

Si es necesario en el código, lo haré más tarde.

El algoritmo será totalmente utilizable y podrá emplearse prácticamente con cualquier empresa de corretaje.

 
BARS >> :

1. Podemos abrir X (0,15, etc.) en la misma dirección. - abrir en otra dirección todas las órdenes que queramos... y luego cerrar varias órdenes.

2. ¿Cómo puedo cerrar más por debajo del zócalo?

3. no hay manera.

Me temo que la apertura de nuevos pedidos lo complicará todo :)

 
Vinin >> :

La opción más fácil.

1. Calcular la cuota requerida (que debe quedar después del cierre)

2) restar el lote mínimo del número obtenido

3. redondear esta diferencia con la precisión requerida.

4. añadir el lote mínimo.

Hemos obtenido el tamaño de la posición después de cerrarla.

Si es necesario en el código, lo haré más tarde.

El algoritmo es bastante utilizable y puede emplearse prácticamente con cualquier empresa de corretaje

El porcentaje (20, 30, 50, etc.) se fija de antemano, al menos por ahora.

La pregunta se refiere principalmente a la definición de la "precisión requerida" basada en los requisitos del corredor para el lote mínimo y el paso (al mismo tiempo

la universalidad de la solución). Supongamos que la posición del 25% debe cerrarse con 0,72 lotes: 0,01 de paso y 0,1 de mínimo.

 
chief2000 писал(а) >>

El porcentaje (20, 30, 50, etc.) se fija de antemano, al menos por ahora.

La pregunta se refiere principalmente a la definición de la "precisión requerida" basada en los requisitos de lote mínimo y de paso del corredor (para que haya

la universalidad de la solución). Supongamos que quiero cerrar el 25% de una posición con 0,72 lotes: un paso de 0,01 y un lote mínimo de 0,1.

extern double CloseProcent=20.0; // Заданный процент лота для закрытия

//=====================================================================
// Функция для расчета закрываемой доли позиции с учетом минимального |
// лота и шага                                                        |
// На входе размер позиции, на выходе закрываемая часть               |
//---------------------------------------------------------------------
//                        Copyright © 2009, Victor Nicolaev aka Vinin |
//                                              e-mail: vinin@mail.ru |
//=====================================================================
double CalculateCloseLots(double LotSize){
   double LotMin  = MarketInfo(Symbol(), MODE_MINLOT);
   double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
   
   double Res;
   
   Res= LotSize*(100.0- CloseProcent)/100.0;   // Считаем сколько должно остаться
   Res-= LotMin;                              // Убираем миниальный лот
   Res=MathRound( Res/ LotStep)* LotStep;       // Округляем до заданой точности 
   Res+= LotMin;                              // Получаем размер позиции после закрытия
   Res= LotSize- Res;                          // Считаем размер к закрытию
   return( Res);
}

Algo así me ha funcionado.