Testador de estratégia. - página 6

 
Ao testar, os objetos são criados, mas ao usar ObjectGetValueByShift - 0 é retornado
(não em testador funciona bem)

Talvez aconselhar como calcular o canal de regressão de forma diferente ?
 
So<br/ translate="no"> havia
: sar = iSAR(Moeda,TP período,Passo,Máximo,0); // tudo foi substituído por: sar=iCustom(Moeda,TP período, "ziguezague",12,5,3,0,0); // travões horríveis


Eu tenho dito em todos os lugares que o ZigZag padrão é indesejável para entrar em um EA para testes de retaguarda. O graal será comum.
 
<br / translate="no"> Eu digo em todo lugar que o ZigZag padrão é indesejável para entrar em um EA para testes de retaguarda. O graal seria um graal regular.

Aparentemente, não estive em todos os lugares :)
Motivar. Não é óbvio pelo código como ele é usado.
 
Recentemente cheguei a uma conclusão de como indicadores semelhantes a Ziguezague podem ser usados no testador (e também na vida real). Acontece (por considerações lógicas, eu ainda não o testei) - muito simples. Tão simples que eu me perguntava como não tinha adivinhado antes. :)

E ZigZag, é a mesma NRTR ... :))
Ou parada de trilha (a saída do "candelabro") ... :))
Ou entrando em um pullback a partir da baixa ...
.........., etc., etc.

Basicamente é tudo a mesma coisa ... :)
 
Privet,

U menia sledus4aja situacija:

Paproboval ja sdelat' funkciju SetArrow() iz mt3 s pomos4ju ObjectFind()->ObjectDelete();ObjectCreate()->ObjectSet() v svajom custom indikator. Jiesli podkliu4aju indikator priamo k grafiku, vsio rabotajet i strelki risujetsia. Eu tentei 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 trabalho.

Po kodu oshbybki posmotrel v biblioteku stdlib, i tam eto vyvoditsia kak "comando desconhecido" pri ObjectCreate().

A estrutura vyzova takaja:
ekspert->indikator->vyzov svojej sdelannoj funkciji SetArrow(Time[shift],Price,Code,Color)->udalajem staruju strelku jiesli imia novoj strelku nie unikal'naja s tomos4ju ObjectFind()+ObjectDelete() jiesli da->doajem ObjectCreate() com imenenem 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.S. SetArrow() funkciji nigde netu v MT4, bylo by o4en' polezno jiesli ya by okazalas' v spiske standartnyx funkcijax. I jies4io: quando 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 :-)
 
Vot sama custom funkcija 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: can't create 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'?

 
Os indicadores chamados via iCustom não desenham nada em nenhum lugar.
O iCustom só pode retornar valores dos amortecedores indicadores.
Além disso, você está tentando chamar a função através do iCustom?
É impossível ...
 
Você precisa salvar esta função em um arquivo de cabeçalho na pasta /include
Em seguida, insira-o em seu Consultor/indicador Especialista
#incluir <stdlib.mqh>
e no bloco de início() você pode se referir a ele como em linha.
Eu vejo as coisas desta maneira.
 
Ao executar o testador eu ocasionalmente recebo um erro comum, o que é isso?

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



Ao mesmo tempo, é evidente que os testes não estão funcionando corretamente.
Isto não é para ofender os desenvolvedores, mas para o bem da causa - para fazer tudo funcionar corretamente o mais rápido possível.
 
Neste caso, os testes claramente não estão funcionando corretamente. <br / translate="no"> Isto não é para ofender os desenvolvedores, mas para o bem da causa - para que tudo funcione corretamente o mais rápido possível.

Somos apenas para este bem - para colocar o testador em dia :)