[¡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 427

 
costy_ >>:
Вернее int startBar =iBarShift(NULL,PERIOD_D1, iTime(NULL,PERIOD_D1, N),false); // N - номер бара от текущего момента на дневном тф =))


no es necesario complicarse tanto y ser tautológico...

¿Por qué buscar la barra N a través de iBarShift cuando ya está ahí?

La hora de este bar siempre está ahí, si hay una historia por supuesto, pero la hora del bar puede no estar ahí, porque la hora puede caer en un hueco de la historia o la hora del fin de semana...

 
keekkenen >>:


не нужно так усложнять и заниматься тавтологией..

зачем искать бар N через iBarShift, когда он и так есть ?

время по этому бару всегда есть, если конечно есть история, а вот по времени бара может и не быть, т.к. время может попасть на дыру в истории или время выходных..

LOL =))

Sólo un bucle de 60 barras en iLow... a 1440 y eso es todo =))

 
costy_ >>:

Ржу нимагу =))

¿Explicar qué? Yo también me reiré.

 
keekkenen >>:

вся ваша проблема в постановке задачи, сформулируйте ее так чтобы понятно другим.. я честно так и не понял с какого по какое время нужно тестировать..

если нужно начать с 60 бара так и берите время с него

int startTime = iTime(NULL,PERIOD_D1, N); // N - номер бара от текущего момента на дневном тф



Enunciado de la tarea: Hay un Asesor Experto y queremos optimizarlo en las últimas 40 barras en el probador de estrategias, por ejemplo. Estas cuarenta barras pueden ser horarias, de 4 horas, diarias o de otro tipo. El probador de estrategias funciona: El intervalo de tiempo en el que funciona se establece en el panel del probador. Esta forma de ajustar el tiempo de funcionamiento no cumple con la tarea mencionada anteriormente: realizar una prueba de 40 bares. Significa que tenemos que cambiar el Asesor Experto para que no sea el probador el que defina el tiempo de prueba (no se satisfacen sus capacidades), sino el propio código.

Su sugerencia no funcionará, porque para el probador, la hora que había hace N bares es la hora actual.

 
ikatsko >>:

Постановка задачи: имеется советник, есть желание его оптимизировать на последних, например, 40-ка барах в тестере стратегий. Эти сорок баров могут быть на часовом, 4-х часовом, дневном или другом ТФ. Работает тестер стратегий: промежуток времени на котором он работае указывается на панели тестера. Этот способ задания времени работы не выполняет поставленной выше задачи - тест на 40-ка барах. Значит надо внести изменения в советника так, чтобы выполняя код не тестер определял время тестирования (его возможности не устраивают), а сам код.

Ваше предложение работать не будет, так как для тестера время, которое было N баров назад является текущим.

¡Oh, es una declaración de problema y se resuelve fácilmente en cualquier marco, pero sólo en un EA!

if(Time[0]>iTime(0,1440,60))
функция
 
costy_ >>:

if(Time[0]>iTime(0,1440,60,false))

¡C U E R ! ¡! ¡! ¿Pero parece que tiene 3 parámetros? datetime iTime( string symbol, int timeframe, int shift)

Me corrijo, me emocioné demasiado pronto. Para la hora actual, el comprobador calculará la hora de apertura de la barra especificada (hacia atrás) a partir de la hora actual. Es decir, de nuevo no resolverá el problema. Necesitamos N barras hacia atrás desde la barra de hoy (momentánea), no desde la hora actual del probador




 
Espero que esto no sea optimizar el EA, ya que prueba la biblioteca Optimatic.
 
ikatsko >>:

C У П Е Р ! ! ! Но у него вроде как 3 параметра? datetime iTime( string symbol, int timeframe, int shift)


Lo siento, no estoy escribiendo en un meta-editor sino de memoria.

 

Me temo que esta construcción if(Time[0]>iTime(0,1440,60)) siempre devolverá true, porque este valor de iTime(0,1440,60) estará 60 barras a la izquierda de Time[0]...

¿qué muestra la prueba?

 
costy_ >>:
Надеюсь это не оптимизация советника по ходу тестирования Библиотека Optimatic.

Confirmado, no es "eso".

Tu frase anterior me la he replanteado (ver arriba).

Razón de la queja: