Divulgação do comércio no Meta Trader - página 16

 

Mais uma pergunta para os presentes. Uma vez que o Assessor Especialista no tema indicado calcula dois instrumentos, esta questão será relevante.

Por exemplo. Se tomarmos dois instrumentos em conjunto - cada um deles começa em um momento diferente.

(Negociado em diferentes plataformas ou por outras razões)

As mercadorias BRN e CL (em mt4 BR), por exemplo, muitas vezes começam diariamente, com 2-3 horas de intervalo.

O mesmo (dax+futsi), -diferença horária.

Nesses casos, o cálculo do spread médio entre instrumentos em pequenos períodos de tempo será, às vezes, muito incorreto! Especialmente se a sessão se abriu com uma lacuna!

Seria desejável verificar - o quanto as últimas barras coincidem no tempo. Essas últimas barras - nas quais é calculado o spread médio - por exemplo, na mesma função de Fduch - CalculateAvarageSpread(Symbol_1,Symbol_2,0, NBars).

Em outras palavras, quero mostrar em meu comentário, - quantas últimas barras de ambos os símbolos em um determinado período de tempo coincidem?

Você poderia me dizer como fazer isso?

 
rid >>:

Ещё один вопрос присутствующим. Поскольку советник в заявленной теме обсчитывает два инструмента, то этот вопрос будет актуален.

Например. Если мы берем в тандем два инструмента, - каждый из которых начинает работу в разное время.

(Торгуются на разных площадках или по др. причинам)

Сырьевые BRN и CL (в мт4 БР), например, ежедневно начинают работу зачастую, с разницей в 2-3 часа.

Тож самое (дакс+футси), -часовая разница.

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

Хотелось бы предусмотреть проверку, - насколько по времени совпадают последние бары. Те последние бары, - по которым ведется расчет среднестатич. спреда - например, в той же функции от Fduch-а - CalculateAvarageSpread(Symbol_1,Symbol_2,0, NBars)

Иначе говоря, хотелось хотя бы отобразить в комменте, - сколько последних баров обоих инструментов на заданном тф совпадают по времени ?

Подскажите, как это сделать ?

O que você quer dizer com "quanto tempo as ...barras coincidem" ? Em minha função, pego as duas barras cujas barras Abertas coincidem no tempo para calcular o spread:

 int symb2Shift = iBarShift( Symbol_2, Timeframe,iTime( Symbol_1, Timeframe, k),true);

Se você chamar no prazo M1, você pode ter certeza de que o spread será calculado com pares de barras, que coincidem uma com a outra em um minuto. Outra questão é se usar iClose ou iOpen para calcular o spread. De qualquer forma, não me sinto confiante quanto à exatidão, por isso agora estou calculando os spreads com base nos dados do tick coletados em tempo real (correspondendo ao segundo mais próximo).

 
Fduch писал(а) >>

O que você quer dizer com "quanto tempo as ...barras coincidem" ? Em minha função, pego aquelas duas barras cujas barras Abertas coincidem no tempo para calcular o spread:

Se você chamar no prazo M1, você pode ter certeza de que o spread será calculado com pares de barras que coincidem uma com a outra em um minuto. Outra questão é se usar iClose ou iOpen para calcular o spread. Em qualquer caso, não me sinto confiante quanto à exatidão, portanto, atualmente estou calculando os spreads com base nos dados do tick coletados em tempo real (correspondendo ao segundo mais próximo).

Exatamente certo: a maneira mais precisa de coletar você mesmo a história da propagação de carrapatos. É um trecho para contar por abridor/fechado, mas eles estão dessincronizados, embora com freqüência de tic-tac suficiente, eles não devem diferir muito no tempo. Mas de forma alguma alto/baixo - aqui o erro é máximo.

 
getch >>:

Хочется все же разобраться в терминологии.

Что такое ассет, коинтеграция и корреляция?

Ativo, cointegração, correlação -> Google.

Eu aconselharia fortemente contra a Wikipédia sobre este assunto - artigos absolutamente lamer. Sobre o comércio de pares, ao invés de um artigo, é apenas um anúncio para um site inútil.

Aconselho fortemente a utilização de bons livros didáticos, por exemplo, Carol Alexander 'Modelos de mercado'.

 

Receio estar sendo intrusivo. Mas mais uma pergunta.

Estou tentando fazer a possibilidade de testar (no testador) o Expert Advisor usando o método indicado no ramo. Pelo menos as trocas do símbolo atual foram abertas, ou seja, do símbolo no gráfico do qual a EA está instalada.

A imitação virtual dos ofícios do segundo.

No entanto, descobri que se o preço OCHL do segundo instrumento no testador é "fina ou principalmente" devolvido, então mesmo as atuais Licitações e Pedidos do segundo instrumento não são devolvidos - zeros são exibidos!

Comentário(Ask_Tiker2,"_",Bid_Tiker2);

É suposto ser assim? Ou é possível encontrar esses preços de alguma forma?

 
Reshetov >>:

Запросто можно залезть в свойства зацикленного советника. Временно отключить кнопку "Советники" и подредактировать свойства. Самое главное, потом не забыть обратно включить кнопку.

Obrigado :)

rid escreveu(a) >>

Estou tentando tornar possível testar (no testador) a EA usando o método indicado no ramo. Se apenas para abrir negócios de um, - o instrumento atual, ou seja, aquele em cujo gráfico a EA foi instalada.

Não tem nenhum efeito.

No entanto, descobri que se o preço OCHL do segundo instrumento do "hedge" no testador for "fina ou principalmente" devolvido, então até mesmo as Licitações e Pedidos atuais do segundo instrumento não são devolvidos - zeros são exibidos!

Verificar o histórico e o erro após a função.

 
TheXpert >>:


Проверьте наличие истории и ошибку после функции.


A história está presente.

//Валютная версия
extern string  Symbol_1 = "USDJPY";
extern string  Symbol_2 = "EURJPY";
///----------------------
int start()
{
//--------Задаем текущие цены инструметов -- 
double Ask_Tiker1 = MarketInfo( Symbol_1,MODE_ASK);
double Bid_Tiker1 = MarketInfo( Symbol_1,MODE_BID); 
double Ask_Tiker2 = MarketInfo( Symbol_2,MODE_ASK);
double Bid_Tiker2 = MarketInfo( Symbol_2,MODE_BID);

Comment( Ask_Tiker1,"_", Bid_Tiker1, "\n",
        Ask_Tiker2,"_", Bid_Tiker2, "\n",
"Ошибка  = ",GetLastError());

O erro 4059 é exibido

ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE 4059 Função não permitida no modo teste

Isto é estranho. Afinal de contas, tanto a primeira como a segunda ferramenta são definidas através do Marketinfo. O primeiro instr. - é exibido normalmente (92_91,98 - USDJPY), mas EURJPY não é.

E se eu colocar o EA no segundo instrumento, ou seja, no gráfico do EURJPY - ao contrário, o primeiro símbolo dá zeros no comentário, mas o preço do segundo - EURJPY - é exibido normalmente
.


 

rid писал(а) >>

O erro 4059 é exibido

Posso tê-lo enganado. MarketInfo é "seguro", ou seja, não gera erros ao longo do caminho.
 
TheXpert >>:


Бесполезно.


Eu acho que não é completamente inútil. Se o trabalho do Consultor Especialista for realizado abrindo preços, - incluindo posições de fechamento, - por exemplo, em pequenos períodos de tempo (M1-M5). Então, podemos conseguir um teste aproximado.

Afinal de contas, os preços da OHLC Marketinfo são normalmente devolvidos pelo testador. Isso significa que podemos obter (fechar) um lucro real de um símbolo a preços ABERTOS e calcular um "lucro virtual" do outro. E depois é o inverso.

Não é assim?

E teremos uma abertura e um fechamento bastante corretos das posições do símbolo atual durante cada uma dessas corridas.

 

rid писал(а) >>

Não é verdade?

Não. Não esqueça os saltos de barra. Mesmo que você consiga implementar um Expert Advisor para um testador, as entradas para símbolos diferentes não serão síncronas devido a barras perdidas.

E em barras perdidas, você provavelmente receberá barras em vez de preços.

Não podemos fazer loop ou trabalhar por temporizadores no testador. Assim é

TheXpert escreveu :>>

É inútil.