¿Quién quiere una estrategia? Lotes y de forma gratuita) - página 53

 
SergNF >> :

¡Y creo que debería haber iMaxBars de dtStartingDate "a la derecha" para que puedas mover el tamaño de la ventana iMaxBars alrededor del archivo!

Lógicamente. Solía hacer esto. El problema surge cuando se cambia a un archivo de fecha diferente. El horizonte de fechas es un ajuste global - para todos los valores y períodos.


dtFechaDeInicio | <- iMaxBars -> | dFechaDeFin


Pero si dtStartingDate de las barras es menor que iMaxBars. entonces dtStartingDate debería tener prioridad, porque las fechas son más intuitivas que las barras.

Yo también lo quería, pero no funcionaba bien. Así que lo cambié.


Es perfecto.



 
Miroslav_Popov писал(а) >>

Logicho. Había una variante así. El problema se produce cuando se cambia a un archivo de fecha diferente. El horizonte de fechas es un ajuste global - para todos los valores y períodos.

dtFechaDeInicio | <- iMaxBars -> | dFechaDeFin

¿Por qué no se debe llamar a este procedimiento cuando se cambia un Símbolo/Tiempo?

Además, el procedimiento llena el array aBar[iBar - iTempStartBar] y limita el rango de búsqueda - ¡esto es sólo una optimización del tiempo de ejecución!? y la búsqueda iTempStartBar/iTempEndBar puede ser de 0 a iBars y no molestar

Yo también lo quería, pero no funcionaba bien. Así que lo cambié.

No tienes que hacerlo más difícil.Poner la búsqueda de la fecha (si está marcada) en las barras de 0 a iBars, y si la diferencia entre iTempEndBar-iTempStartBar > iMaxBars, entonces iTempEndBar=iTempStartBar+iMaxBars

'

Es decir, (no he mirado todas las opciones - añadiré más después)

if( bUseStartDate) 
{
 цикл поиска iTempStartBar от 0 до iBars
}
иначе
{
 iTempStartBar = iBars - iMaxBars
}

if( bUseEndDate) 
{
 цикл поиска iTempEndBar от 0 до iBars
 if(! bUseStartDate)
 {
  iTempStartBar= iTempStartBar - iMaxBars
 }
}
иначе
{
 iTempEndBar = iTempStartBar + iMaxBars
}

if( iTempEndBar- iTempStartBar > iMaxBars) 
{
 iTempEndBar = iTempStartBar + iMaxBars
}
 
if( bUseStartDate) 
 цикл поиска iTempStartBar от 0 до iBars
иначе
 iTempStartBar = iBars - iMaxBars

if( bUseEndDate) 
 цикл поиска iTempEndBar от 0 до iBars
иначе
 iTempEndBar = iTempStartBar + iMaxBars

if( iTempEndBar - iTempStartBar < MINIMUMBARS)
{
   iTempStartBar = iTempEndBar - MINIMUMBARS;
   if( iTempStartBar < 0)
   {
     iTempStartBar = 0;
     iTempEndBar = MINIMUMBARS;
   }
}

if( iTempEndBar- iTempStartBar > iMaxBars) 
{
   iTempStartBar = iTempEndBar - iMaxBars;
   if( iTempStartBar < 0)
   {
     iTempStartBar = 0;
     iTempEndBar = iMaxBars;
   }
}
 
Miroslav_Popov писал(а) >>

Comprobación de los MINIMBARS y 0 - por supuesto.

Pero también añadí una variante en la que el usuario ponía bUseEndDate, no ponía bUseStartDate, y la ventana se especificaba en barras (resaltado en negrita).

'

Sobre los MINIMBARS tampoco está tan claro - añadir a la barra de inicio (y 'saltar' fuera del archivo) o restar de la barra de final (y 'saltar' fuera del archivo) :) ¡¡¡Pero eso es como en la descripción!!! :)

O mejor aún, la advertencia "¡Aprende a contar!" y el botón Aceptar no está activo.

'

SZY. Y si después de ajustar iTempEndBar/iTempStartBar por iMaxBars o MINIMUMBARS para cambiar las fechas en los ComboBoxes (aunque estén inactivos), sería genial.

 

Про MINIMUMBARS тоже не так однозначно - прибавлять к стартовому бару (и "выскочить" за пределы файла)

El FSB no cargará el archivo de datos con barras< 300. Mensaje de error.

¡Mejor aún, la advertencia "¡Aprenda a leer!" y el botón de Aceptar están inactivos!


Si estás en el "Horizonte de Datos" está bien. Pero se puede establecer esto correctamente y después de eso para cambiar a otra fuente de datos.


La versión actual de "Data Horizon" es fiable. Creo que no hay ningún caso para chocar.

Intentaré mejorarlo...

 
zfs писал(а) >>
Momentum MA Oscillator - Estoy luchando para encontrar el error de desajuste. Todo parece ser igual, excepto el valor del indicador. Publicaré la cabecera si es necesario.

Queda por ver

float[] afBasePrice = Price(basePrice);

que es la base del cálculo del FSB

es exactamente

      wprice_i=(High[ i]+Low[ i]+2*Close[ i])/4;
      wprice_mom=(High[ i+ MomPeriod]+Low[ i+ MomPeriod]+2*Close[ i+ MomPeriod])/4;

HH. Hasta ahora sólo estoy convencido de que iMAOnArray (MT4) = MovingAverage (FSB) :) Y esto último es una "inserción tonta en ME sustituyendo float por double".

En cuanto a las matrices que son de derecha a izquierda en MT4 y de izquierda a derecha en FSB ... lo principal es cómo prepararlos, es decir, alimentarlos a la entrada de la función escrita.

Si!!! lo reescribiré, entonces solo como "Funciones", pero no como "Indicadores".

Y hasta que no vea algo decente en OOS, ni siquiera pensaré en el primer "Si".

 

¡¡¡¡Horizonte de datos Mejorado!!!!



La fecha de inicio y la fecha de finalización limitan las barras de prueba;

300 <= Barras de prueba <= 50.000

Archivos adjuntos:
fsb_update.zip  540 kb
 
Miroslav_Popov писал(а) >>
¡¡¡¡Horizonte de datos Mejorado!!!!

Hasta ahora todo parece correcto:

'

iMaxBars 50 000

bUseStartDate False

bUseEndDate Flase

>>> Diario por barras 50.000, StartDate = 20.02.01 EndDate = 18.03.09 (Última fecha en el archivo)

'

iMaxBars 50 000

bUseStartDate True (01.09.2008)

bUseEndDate Flase

>>> En 'Diario por barras' 3 318, StartDate = 01.09.08 EndDate = 18.03.09 (Última fecha en el archivo)

'

iMaxBars 50 000

bUseStartDate True (01.09.2008)

bUseEndDate True (01.01.2009)

>>> En 'Diario por barras' 2 048, StartDate = 01.09.08 EndDate = 31.12.08

'

iMaxBars 50 000

bUseStartDate False

bUseEndDate True (01.01.2009)

>>> Diario por barras 50.000, StartDate = 06.12.00 EndDate = 31.12.08

'

iMaxBars 50 000

bUseStartDate False

bUseEndDate True (01.05.1999)

>>> En 'Diario por barras' 2 015, StartDate = 04.01.99 (Primera fecha del archivo) EndDate = 30.04.2009

'

El generador a 300 bares cuenta algo y puede ser abortado.

 

¿Qué significa fractal visible?

El fractal puede ser sombreado.

 
zfs >> :

¿Qué significa fractal visible?

El fractal puede ser sombreado.

Cuando abres los ojos y miras el monitor, es visible. Cuando la cierras, se vuelve invisible: se ensombrece.