Limpeza no testador - página 5

 
JRandomTrader #:

Mas, ao trabalhar em FORTS, você não deve confiar nos dados de posição.

Meus robôs acompanham seus negócios e lembram o preço inicial de abertura da posição (não após a última compensação), e o utilizam para calcular os lucros, SL, ...

A propósito, outro motivo para não confiar nos dados de posição: FORTS é a rede, e vários robôs podem negociar com o mesmo símbolo mais o comércio manual. E o que é praticamente útil a partir desta posição combinada?

Assim, cada robô se lembra e "lidera" sua posição.

 
JRandomTrader #:

Eu lhe mostrei. Pegue este último preço médio e volume da posição, o preço do novo comércio e seu volume. Tudo será calculado corretamente.

Sim, sim, agora entendi... depois de me perguntar - entendi :-)
 
JRandomTrader #:

A propósito, outro motivo para não confiar nos dados de posição: FORTS é a rede, e vários robôs mais o comércio manual podem negociar com o mesmo símbolo. E o que é praticamente útil a partir desta posição combinada?

Assim, cada robô se lembra e "lidera" sua posição.

spc. Existem naturalmente todos estes negócios e posições no mercado - SONARELY? (NA MESMA DIREÇÃO)?
 
Roman Shiredchenko #:
spc. Naturalmente, todos esses negócios e posições no mercado são SONÁRIOS? (EM UMA DIREÇÃO)?

Os robôs podem ter diferentes estratégias, tendências e contra tendências, e podem trabalhar em diferentes períodos de tempo, de modo que as poses podem estar em qualquer direção. E em MT você só pode ver o "total".

 
JRandomTrader #:

Os robôs podem ter diferentes estratégias, tendências e contra tendências, e podem trabalhar em diferentes períodos de tempo, de modo que as poses podem estar em qualquer direção. E em MT você só pode ver o "total".

ou seja, você pode essencialmente manter um registro comercial dedicado para cada direção e é isso... :-)

Isto é duro, é claro... tudo virtual - todos os prós e contras. Há apenas uma posição em comum... Redes.

É certamente uma zombaria - se você fizer tudo num só instrumento...

 
Roman Shiredchenko #:

ou seja, você pode essencialmente manter um registro comercial dedicado para cada linha de negócio e é isso... :-)

É difícil, é claro... tudo é virtual - todos os prós e contras. Há apenas uma posição em comum... Redes.

É claro que é uma zombaria - se você fizer tudo num só instrumento...

Mas não há muitas opções aqui. Ou um robô "ideal" sobre o símbolo, ou diversificação - vários reais.

 
JRandomTrader #:

E não há muitas opções aqui. Ou um robô "perfeito" no símbolo, ou diversificação - vários reais.

Se pudermos fazer uma observação geral: além da transferência dos preços de abertura da posição cumulativa após a compensação, quais são as armadilhas "escondidas" que merecem atenção quando se negocia?

Há essencialmente comissões, trocas - acho que você pode vê-las. E a história dos negócios e posições pode ser contada. (é de modo que, de acordo com o algoritmo de negociação, a posição real ou suas partes - estavam SOMENTE em vantagem!)

A que mais você acha que devemos prestar atenção quando negociamos?

 
Roman Shiredchenko #:

Posso fazer uma observação geral: além da transferência dos preços de abertura para posições agregadas após a compensação, que outras armadilhas "ocultas" existem para se ter cuidado ao negociar?

Há essencialmente comissões, trocas - acho que você pode vê-las. E a história dos negócios e posições pode ser contada. (é de modo que, de acordo com o algoritmo de negociação, a posição real ou suas partes - estavam SOMENTE em vantagem!)

A que mais você acha que devemos prestar atenção quando negociamos?

Essa comissão, que é visível na transação - é apenas a comissão da troca. A comissão do corretor não é visível na transação. Pelo menos, é assim para o corretor que o abre.

Procuro negócios da OnTrade (ou OnTradeTransaction), calculo e escrevo-os imediatamente no Estado e em log.

Quero acrescentar apenas para o caso de: você deve ter em mente que um pedido pode causar vários negócios com volume parcial.

 
JRandomTrader #:

A comissão que é visível na transação é apenas a comissão da bolsa. A comissão do corretor não é visível na transação. Pelo menos, é assim com o abridor.

Procuro negócios pela OnTrade (ou OnTradeTransaction), calculo e escrevo-os imediatamente no estado e no diário de bordo.

Quero acrescentar apenas para o caso de: você deve ter em mente que um pedido pode causar vários negócios com volume parcial.

Obrigado!!!
 

Há também uma questão organizacional, se alguém souber como resolvê-la da melhor maneira - por favor, escreva-a em palavras, eu a colocarei em código:

em geral, como entender que o ciclo do pedido, uma nova posição - LUCRO começou - para levar em conta o preço médio de abertura da posição (a compensação muda seu valor):

para ser claro, eu mesmo posso tanto do terminal através das chaves como por um robô com magik....

Em geral, eu preciso de um ponto de relatório - para calcular o preço médio de entrada da posição.

Posso usar dados daqui + por exemplo, tempo de leitura quando a posição anterior fechou em lucro e tirar uma diferença com o tempo real do servidor de lá, como se eu iniciasse um ciclo a partir do terminal - sem um robô:

Refiro-me a algo como isto:

// --- определение границ требуемой торговой истории
   datetime end=TimeCurrent();                 // текущее серверное время
   datetime start=end-PeriodSeconds(PERIOD_D1);// установим начало на сутки назад
como a posição passada está no lado positivo - então a contabilidade do ciclo atual já começou. e encomendas - você já deve contar tanto o preço de entrada quanto o volume para calcular o preço médio de entrada da posição agregada...

https://www.mql5.com/ru/articles/211


Получение информации по ордерам из истории

Работа с историческими ордерами почти ничем не отличается от работы с действующими ордерами за одним только исключением. Если количество действующих ордеров в кэше mql5-программе не может быть больше одного, то результат HistoryOrdersTotal() и количество  исторических ордеров в кэше зависит от того, какой объем торговой истории был загружен функцией HistorySelect(start, end), HistorySelectByPosition() или HistoryOrderSelect().
Важно: если торговая история не была загружена в кэш mql5-программы одной из функций  HistorySelect(), HistorySelectByPosition() или HistoryOrderSelect(), то работать с историческими ордерами и сделками невозможно. Обязательно запрашивайте требуемую историю сделок и ордеров перед получением данных по торговой истории.

Для примера приведен скрипт, который ищет последний ордер за последний день и выводит по нему информацию. 

// --- определение границ требуемой торговой истории
   datetime end=TimeCurrent();                 // текущее серверное время
   datetime start=end-PeriodSeconds(PERIOD_D1);// установим начало на сутки назад
//--- запросим в кэш программы торговую историю за день
   HistorySelect(start,end);
//--- получим количество ордеров в истории
   int history_orders=HistoryOrdersTotal();
//--- получим тикет ордера из истории, имеющего последний индекс в списке
   ulong order_ticket=HistoryOrderGetTicket(history_orders-1);
   if(order_ticket>0) // получили в кэш исторический ордер, работаем с ним
     {
      //--- статус ордера
      ENUM_ORDER_STATE state=(ENUM_ORDER_STATE)HistoryOrderGetInteger(order_ticket,ORDER_STATE);
      long order_magic      =HistoryOrderGetInteger(order_ticket,ORDER_MAGIC);
      long pos_ID           =HistoryOrderGetInteger(order_ticket,ORDER_POSITION_ID);
      PrintFormat("Ордер #%d: ORDER_MAGIC=#%d, ORDER_STATE=%d, ORDER_POSITION_ID=%d",
                  order_ticket,order_magic,EnumToString(state),pos_ID);

     }
   else              // неудачная попытка получения ордера

     {
      PrintFormat("Всего в истории %d ордеров, не удалось выбрать ордер"+
                  " с индексом %d. Ошибка %d",history_orders,history_orders-1,GetLastError());
     }

--------------------------------------------------------------

Naturalmente, o ideal é que seja fechado independentemente do resultado do ciclo anterior - lucro ou prejuízo.

O início - o novo foi marcado para cálculo no código - o preço médio do novo ciclo atual de médias, por exemplo, ou ações - não importa...

Ордерa, позиции и сделки в MetaTrader 5
Ордерa, позиции и сделки в MetaTrader 5
  • www.mql5.com
Надежный торговый робот не может быть создан без понимания механизмов работы торговой системы MetaTrader 5. Клиентский терминал получает от торгового сервера информацию о позициях, ордерах и сделках. Чтобы правильно обработать эти данные средствами MQL5 необходимо хорошо представлять как происходит взаимодействие mql5-программы и среды исполнения терминала.