Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 952

 
atztek:
Si he entendido bien, la única manera de evitar que los búferes de los indicadores sobrepasen la memoria es
asignar inicialmente un cierto rango para ellos (por ejemplo, de 0 a 2000) y no sobrepasarlo?

La única manera es especificar el número mínimo de barras mostradas en la configuración del terminal
 
Vinin:
La única manera es especificar en la configuración del terminal el número mínimo de barras que se deben mostrar
Si entiendo bien lo que sugieres, esta opción no me conviene.
Lo que digo es que hay que limitar las últimas 0-2000 barras (2000 por ejemplo). Cuando aparece una nueva barra, debemos sobrescribir los valores de los búferes y añadir una nueva barra al búfer 0 y eliminar la última barra eliminada en consecuencia. Sin embargo, este ciclo supondrá una cierta carga para la CPU.
 
atztek:
Si entiendo bien lo que sugieres, esta variante no me conviene.
Me limito a las últimas 0-2000 barras (2000 por ejemplo). Cuando obtengo una nueva barra tengo que sobrescribir los valores de los búferes y añadir una nueva barra al búfer 0 y eliminar la última barra eliminada en consecuencia. Sin embargo, este ciclo supondrá una cierta carga para la CPU.

Si para los cálculos se puede utilizar un buffer circular. entonces no es necesario sobrescribir los valores del buffer. Sólo almacena la posición actual y pasa al siguiente elemento cuando aparece una nueva barra.

Se necesitan arrays dinámicos estándar para el renderizado.

 
Vinin:

Si para los cálculos se puede utilizar un buffer circular. entonces no es necesario sobrescribir los valores del buffer. Sólo almacena la posición actual y pasa al siguiente elemento cuando aparece una nueva barra.

Para el renderizado, se necesitan matrices dinámicas estándar.

Los datos correspondientes a la barra cero deben almacenarse en el elemento cero del buffer para que la línea se dibuje correctamente.
 
en eurusd,gpbusd,usdchf,usdjpy,audusd,nzdusd en el probador funciona completamente.
Y en el caso de usdrub,xauusd,audcad,audchf,chfjpy petróleo, gas en el registro - Error de ordenación 131
(para comprobar todo tipo de errores, también utilicé una acción del programa - OrderSend Sell. todavía - no funciona).
todas las cotizaciones de divisas se cargaron de la misma manera. y no hay ninguna diferencia entre los símbolos en las propiedades de los símbolos...
 
¿Es posible controlar el botón de pausa del probador desde el código? -
Es decir, ¿puedo crear mi propio botón, colocarlo en la pantalla y utilizarlo para cambiar el Probador al modo Pausa/Trabajo?
PS Anteriormente en el foro escribieron sobre la posibilidad de interceptar algunos comandos de MT4.
 
Probando el asesor del tutorial de Kovalev en las plataformas de dos corredores diferentes. Debe entrar con el 10 por ciento del depósito, como en el tutorial. Al probar en un broker las operaciones se ejecutan con 0,4 lotes, en otro - 0,08. MODE_MINLOT, MODE_MINSIZE son iguales a 0,01. ¿Por qué sucede?
 
JoinDoe:
Probando el asesor del tutorial de Kovalev en las plataformas de dos corredores diferentes. Debe introducir el 10% del depósito, como en el tutorial. Al probar en un corredor, las operaciones se ejecutan con 0,4 lotes, mientras que en otro - 0,08. MODE_MINLOT, MODE_MINSIZE son iguales a 0,01. ¿Por qué sucede?
¿La palanca es la misma?
 
AlexeyVik:
¿La palanca es la misma?
¿Está en la configuración de mi cuenta en los corredores para mirar? En cuanto al apalancamiento en el programa, el programa es el mismo, por lo que el apalancamiento se establece igual desde el programa. Y así, en el "Resultado" del probador aparece 0,4 y 0,08 respectivamente. Sí, y los puntos en la misma pestaña "Resultados" son iguales en valor a 1 dólar(par EURUSD), entonces significa que el apalancamiento es el mismo.
 
JoinDoe:
¿Está en la configuración de mi cuenta en los corredores para mirar? En cuanto al apalancamiento en el programa, es el mismo en el programa, por lo tanto se establece el mismo apalancamiento desde el programa. Y así, en el "Resultado" del probador aparece 0,4 y 0,08 respectivamente. Sí, y los puntos en la misma pestaña "Resultado" son iguales en valor a 1 dólar (par EURUSD), entonces significa que el apalancamiento es el mismo.

SÍ.

Buscador para ayudarte, lee lo que es el "apalancamiento" en forex y te enterarás de todo. Es el apalancamiento, AccountLeverage() se utiliza en el programa cuando se calcula el lote como un % del depósito.