Perguntas de um "boneco" - página 177

 
tol64:

Na OnTrade() recebemos uma resposta do servidor. Isto significa que se verificarmos o evento no OnTrade(), já saberemos com certeza se existe ou não uma posição. Embora pudéssemos fornecer opções padrão tais como DEAL_ENTRY_FULLOUT (fecho completo) ouDEAL_ENTRY_PARTOUT (fecho parcial) para tornar tudo perfeitamente elegante.)))


Boa sugestão. Para o momento actual em tempo real, não há problema, mas ao analisar a história, precisamos de resumir os volumes de todos os negócios que criaram a posição, para saber quando foi finalmente fechada.
 
Valmars:
Esta é uma boa sugestão. Não há problema para o momento actual em tempo real, mas ao analisar a história precisamos de somar os volumes de todos os negócios que formaram a posição, para saber quando foi finalmente fechada.
Sim, é mais difícil analisar a história. É verdade que toda a informação necessária pode novamente caber no comentário, mas o código torna-se então cada vez mais "motley". :)
 
tol64:
Sim, é mais difícil analisar a história. É verdade que toda a informação necessária pode ser novamente contida num comentário, mas o código torna-se então cada vez mais "motley". :)
Através do comentário, claro, pode, mas apenas no comércio automático com a sua EA, mas ao analisar as contas de outras pessoas, e mesmo com o controlo manual, não terá sucesso. Apenas através de selecção através de HistorySelectByPosition().
 
Valmars:
Através do comentário, claro, pode, mas apenas na negociação automática da sua EA, e não funcionará ao analisar as contas de outros e mesmo com controlo manual. Apenas através de selecção através de HistorySelectByPosition().

Há muito, muito tempo atrás, encontrei uma solução que torna desnecessária uma enorme pilha deste tipo de confusão.

Mas está do lado do promotor.:(

Consiste em acrescentar à descrição (estrutura) de um comércio um campo descrevendo a posição aberta resultante sobre um símbolo (depois de um comércio ter tido lugar).

Valores positivos deste campo podem significar uma posição de Compra, negativa - uma posição de Venda. 0 = nenhuma posição.

--

Isto pode ser feito mesmo agora - e nenhum servidor irá sofrer. Não há necessidade de mudar o servidor. De modo algum. Tudo pode ser resolvido dentro do terminal.

// Esta mudança é ainda mais barata do que pagar créditos por todos os posts do fórum discutindo a confusão em torno do cálculo de posições sobre a história. :)

 
MetaDriver:

... acrescentar um campo à descrição (estrutura) do comércio descrevendo a posição aberta resultante no instrumento (após o comércio ter tido lugar).

Valores positivos deste campo podem significar posição de compra, negativos - Posição de venda. 0 = sem posição.

Jogada interessante! E em combinação com novas propriedades DEAL_ENTRY_DECREASE (diminuição do volume) e DEAL_ENTRY_INCREASE(aumento do volume) seria perfeito: todos os que precisam de resultados de volume de uma troca - pergunte-nos, todos os que precisam apenas de resultados de troca (diminuição/aumento do volume) - pergunte-nos!

Já escreveu para a CBO sobre a sua proposta? - Porque não é difícil para mim desmascarar uma boa ideia.

MetaDriver:

Isto pode ser feito mesmo agora - e nenhum servidor irá sofrer. Não é necessário alterar o servidor. De modo algum. Tudo pode ser resolvido dentro do terminal, muito facilmente.
// Esta mudança é ainda mais barata do que pagar créditos por todos os posts do fórum discutindo a confusão em torno do cálculo de posição sobre a história.:)

"Créditos para todos os posts do fórum que discutam o incómodo de contar posições sobre a história" - são assim tão caros? :) Dando-as ao altar da mudança :)

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

Jogada interessante! E em combinação com novas propriedades DEAL_ENTRY_DECREASE (diminuição do volume) e DEAL_ENTRY_INCREASE(aumento do volume) seria perfeito: quem precisa de volume de resultado de um comércio específico - é bem-vindo, quem precisa apenas de resultado de comércio (como "diminuição/aumento do volume") - é bem-vindo!

Sobre a sua proposta para o CD escrito? - Porque não é difícil para mim ter uma boa ideia.

"Créditos para todos os posts do fórum que discutam o incómodo de calcular posições sobre a história" - são assim tão caros? :) Entregá-los no altar da mudança :)

Não. Ficam muito stressados com propostas que alteram as estruturas de dados subjacentes.

E eu não gosto muito de discutir com eles.

De qualquer modo, tenho complexos quando se trata de propostas "fundamentais". :)

// Já fiz muitas delas, e uma percentagem muito pequena é implementada.

Portanto : tenha o incentivo - vá em frente, candidate-se. Espero que as pessoas apoiem, a proposta parece ser valiosa.

 
MetaDriver:

Não. Ficam muito irritados com propostas que alteram as estruturas de dados subjacentes.

E eu não gosto muito de discutir com eles.

De qualquer modo, tenho complexos quando se trata de propostas "fundamentais". :)

// Já fiz muitas delas e uma percentagem muito pequena é implementada.

Portanto: tenha incentivo - vá em frente e candidate-se. Espero que as pessoas apoiem, a proposta é de certo modo valiosa.

OK, sendo eu um fundamentalista radical, não vejo razão para recuar :) Se a proposta de alterar as estruturas de dados subjacentes é para o bem e não para o mal, então é uma proposta ideologicamente sólida.
 
Obrigado!!!
 

Olá a todos!

Pode aconselhar-me, se eu abrir uma negociação (Comprar ou Vender) no testador MT5 num determinado"momento".

Mas nestemomento não havia cotação no par cambial (ou seja, há uma lacuna nos dados, ou seja, o início da barra M5 às 00:05, e a próxima barra depois disso começou às 00:25)

E abro um negócio no testador, por exemplo, às 00:15.

Qual o preço que o testador estabelece no negócio a partir da primeira barra (Clowes) ou a partir da segunda (Open).

Ou recusar-se-á de todo a abri-la?

 
Estou a tentar abrir cinco encomendas. Tenho tentado dominar as peculiaridades do quinto terminal. Por isso, não o compreendo há 40 minutos, não vejo nenhuma saída no diário de bordo! Se puder, por favor dê uma vista de olhos.
//+------------------------------------------------------------------+
//|                                                     ордерній.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+

uint resultat=0;
          int i;
void OnTick()
  {
//---
                      for( ;i<5;i++){

 // if( resultat!=10009){
   MqlTick last_tick;
SymbolInfoTick(_Symbol,last_tick);
double Ask=last_tick.ask;
double Bid=last_tick.bid;

   MqlTradeRequest request={0};
   MqlTradeResult result={0};
   
   request.action= TRADE_ACTION_DEAL;
   request.magic =600;
   request.symbol=Symbol();
   request.price=Bid;
   request.deviation=20;
   request.volume=1;
   request.sl=Bid-300*Point();
   request.tp=Bid+300*Point();
   request.type=ORDER_TYPE_BUY;
   OrderSend( request,   result    );    
        
  int Error=GetLastError( ) ; ResetLastError();
  printf("Error %i ",Error);
  
   resultat= result.retcode ;
   printf("resultat %i ",resultat); //}
   Print ( i, PositionsTotal());
   // int PositionTicket= PositionGetInteger(POSITION_IDENTIFIER)
   
                                          }
  

   
  }
//+------------------------------------------------------------------+

 bool  PositionModify( int PositionTicket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE)
      {  MqlTradeRequest request  = {0};

Sim, abre encomendas, tudo está bem, mas não escreve impressoras. Diz

2012.09.04 17:20:10 Comércios '1232639': encomenda #11979593 comprar 1,00 / 1,00 EURUSD a 1,25755 feito

2012.09.04 17:20:10 Comércios '1232639': negócio #11107137 comprar 1,00 EURUSD a 1,25755 feito (com base na encomenda #11979592)

2012.09.04 17:20:10 Comércios '1232639': compra imediata 1.00 EURUSD a 1.25739 sl: 1.25439 tp: 1.26039 (desvio: 20)


2012.09.04 17:20:10 Comércios '1232639': compra imediata 1.00 EURUSD a 1.25739 sl: 1.25439 tp: 1.26039 (desvio: 20)

2012.09.04 17:20:09 Expert Advisor (EURUSD,M5) carregado com sucesso

Razão: