Autoria - página 4

 
Já resolvi a sincronização. Por favor, informe se existe uma forma de congelar o terminal (para que não aceite citações) durante o tempo do guião ou do Expert Advisor.
 
ivandurak:
Já resolvi a sincronização. Por favor, informe se há alguma forma de congelar o terminal (pelo que não aceitará citações) enquanto o guião ou o Expert Advisor estiver a funcionar.

Isto é um disparate.

Para que serve isso?

 
her.human:

Isto é um disparate.

Porque é que é necessário?

O testador multi-divisas que pode ser abarrotado dentro de um indicador ou guião EA está praticamente terminado, espero eu. Havia o principal problema com a sincronização de diferentes ferramentas comerciais na presença de buracos na história. Por exemplo, analisamos o Euro e as acções da Gazprom, é evidente que o tempo de negociação é diferente, e por isso existem muitas lacunas na Gazprom em comparação com o Euro, incluindo fins-de-semana e feriados. Da posição saiu - um conjunto exemplar de horários de abertura num período de tempo seleccionado, sem lacunas na parte seleccionada da história. Depois o tempo de abertura de um conjunto exemplar é comparado ao tempo de abertura de um instrumento comercial, e quando o tempo coincide, o número de barras do instrumento comercial é memorizado, e este número é transmitido para o TS. Agora temos alguns instrumentos comerciais e durante o seu recálculo a próxima barra pode começar na última, como resultado, a barra que foi devolvida para cálculos acaba por ser deslocada com tudo o que isso implica. A solução é a possibilidade de corrigir permanentemente o número de barras, mas esta é uma grande complicação do código. Podemos devolver o tempo aberto de um bar em vez do seu número, como sugere, mas neste caso é uma complicação para um utilizador (inclino-me para esta variante até agora). Assim pensei, o testador incorporado não dará um novo valor de preço até o Deinit não funcionar, talvez haja uma forma de abrandar o terminal até que o programa funcione.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
ivandurak:
Voltar ao TS não o número do bar, mas a hora de abertura do bar, mas depois é uma complicação para o utilizador
CopyTime("EURUSD",0,Время,Количество_Баров,Time);
CopyOpen("EURUSD",0,Время,Количество_Баров,OpenEU);
Não parece haver qualquer complicação.
 

Bem aqui está a primeira andorinha da multimoeda . Devo avisá-lo desde já, não é sequer uma libertação, o código não está optimizado e não está totalmente depurado e é provável que haja bugs nele. Se não for difícil olhar e expressar os seus desejos, cuspir ainda demasiado cedo.

O testador foi concebido para testar uma peça de história seleccionada em várias moedas. Todas as funções de negociação são tomadas de 4 . Instruções detalhadas após a conclusão .

Esqueci-me de acrescentar que devem ser abertos todos os gráficos de interesse nos mesmos prazos

Arquivos anexados:
Tester.mqh  61 kb
 

Primeiro lançamento

Bom dia para si, uma aula para escrever um testador de várias moedas dentro de scripts, indicadores ou Expert Advisors .

Métodos de classe

void Initialization() ;// Este método efectua a zeragem das variáveis.

vazio AddSymbol(string Symb) ;// método de adição de um símbolo em teste ao símbolo do testador deve ser carregado e o terminal deve exibir um gráfico sobre o período em teste .

bool SetBeginEnd( int Begined, int Ended) ;// set beginning and end of the history under test . A indexação começa a partir do fim de acordo com a norma. É por isso que a barra inicial do histórico em teste é maior do que a barra final.

void Visualização(true); // Permitindo a visualização de ofícios .

voidPrinting(true) ;// a produção de resultados comerciais para a revista é desactivada por defeito.

bool Start(datetime &IndexInstrum[]) este método verifica o fim do período em teste, e devolve o conjunto de horas de início de barras para os instrumentos em teste . Isto é necessário para sincronizar os testes dos diferentes instrumentos se houver lacunas .

int GetBarsNambe(string GSimb,datetime TimeOpen);// devolve o número do bar pelo símbolo seleccionado e a hora de abertura do bar.

void Vedenie_v() é o método principal onde verificamos todas as ordens definidas para disparar, fechar na paragem ou lucro.

Os testes baseiam-se nas regras Mql4, ou seja, cada ordem tem a sua própria vida, pelo que podemos bloquear e abrir ordens opostas.

Todas as funções de negociação são também retiradas de Mql4. Isto foi feito para permitir uma fácil adaptação dos EAs escritos nesta língua.

Por favor note que o método OrderClose_v fecha completamente a posição seleccionada.

OrderClosePor falta .

double OrderProfit_v( ) calcula o lucro sem alavancagem, a alavancagem pode ser diferente para diferentes símbolos testados .

O resto do código permanece inalterado, ver documentação.

Ordem de aplicação

Primeiro vem a inicialização . Depois seleccionamos a história em teste . Depois adicionamos os instrumentos em teste . Habilitar a visualização, se necessário. Activar a saída do relatório, se necessário .

Os testes propriamente ditos têm lugar dentro do laçoDo -While .

Primeiro vem o método obrigatório

aaa=Test.Start(timeopen) ; Retorna o fim do teste e a gama de tempos de abertura de barras para os instrumentos em teste . A dimensão de timeopen deve coincidir com o número de instrumentos em teste . Se, por exemplo, timeopen[0] < 0, então este é um sinal de falta na história, ver exemplo .

Depois disso o próprio sistema de negociação tem um número ilimitado de barras. nambebars=Test.GetBarsNambe(Symbol(),timeopen[0]); onde está o símbolo do símbolo de negociação e o tempo de abertura da barra. De acordo com este número, é possível calcular os valores dos indicadores e definir o sinal de negociação de acordo com a lógica do TS.

No final, deve seguir-se o método Vedenie_v .

Após o fim dos testes (saída do ciclo), todo o histórico de negociação está disponível para todas as ordens . Ver a descrição e o fórum do Mql4

Também precisa do ficheiro HeadTester.mqh para sobrepor totalmente o formato das funções de negociação Mql4.

Boa sorte e prosperidade .

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок - Документация по MQL5
Arquivos anexados:
Tester.mqh  69 kb
 
ivandurak:

Primeiro lançamento

...

Boa sorte e prosperidade .

Obrigado. Talvez pudesse escrever um artigo? Imortalizá-lo, por assim dizer. )))
 

Cavalheiros PLZ. Em algum lugar estou a abrandar muito intensamente. A questão diz respeito à SOM. Se for possível, num exemplo concreto .

Suponha que temos um mapa composto por 50X60 neurónios (células rectangulares). Vamos tomar um vector de treino aleatório, a sua dimensão x1={x1,x2,x3,x4,x5}, vamos assumir que a duração total da amostra de treino é de 5000 vectores. Suponhamos que o neurónio mais próximo do vector de entrada tem índice 25,30 - encontrei-o e o meu filho já está a estudar geometria na escola. E então a minha rede neural já não está optimizada. Na verdade, mais uma série de perguntas.

1 Como calcular os índices de neurónios a serem treinados no passo 1.

2 Como calcular os índices de neurónios a serem treinados na 2ª etapa.

3 Quantas etapas totais de formação devem existir para o vector de entrada X1.

4 Se eu estiver preso à regra da aprendizagem de Kohonen, vou pedir mais.

PS Eu li o artigo, li literatura adicional, olhei para os códigos, a conclusão requer um pingente.

 

Penso ter resolvido a vizinhança do neurónio vencedor dentro do qual a aprendizagem tem lugar. Agora a questão seguinte é.

Existe um critério de quantas vezes formar neurónios nas proximidades? Esta questão é mal descrita, não consigo compreender se a ensinarmos uma vez e depois tomarmos o próximo vector. Ou treinar até que o erro médio seja reduzido a, digamos, 5%.

 

É necessário um algoritmo para a coloração do mapa de Kohonen. Há um grande desejo não de pintar todos os mapas, mas de fazer com um, respectivamente, cada aglomerado deve atribuir a sua própria cor. Como fazê-lo não é.Na figura mostra o mapa que tenho. O princípio da coloração é que um vector com maior comprimento é pintado com a cor mais clara. Embora não sejam vectores correctos X1 = (1,1) e X2 = (-1,-1) têm o mesmo comprimento mas pertencem a áreas diferentes.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5