Transição de posições depois das 0:00 quando o banco está a operar. Como identificar? Precisa da ajuda do salão. - página 7

 
Oldman_Evgeny:

Bem, ninguém me espetou em lado nenhum.

Tive de ser eu próprio a inventá-la.

Por isso.

Às 23:50, se o meu Expert Advisor trabalhar por abrir ou fechar, mudo para o processamento de cada tick.

Se o perito trabalha por carraças, não preciso de ir a lado nenhum).

Ao primeiro sinal depois das 23:50, eu fecho à força a posição.

(Tentei fechar não às 23:50, mas mais tarde, mas deparei-me com uma situação quando marquei o fecho para as 23:56, e das 23:56 às 00:00 não chegou um único sinal.

O capotamento fez efeito e foi tudo à merda! (Só por precaução, tomei 23:50 com reserva - com certeza em 10 minutos pelo menos uma carraça viria!)

Lembro-me de todos os parâmetros de uma posição - era uma posição de compra ou venda, stoploss, takeprofit, etc.....

Até às 00:00:00 proíbo a abertura de posições.

Depois das 00:00, no primeiro tique de passagem abro à força uma posição na mesma direcção em que estava, com todos os atributos de uma posição fechada às 23:00.

Assim, eu contorno o capotamento.

Em regra, estou a perder mais do que com o capotamento, mas pelo menos tenho uma continuação de posição normal.

Não consegui pensar noutra....

O único problema na sexta-feira é que o mercado abre à 01:00 de segunda-feira.

Mas decidi não abrir posição na segunda-feira à noite, porque frequentemente acontecem diferentes "cataclismos" - lacunas, inversões e outras coisas.

Simplesmente fecho a minha posição na sexta-feira e é tudo. Faço o mesmo nos feriados.


PS. Penso que a falta de transferência de dados de posição com o capotamento é batota. Tratarei do assunto através da AFD. Se houver alguma coisa, podemos queixar-nos ao Banco Central.

Eles não têm muita pena dos negociantes de Forex.

A identificação da posição (não o bilhete) não é guardada durante os rollovers?
 
Apenas a direcção e o tamanho do lote são guardados. Não há mais nada.
 
Oldman_Evgeny:
Apenas a direcção e o tamanho do lote são guardados. Nada mais.
PositionGetInteger(POSITION_IDENTIFIER)

o que é que regressa?

 

PositionGetInteger(POSITION_IDENTIFIER), como deve, devolve o número do bilhete.

O novo número do bilhete, que é o resultado do capotamento, e não a posição que ocupava antes do capotamento....

Mas depois do capotamento, na nova posição, acaba por ser m_position.Magic()=0. Consequentemente, nada funciona no Expert Advisor....

Provavelmente, pode-se, de alguma forma, encurralar a magia através da modificação para uma nova posição e aí encurralar tudo o resto a partir da posição antiga.

Mas eu fiz o que escrevi acima. Mas vou pensar um pouco mais sobre isso.

Irrita-me que o PSB faça tanto batota com a sua plataforma.

E, tanto quanto sei, não são os únicos...

Surpreendidos com o silêncio dos comerciantes! Será que toda a gente só negoceia intraday ou pips?

Bem, não vá negociar em alguma cozinha como a alparquia quando há corretores russos licenciados....
 

Tentei inserir uma construção no OnTick

if(m_position.Magic() == 0) m_trade.SetExpertMagicNumber( EA_Magic );

A construção não funciona.

Parece que não há maneira de mudar a Magic numa posição aberta....

Portanto, o que fiz e descrevi acima parece ser a única opção.

 
Oldman_Evgeny:

Tentei inserir uma construção no OnTick

if(m_position.Magic() == 0) m_trade.SetExpertMagicNumber( EA_Magic );

A construção não funciona.

Parece que não há maneira de mudar a Magic numa posição aberta....

Portanto, o que fiz e descrevi acima parece ser a única opção.

O que é que estão todos a discutir com o mágico? Envolva cada posição numa classe e no carrapato não a procure, apenas acompanhe-a. Se fechar de repente, então analisar a razão para fechar. Se a razão for o capotamento, então procure um novo e mude os campos de classe para os campos reais. Para organizar o reinício após falhas, escrevemos toda a informação necessária num ficheiro separado (bem, eu não gosto de variáveis globais de terminal).
 
Vladimir Simakov:
Para organizar um reinício após falhas, escrevemos toda a informação necessária num ficheiro separado (bem, eu não gosto de variáveis globais do terminal).

E se o Expert Advisor estiver a funcionar em máquinas diferentes, será que temos de levar o ficheiro connosco?

 
Ihor Herasko:

E se o Expert Advisor estiver a funcionar em máquinas diferentes, tem de levar o ficheiro consigo?

Ftp, as nuvens são opções.
Se apenas os dados devem ser trocados entre robôs, então canalização e ws.
 
Vladimir Simakov:
Ftp, nuvem - como opção.
Se apenas os dados tiverem de ser trocados entre robôs, então canalização e ws.

Porquê dar-se a esse trabalho todo quando se tem magia? Na maioria dos casos, é suficientemente bom. Pelo menos consegui utilizá-lo:

  1. Hora de ocorrência do sinal, em que a ordem/posição é aberta
  2. O índice da grelha (se uma estratégia é uma grelha) a que a ordem pertence
  3. O índice da ordem na grelha
  4. O próprio Expert Advisor ID
Tudo isto tem certas limitações, é claro. No entanto, as limitações são bastante razoáveis. Ir para além deles é uma ocorrência rara.

 
Ihor Herasko:

Porquê dar-se a esse trabalho todo quando se tem magia? Na maioria dos casos, é suficientemente bom para o olho. Pelo menos consegui utilizá-lo:

  1. Hora de ocorrência do sinal, em que a ordem/posição é aberta
  2. O índice da grelha (se uma estratégia é uma grelha) a que a ordem pertence
  3. O índice da ordem na grelha
  4. O próprio Expert Advisor ID
Tudo isto tem certas limitações, é claro. No entanto, as limitações são bastante razoáveis. Excedê-los é uma ocorrência rara.

Assim, o senhor mesmo respondeu - com limitações, que é exactamente o que este fio está a discutir. Prós do embrulho:

  1. A hora de ocorrência do sinal é a mesma.
  2. O índice da grelha é o mesmo.
  3. Índice de uma ordem na grelha - portanto, mais uma vez, é um índice explícito.
  4. Identificador do Expert Advisor - bem, já o tem.

A alegria de tudo isto é que durante a verificação, o estado da posição de mercado é verificado e os campos da classe são corrigidos. Ao mesmo tempo, não passamos pelas posições; o manipulador da função de comércio é um método da classe. Ninguém proíbe a utilização de magik para recuperar de falhas - simplesmente, podemos facilmente embalar toda a história num binário, apenas desenvolver um formato.

Quanto ao trabalho de robôs com encomendas partilhadas em diferentes locais de trabalho - qual é o objectivo? Não consigo pensar em mais nada, excepto nos problemas de sincronização. Basta pensar: um robô dá um comando para fechar uma posição num local de trabalho, enquanto no outro toma uma decisão comercial com base no facto de esta posição específica ser aberta, como podemos sincronizá-la?