Librerías: BestInterval - página 9

 
fxsaber:

Sí, casi cualquier TC tiene una foto bonita en uno o dos clics. Cuanto más bonita es, más se compromete. Así que es bueno para el resultado final.

Pero en realidad, casi nadie hará nada.

Sí, lo mejor es joder a todo el mundo.

 

1. Ejecuto con los parámetros por defecto, en la primera pasada obtengo OnTester Critical Error, línea 53, como en el primer comentario



2. en la segunda pasada la optimización funciona bien

2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   Profit = -9408.19 = -9408.19 + 0.00 (0.00%) - Amount of Delete Intervals = 0
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   00:00:00 - 23:59:59 : Profit = -9408.19 (100.00%), Total = 1552 (42.85%), PF = 0.27, Mean = -6.06, DD = 11981.00, RF = -0.79
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   SUMMARY: 00:00:00 - 23:59:59 : Profit = -9408.19 (100.00%), Total = 1552 (42.85%), PF = 0.27, Mean = -6.06, DD = 11981.00, RF = -0.79
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   Profit = 1832.70 = -9408.19 + 11240.89 (-119.48%) - Amount of Delete Intervals = 1
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   00:00:00 - 05:26:38 : Profit = 730.60 (39.86%), Total = 137 (41.61%), PF = 16.68, Mean = 5.33, DD = 38.25, RF = 19.10
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   15:43:31 - 23:59:59 : Profit = 1102.10 (60.14%), Total = 762 (41.60%), PF = 2.39, Mean = 1.45, DD = 400.95, RF = 2.75
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   SUMMARY: 00:00:00 - 23:59:59 : Profit = 1832.70 (100.00%), Total = 899 (41.60%), PF = 3.18, Mean = 2.04, DD = 400.96, RF = 4.57
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   Profit = 2272.64 = 1832.70 + 439.94 (24.01%) - Amount of Delete Intervals = 2
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   00:00:00 - 05:26:38 : Profit = 730.60 (32.15%), Total = 137 (41.61%), PF = 16.68, Mean = 5.33, DD = 38.25, RF = 19.10
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   15:43:31 - 18:15:27 : Profit = 1339.72 (58.95%), Total = 326 (48.16%), PF = 5.86, Mean = 4.11, DD = 156.95, RF = 8.54
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   21:07:40 - 23:59:59 : Profit = 202.32 (8.90%), Total = 157 (24.84%), PF = 14.31, Mean = 1.29, DD = 19.97, RF = 10.13
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   SUMMARY: 00:00:00 - 23:59:59 : Profit = 2272.64 (100.00%), Total = 620 (40.81%), PF = 7.74, Mean = 3.67, DD = 156.96, RF = 14.48
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   final balance - InitBalance (10000.00) + Profit (-9408.19) without BestInterval.
2018.10.20 00:02:35.785 Core 1  2017.05.16 15:49:00   OnTester - Profit (2272.64) with BestInterval.

3. 3. Elijo el intervalo con el mayor beneficio y comercio sólo en él, pero las operaciones no se abren, probablemente la biblioteca está tratando de proteger al usuario de jugar con Martin :)

if (!IsTradingTime(15, 45, 18, 15)) return; // 15:45 - 18:15

4. Elijo el intervalo con beneficio medio solamente, el Asesor Experto pasa 2017 sin pérdidas.

5. Cambio a OOS, es decir, 2018, el intervalo está optimizado para 2017, el Asesor Experto también pasa por 2017 sin fallar, aunque el perfil cae significativamente


 
...:

1. Ejecuto con los parámetros por defecto, en la primera pasada me sale OnTester Critical Error, línea 53, como en el primer comentario

Más cerca de noviembre veré el motivo.

3. Elijo el intervalo con el mayor beneficio y comercio sólo en él, pero las operaciones no se abren, probablemente la biblioteca está tratando de proteger al usuario de jugar con martin :)

Esta implementación de tirar viola la lógica de la TS original. Esto fue mencionado por

Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading.

Bibliotecas: BestInterval

fxsaber, 2018.10.18 10:28 AM

Si el EA no es estilo MT4, la librería usará el 90% de sus capacidades. Y se obtendrán intervalos. Sin embargo, no se podrá ver su aplicación en el Tester de una vez. El programador tendrá que inventar algo grande para este propósito. Por eso sólo MT4-style puede revelar el 100% de las posibilidades bíblicas.

Entonces, o MT4-style o por usted mismo. Sin entorno virtual de comercio esta tarea no puede ser resuelta en caso general.
 

Lo más probable es que se finalice la biblioteca. El estado actual es beta.


SZY

1 undeleted objects left
1 object of type ORDERS left
504232 bytes of leaked memory

Si estos mensajes aparecen en el comprobador, se trata de un error de la compilación 1930.

 
Comprobada toda la funcionalidad actual de bibla en MT4-tester. Funciona.
 
...:

1. Ejecuto con los parámetros por defecto, en la primera pasada me sale OnTester Critical Error, línea 53, como en el primer comentario

No se reproduce.

 
fxsaber:
Comprobada toda la funcionalidad actual de bibla en MT4-tester. Funciona.

Hice un retoque cosmético para que la salida en el registro de MT4-tester sea correcta. Si usted está interesado en MT4, se ve así


Calculado

BestInterval Action(true - single pass & MT4-style is required) = false

Profit = 196.25 = 196.25 + 0.00 (0.00%) - Amount of Delete Intervals = 0
00:00:00 - 23:59:59 : Profit = 196.25 (100.00%), Total = 1436 (70.19%), PF = 1.01, Mean = 0.14, DD = 3335.13, RF = 0.06
SUMMARY: 00:00:00 - 23:59:59 : Profit = 196.25 (100.00%), Total = 1436 (70.19%), PF = 1.01, Mean = 0.14, DD = 3335.13, RF = 0.06

Profit = 9111.81 = 196.25 + 8915.56 (4543.06%) - Amount of Delete Intervals = 1
00:00:00 - 02:53:38 : Profit = 7422.16 (81.46%), Total = 262 (86.26%), PF = 10.58, Mean = 28.33, DD = 127.97, RF = 58.00
17:45:41 - 23:59:59 : Profit = 1689.65 (18.54%), Total = 257 (67.32%), PF = 1.33, Mean = 6.57, DD = 1366.75, RF = 1.24
SUMMARY: 00:00:00 - 23:59:59 : Profit = 9111.81 (100.00%), Total = 519 (76.88%), PF = 2.56, Mean = 17.56, DD = 861.31, RF = 10.58

Profit = 10303.79 = 9111.81 + 1191.98 (13.08%) - Amount of Delete Intervals = 2
00:00:00 - 02:53:38 : Profit = 7422.16 (72.03%), Total = 262 (86.26%), PF = 10.58, Mean = 28.33, DD = 127.97, RF = 58.00
17:45:41 - 18:32:36 : Profit = 1558.95 (15.13%), Total = 44 (70.45%), PF = 2.35, Mean = 35.43, DD = 367.52, RF = 4.24
19:12:02 - 23:59:59 : Profit = 1322.68 (12.84%), Total = 189 (70.90%), PF = 1.57, Mean = 7.00, DD = 456.22, RF = 2.90
SUMMARY: 00:00:00 - 23:59:59 : Profit = 10303.79 (100.00%), Total = 495 (78.99%), PF = 3.42, Mean = 20.82, DD = 583.22, RF = 17.67

final balance - InitBalance (10000.00) + Profit (196.25) without BestInterval.
OnTester - Profit (10303.79) with BestInterval.
OnTester returns 10303.79000000000087
2714656 tick events (64659 bars, 2714756 bar states) processed in 0:00:40.670 (total time 0:00:41.169)


Aplicado


BestInterval Action(true - single pass & MT4-style is required) = true
Calculation time activated intervals is 2018.11.02 21:30:10 - Test (common folder)  ago.

Amount of Delete Intervals = 2
00:00:00 - 02:53:38 : Profit = 7422.16 (72.03%), Total = 262 (86.26%), PF = 10.58, Mean = 28.33, DD = 127.97, RF = 58.00
17:45:41 - 18:32:36 : Profit = 1558.95 (15.13%), Total = 44 (70.45%), PF = 2.35, Mean = 35.43, DD = 367.52, RF = 4.24
19:12:02 - 23:59:59 : Profit = 1322.68 (12.84%), Total = 189 (70.90%), PF = 1.57, Mean = 7.00, DD = 456.22, RF = 2.90
SUMMARY: 00:00:00 - 23:59:59 : Profit = 10303.79 (100.00%), Total = 495 (78.99%), PF = 3.42, Mean = 20.82

final balance - InitBalance (10000.00) + Profit (10351.44) with BestInterval.
OnTester - Virtual InitBalance (10000.00) + Profit (5003.00) without BestInterval. Profit is calculated with TickValue=1 and w/o Commission+Swap.
OnTester returns 15003.00000000000000

2714862 tick events (64668 bars, 2714962 bar states) processed in 0:00:30.997 (total time 0:00:31.434)


El resaltado no coincide. No he analizado las razones.


ZY La segunda variante se calculó un 25% más rápido.

 

En MT5-Hedge, las órdenes limitadas se deslizan, esto crea grails de prueba, que no pueden dejar de ser molestos.

Cambiar a MT5-Exchange-Netting resuelve este problema. Pero allí las TP seguirán deslizándose. Así que tienen que ser reemplazados por operaciones limitadas. Que bien puede generar en / fuera de los oficios que MT4Orders no ver en la aplicación actual ...


Así que tuvimos que aprender a calcular y aplicar BestInterval en MT5-Exchange-Netting, donde el grial es mucho más difícil de crear. Resultó que esta tarea es solucionable, pero sólo dentro de MT5, porque MT5-tester, a diferencia de MT4-tester, permite trabajar con un temporizador. Y no hay manera de trabajar con operaciones limitadas sin un temporizador. En general, es difícil explicar todas las trampas a una persona común. Al final, resultó así


Calculado

BestInterval Action(true - single pass & MT4-style is required) = false

Profit = 18238.00 = 18238.00 + 0.00 (0.00%) - Amount of Delete Intervals = 0 (2018.07.01 - 2018.11.08)
00:00:00 - 23:59:59 : Profit = 18238.00 (100.00%), Total = 1618 (71.76%), PF = 1.46, Mean = 11.27, DD = 2286.00, RF = 7.98
SUMMARY: 00:00:00 - 23:59:59 : Profit = 18238.00 (100.00%), Total = 1618 (71.76%), PF = 1.46, Mean = 11.27, DD = 2286.00, RF = 7.98

Profit = 22915.00 = 18238.00 + 4677.00 (25.64%) - Amount of Delete Intervals = 1 (2018.07.01 - 2018.11.08)
00:00:00 - 10:18:47 : Profit = 3586.00 (15.65%), Total = 306 (72.22%), PF = 1.49, Mean = 11.72, DD = 1117.00, RF = 3.21
11:17:57 - 23:59:59 : Profit = 19329.00 (84.35%), Total = 1134 (73.28%), PF = 1.87, Mean = 17.04, DD = 1204.00, RF = 16.05
SUMMARY: 00:00:00 - 23:59:59 : Profit = 22915.00 (100.00%), Total = 1440 (73.06%), PF = 1.77, Mean = 15.91, DD = 1331.00, RF = 17.22

Profit = 24543.00 = 22915.00 + 1628.00 (7.10%) - Amount of Delete Intervals = 2 (2018.07.01 - 2018.11.08)
02:50:42 - 10:18:47 : Profit = 4854.00 (19.78%), Total = 280 (75.36%), PF = 1.86, Mean = 17.34, DD = 683.00, RF = 7.11
11:17:57 - 23:53:05 : Profit = 19689.00 (80.22%), Total = 1130 (73.36%), PF = 1.90, Mean = 17.42, DD = 1204.00, RF = 16.35
SUMMARY: 00:00:00 - 23:59:59 : Profit = 24543.00 (100.00%), Total = 1410 (73.76%), PF = 1.89, Mean = 17.41, DD = 1279.00, RF = 19.19
BestInterval is saved in "Test"-file in common(MT5)/base(MT4) folder.

final balance - InitBalance (10000.00) + Profit (18238.00) without BestInterval.
OnTester - Profit (24543.00) with BestInterval.
final balance 28238.00 USD
OnTester result 24543
Test passed in 0:00:00.639 (including ticks preprocessing 0:00:00.078).


Aplicado


BestInterval Action(true - single pass & MT4-style is required) = true
Calculation time activated intervals is 2018.11.08 15:09:56 - Test (common folder) 00:31:30 ago.

Amount of Delete Intervals = 2 (2018.07.01 - 2018.11.08)
02:50:42 - 10:18:47 : Profit = 4854.00 (19.78%), Total = 280 (75.36%), PF = 1.86, Mean = 17.34, DD = 683.00, RF = 7.11
11:17:57 - 23:53:05 : Profit = 19689.00 (80.22%), Total = 1130 (73.36%), PF = 1.90, Mean = 17.42, DD = 1204.00, RF = 16.35
SUMMARY: 00:00:00 - 23:59:59 : Profit = 24543.00 (100.00%), Total = 1410 (73.76%), PF = 1.89, Mean = 17.41

final balance - InitBalance (10000.00) + Profit (24543.00) with BestInterval.
OnTester - Virtual InitBalance (10000.00) + Profit (18216.00) without BestInterval. Profit is calculated with TickValue=1 and w/o Commission+Swap.
final balance 34543.00 USD
OnTester result 28216
Test passed in 0:00:00.749 (including ticks preprocessing 0:00:00.078).


En los logs destaqué (en amarillo) que el backtest de cuatro meses en modo "ticks reales" con > 1000 operaciones y muchos miles de OrderSend + cálculo (y aplicación) del mejor intervalo tarda menos de un segundo.

 

Para los fanáticos del Mercado. Usted puede tomar absolutamente cualquier EA (MT4-estilo) y que sea "hermosa" en unos pocos segundos, sólo tirar más malos intervalos. La librería lo hará todo automáticamente.


Antes de



Después (la tarea consiste en desechar 20 intervalos - cuantos más mejor).



Yo no uso más de dos intervalos. Si usted está escribiendo para su propio comercio y no para el Mercado, tome valores bajos.

[Eliminado]  
No ofrezcas opio a una nación de amantes de Marquette ))