Erros, bugs, perguntas - página 1913

 
Também não funciona em demonstração com o exemplo da ajuda. SubstituiuORDER_TIME_DAY por cada um dos 4 modos por sua vez, ainda Invalid Expiration.
 
KirBiz:

O corretor tem um limite no fundo para o tempo de expiração da encomenda? Mínimo 10 min.


Encontre a resposta à sua pergunta em "Negociar na Bolsa".

 
prostotrader:

Procure uma resposta à sua pergunta na secção "Negociação em Bolsa".

Está a falar comigo? Procurei tudo o que era possível sobre o tópico 10022 e não encontrei uma resposta de trabalho.

 
Ilya Malev:
Em demonstração também não funciona com o exemplo da ajuda. SubstituiuORDER_TIME_DAY por cada um dos 4 modos por sua vez, ainda Invalid Expiration.

A expiração não tem nada a ver com isso. Vai assim

Request.type_filling = ORDER_FILLING_RETURN;
Isto indica um bug de facto

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Experiências com o MetaTrader 5 na Abertura

fxsaber, 2016.11.12 12:21

#define TOSTRING(A) #A + " = " + (string)(A)

void OnStart()
{
  Print(EnumToString((ENUM_SYMBOL_TRADE_EXECUTION)SymbolInfoInteger(_Symbol, SYMBOL_TRADE_EXEMODE)));
  Print(TOSTRING(SymbolInfoInteger(_Symbol, SYMBOL_FILLING_MODE)));  
  Print(TOSTRING(SYMBOL_FILLING_IOC));
  Print(TOSTRING(SYMBOL_FILLING_FOK));
}

Em Metaquotes-Demo correctas definições (todas permitidas)

Test (Si-12.16,M1)      SYMBOL_TRADE_EXECUTION_EXCHANGE
Test (Si-12.16,M1)      SymbolInfoInteger(_Symbol,SYMBOL_FILLING_MODE) = 3
Test (Si-12.16,M1)      SYMBOL_FILLING_IOC = 2
Test (Si-12.16,M1)      SYMBOL_FILLING_FOK = 1
Todos os modos de enchimento são permitidos e funcionam para ordens de mercado e de limite. Mas para ordens de paragem apenas ORDER_FILLING_RETURN.
 
fxsaber:

A expiração não tem nada a ver com isso. Faça-o assim

Isto mostra um bug de facto
Todos os modos de enchimento são permitidos e funcionam para mercados e limites. Mas para ordens de paragem, apenas ORDER_FILLING_RETURN.

Obrigado pela dica, funciona dessa forma.

 

Por alguma razão, a inteligência não funciona quando se aponta para um contexto global, por exemplo, quando se dactilografa

::StringToTime()

a ponta da ferramenta só aparece depois de o nome da função estar completamente introduzido:

Enquanto que no contexto da classe, a inteligência funciona:


 

estranha falha apareceu no MT5 v1607, estou a testar em carraças reais, ao testar em testador de estratégia em revisão de mercado, testador mostra data 2017.03.07 e hora do último tick 11:01, no entanto em log já há operações 2017.03.09, enquanto testador parece estar parado, quem teve experiência semelhante e como é tratado?

 

Este é um código simples como este:

void CloseAllOrders()
{
bool Ans;
int i=0;
   for(i=1; i <=OrdersTotal(); i++)     
      {      
      Print("Проход № ", i);      
      if (OrderSelect(i-1,SELECT_BY_POS)==true) 
         {  
         if (OrderSymbol() != Symbol())
            continue;
         if (OrderType()==0)
	     {
//            Ans=OrderClose(OrderTicket(),OrderLots(), NormalizeDouble(Bid,Digits),25);
             }           
         if (OrderType()==1)
             {
//            Ans=OrderClose(OrderTicket(),OrderLots(), NormalizeDouble(Ask,Digits),25);
             } 
         }
      }      
         
return;
   
}

No momento em que a função é iniciada, duas posições de compra estão abertas. A função imprime duas vezes a presença de duas ordens: Passagem 1, Passagem 2.

Retiramos os comentários e voltamos a executar a função. Retira vigorosamente uma ordem de compra, declara "Passage #1" e deixa o laço. A mensagem "Passage #2" não aparece.

O que é a magia?


 
nys2000:

O que é a magia?


O ciclo errado
 
Artyom Trishkin:
No ciclo errado

Poderia ser mais específico?