Probador de estrategias. - página 6

 
Al hacer la prueba, los objetos se crean, pero al usar ObjectGetValueByShift - se devuelve 0
(no en el probador funciona bien)

¿Tal vez aconsejar cómo calcular el canal de regresión de manera diferente?
 
Así que<br/ translate="no">
había: sar = iSAR(Moneda,TPeriod,Paso,Máximo,0); // todo estaba bastante animado sustituido por: sar=iCustom(Moneda,TPeriod, "zigzag",12,5,3,0,0); // horribles frenos


He estado diciendo en todas partes que el ZigZag estándar es indeseable para meterlo en un EA para backtesting. El grial será ordinario.
 
<br / translate="no"> Digo en todas partes que el ZigZag estándar es indeseable para meter en un EA para backtesting. El grial sería uno normal.

Parece que no he estado en todas partes :)
Motivar. No es obvio en el código cómo se utiliza.
 
Hace poco llegué a la conclusión de cómo se pueden utilizar los indicadores tipo zigzag en el probador (y también en la vida real). Resulta (por consideraciones lógicas, aún no lo he probado) - muy sencillo. Tan simple que me pregunté cómo no lo había adivinado antes. :)

Y ZigZag, es el mismo NRTR ... :))
O trailing stop (la salida de la "araña") ... :))
O entrar en un retroceso desde el mínimo ...
.......... etc. etc.

Básicamente es todo lo mismo... :)
 
Privet,

U menia sledus4aja situacija:

Paproboval ja sdelat' funkciju SetArrow() iz mt3 s pomos4ju ObjectFind()->ObjectDelete();ObjectCreate()->ObjectSet() v svajom custom indikator. El indicador de la imagen, que se puede ver en los gráficos, es un indicador de riesgo. He probado evo zapustit' 4erez iCustom() funkciju in eksperte i zapustit' 4erez tester i vylez takaya oshbybka:

Pri vyzove indikatora 4erez iCustom() funkciju ObjectFind() i ObjectCreate() in indikatore otkazalis' rabotat' in tester i vale. Strelki nirisujetsia, i indikator prekras4ajet work.

En el caso de la biblioteka stdlib, se trata de un "comando desconocido" en ObjectCreate().

La estructura vyzova takaja:
ekspert->indikator->vyzovov svojej sdelannoj funkciji SetArrow(Time[shift],Price,Code,Color)->udalajem staruju strelku jiesli imia novoj strelku nie unikal'naja s pomos4ju ObjectFind()+ObjectDelete() jiesli da->doajem ObjectCreate() with imenenenem stringa vziatovo iz Time, patom ObjectSet() param Objectrov dlia strelki.

Mozete poset' tam proisxit posle kampilirovanija?

Jiesli budet nuzna eta funkcija i sami ninapishyte, pribavliu posze. :-)

P.D. La función SetArrow() de MT4 no está disponible, ya que no se puede utilizar en otras funciones. I jies4io: cuando zapuske expert/indikator v katorom jiest' ve4nyj loop, MT4 sozrajet vsie resursy i zavisajet, eto kak nibut' nuzno popravit'. Ideja nad etom - sdelat' parametr skol'ko ciklovno mozno byt' v te4enije adnoj sekundy, tipa CPU prioritet :-)
 
La función personalizada SetArrow():

¡int ArrowSize=1; #include <stdlib.mqh> void SetArrow(datetime ArrowTime, double Price, double ArrowCode, color ArrowCollor) { int err; string ArrowName = DoubleToStr(ArrowTime,0); if (ObjectFind(ArrowName) !¡= -1) ObjectDelete(ArrowName); if(!ObjectCreate(ArrowName, OBJ_ARROW, 0, ArrowTime, Price)) { err=GetLastError(); Print("error: ¡no se puede crear Arrow! code #",err," ",ErrorDescription(err)); return; } else { ObjectSet(ArrowName, OBJPROP_ARROWCODE, ArrowCode); ObjectSet(ArrowName, OBJPROP_COLOR , ArrowCollor); ObjectSet(ArrowName, OBJPROP_WIDTH , ArrowSize); ObjectsRedraw(); }



Po4emu eto nirabotajet 4erez iCustom() i rabotajet priamo iz indikatora nimogu poimat'... ¿Mozete pamo4'?

 
Los indicadores llamados a través de iCustom no dibujan nada en ninguna parte.
iCustom sólo puede devolver valores de los buffers de los indicadores.
Además, ¿intenta llamar a la función a través de iCustom?
Es imposible...
 
Debe guardar esta función en un archivo de cabecera en la carpeta /include
A continuación, insértelo en su Asesor Experto/indicador
#include <stdlib.mqh>
y en el bloque start() puedes referirte a él como inline.
Yo lo veo así.
 
Al ejecutar el probador, de vez en cuando me aparece un error común, ¿qué es?

También extraños registros multilínea como :
<br / translate="no">
19:14:22 2004.02.27 10:37 Probador: toma de ganancias #5 en 1.2412 (1.2406 / 1.2410)
19:14:22 2004.02.27 10:38 Probador: toma de ganancias #5 en 1.2412 (1.2401 / 1.2405)
19:14:22 2004.02.27 10:39 Probador: toma de ganancias #5 en 1.2412 (1.2400 / 1.2404)
19:14:22 2004.02.27 10:40 Probador: toma de ganancias #5 en 1.2412 (1.2401 / 1.2405)
19:14:22 2004.02.27 10:41 Probador: toma de ganancias #5 en 1.2412 (1.2398 / 1.2402)
19:14:22 2004.02.27 10:42 Probador: toma de ganancias #5 en 1.2412 (1.2400 / 1.2404)
19:14:22 2004.02.27 10:43 Probador: toma de ganancias #5 en 1.2412 (1.2400 / 1.2404)
19:14:22 2004.02.27 10:44 Probador: toma de ganancias #5 en 1.2412 (1.2399 / 1.2403)
19:14:22 2004.02.27 10:45 Probador: toma de ganancias #5 en 1.2412 (1.2402 / 1.2406)
19:14:22 2004.02.27 10:46 Probador: toma de ganancias #5 en 1.2412 (1.2399 / 1.2403)
19:14:22 2004.02.27 10:47 Probador: toma de ganancias #5 en 1.2412 (1.2397 / 1.2401)
19:14:22 2004.02.27 10:48 Probador: toma de ganancias #5 en 1.2412 (1.2391 / 1.2395)
19:14:22 2004.02.27 10:49 Probador: toma de ganancias #5 en 1.2412 (1.2393 / 1.2397)
19:14:22 2004.02.27 10:50 Probador: toma de ganancias #5 en 1.2412 (1.2395 / 1.2399)
19:14:22 2004.02.27 10:51 Probador: toma de ganancias #5 en 1.2412 (1.2394 / 1.2398)
19:14:22 2004.02.27 10:52 Probador: toma de ganancias #5 en 1.2412 (1.2391 / 1.2395)
19:14:22 2004.02.27 10:53 Probador: toma de ganancias #5 en 1.2412 (1.2393 / 1.2397)
19:14:22 2004.02.27 10:54 Probador: toma de ganancias #5 en 1.2412 (1.2399 / 1.2403)
19:14:22 2004.02.27 10:55 Probador: toma de ganancias #5 en 1.2412 (1.2402 / 1.2406)
19:14:22 2004.02.27 10:56 Probador: toma de ganancias #5 en 1.2412 (1.2394 / 1.2398)
19:14:22 2004.02.27 10:57 Probador: toma de ganancias #5 en 1.2412 (1.2387 / 1.2391)
19:14:22 2004.02.27 10:58 Probador: toma de ganancias #5 en 1.2412 (1.2387 / 1.2391)
19:14:22 2004.02.27 10:59 Probador: toma de ganancias #5 en 1.2412 (1.2385 / 1.2389)
19:14:22 2004.02.27 11:00 Probador: toma de ganancias #5 en 1.2412 (1.2385 / 1.2389)
19:14:22 2004.02.27 11:01 Probador: toma de ganancias #5 en 1.2412 (1.2390 / 1.2394)
19:14:22 2004.02.27 11:02 Probador: toma de ganancias #5 en 1.2412 (1.2393 / 1.2397)
19:14:22 2004.02.27 11:03 Probador: toma de ganancias #5 en 1.2412 (1.2391 / 1.2395)
19:14:22 2004.02.27 11:04 Probador: toma de ganancias #5 en 1.2412 (1.2384 / 1.2388)
19:14:22 2004.02.27 11:05 Probador: toma de ganancias #5 en 1.2412 (1.2385 / 1.2389)
19:14:22 2004.02.27 11:06 Probador: toma de ganancias #5 en 1.2412 (1.2384 / 1.2388)
19:14:22 2004.02.27 11:07 Probador: toma de ganancias #5 en 1.2412 (1.2381 / 1.2385)
19:14:22 2004.02.27 11:08 Probador: toma de ganancias #5 en 1.2412 (1.2384 / 1.2388)
19:14:22 2004.02.27 11:09 Probador: toma de ganancias #5 en 1.2412 (1.2378 / 1.2382)
19:14:22 2004.02.27 11:10 Probador: toma de ganancias #5 en 1.2412 (1.2379 / 1.2383)
19:14:22 2004.02.27 11:11 Probador: toma de ganancias #5 en 1.2412 (1.2383 / 1.2387)
19:14:22 2004.02.27 11:12 Probador: toma de ganancias #5 en 1.2412 (1.2385 / 1.2389)
19:14:22 2004.02.27 11:13 Probador: toma de ganancias #5 en 1.2412 (1.2378 / 1.2382)
19:14:22 2004.02.27 11:14 Probador: toma de ganancias #5 en 1.2412 (1.2377 / 1.2381)
19:14:22 2004.02.27 11:15 Probador: toma de ganancias #5 en 1.2412 (1.2381 / 1.2385)
19:14:22 2004.02.27 11:16 Probador: toma de ganancias #5 en 1.2412 (1.2382 / 1.2386)
19:14:22 2004.02.27 11:17 Probador: toma de ganancias #5 en 1.2412 (1.2380 / 1.2384)
19:14:22 2004.02.27 11:18 Probador: toma de ganancias #5 en 1.2412 (1.2384 / 1.2388)
19:14:22 2004.02.27 11:19 Probador: toma de ganancias #5 en 1.2412 (1.2385 / 1.2389)
19:14:22 2004.02.27 11:20 Probador: toma de ganancias #5 en 1.2412 (1.2382 / 1.2386)
19:14:22 2004.02.27 11:21 Probador: toma de ganancias #5 en 1.2412 (1.2377 / 1.2381)
19:14:22 2004.02.27 11:22 Probador: toma de ganancias #5 en 1.2412 (1.2379 / 1.2383)
19:14:22 2004.02.27 11:23 Probador: toma de ganancias #5 en 1.2412 (1.2383 / 1.2387)
19:14:22 2004.02.27 11:24 Probador: toma de ganancias #5 en 1.2412 (1.2383 / 1.2387)
19:14:22 2004.02.27 11:25 Probador: toma de ganancias #5 en 1.2412 (1.2384 / 1.2388)
19:14:22 2004.02.27 11:26 Probador: toma de ganancias #5 en 1.2412 (1.2387 / 1.2391)
19:14:22 2004.02.27 11:27 Probador: toma de ganancias #5 en 1.2412 (1.2386 / 1.2390)
19:14:22 2004.02.27 11:28 Probador: toma de ganancias #5 en 1.2412 (1.2384 / 1.2388)
19:14:22 2004.02.27 11:29 Probador: toma de ganancias #5 en 1.2412 (1.2385 / 1.2389)
19:14:22 2004.02.27 11:30 Probador: toma de ganancias #5 en 1.2412 (1.2384 / 1.2388)
19:14:22 2004.02.27 11:31 Probador: toma de ganancias #5 en 1.2412 (1.2380 / 1.2384)
19:14:22 2004.02.27 11:32 Probador: toma de ganancias #5 en 1.2412 (1.2384 / 1.2388)
19:14:22 2004.02.27 11:33 Probador: toma de ganancias #5 en 1.2412 (1.2385 / 1.2389)
19:14:22 2004.02.27 11:34 Probador: toma de ganancias #5 en 1.2412 (1.2386 / 1.2390)
19:14:22 2004.02.27 11:35 Probador: toma de ganancias #5 en 1.2412 (1.2386 / 1.2390)
19:14:22 2004.02.27 11:36 Probador: toma de ganancias #5 en 1.2412 (1.2388 / 1.2392)



Al mismo tiempo, es evidente que las pruebas no funcionan correctamente.
No es por ofender a los desarrolladores, sino por el bien de la causa, para que todo funcione correctamente lo antes posible.
 
En este caso, está claro que las pruebas no funcionan correctamente. <br / translate="no"> Esto no es para ofender a los desarrolladores, sino por el bien de la causa - para que todo funcione correctamente tan pronto como sea posible.

Sólo estamos para este bien - para poner al día al probador :)