Erros, bugs, perguntas - página 922

 
sergeev:
F9 no seu terminal de corretagem está avariado?

No vídeo https://www.youtube.com/watch?v=uEGd4g8xK40 tentei mostrar que pela F9 tudo funciona.
Pode estar a escapar-me algo... Escreve sobre DC (centro de negociação)
Estou a tentar trabalhar na conta de demonstração MT5 com o corretor Otkritie.
Hoje procurei quem mais trabalha (que corretores) no MT5 com futuros... Não consegui encontrar nenhum corretor russo ... Todas as demos, todas as demos...

 
Rone:

2. Há uma classe que tem este método:

O nome do ficheiro é uma propriedade e é-lhe atribuído um valor durante a inicialização do objecto. Ou seja, quando o método é chamado, abrimos o ficheiro, lemos linha a linha, e assim que encontramos uma linha adequada, devolvemos o seu substrato. Se o ficheiro não for aberto ou se não houver uma corda correspondente, devolvemos a corda que foi alimentada à entrada.

Se chamarmos o método uma vez, tudo funciona. Mas se telefonar várias vezes seguidas - funciona apenas na primeira vez, enquanto a segunda e subsequentes tentativas de abrir o ficheiro - INVALID_HANDLE (verificado com impressão). Qual poderá ser o problema?

O ficheiro nem sempre é fechado quando a função sai.
 
На видео  https://www.youtube.com/watch?v=uEGd4g8xK40 я постарался показать что по F9 все работает.

Se a hora for definida durante a definição normal da ordem por F9,

então o tempo também é programado na MQL5 programática.

Portanto, procure um erro. Faça uma encomenda, faça registos e grite.

Mas nada depende da empresa de corretagem neste caso, uma vez que tudo se resolve com a F9.

 


Caros programadores, isto é o que era há um ano


https://www.mql5.com/ru/forum/1931/17217#comment_17217

Lari333:

Olá.

2. Quando defino uma ordem programática com o parâmetro de expiração, a ordem não é definida e dá erro 10022 (Data de expiração inválida no pedido)

request.action=TRADE_ACTION_PENDING;
request.symbol=Symbol();
request.volume=Lots;
request.price=NormalizeDouble(Price,Digits);
request.sl=NormalizeDouble(Loss,Digits);
request.tp=NormalizeDouble(Take,Digits);
request.type=ORDER_TYPE_SELL_LIMIT;
request.magic=MagicNumber;
request.type_time=ORDER_TIME_SPECIFIED;
request.expiration=TimeTradeServer()+5*60*kol5ot;
OrderSend(pedido,resultado);

Tenho de modificar o conjunto de encomendas sem expiração e a data de expiração será aceite.

OrderSelect(bilhete);
request.symbol=Symbol();
request.volume=OrderGetDouble(ORDER_VOLUME_INITIAL);
request.price=OrderGetDouble(ORDER_PRICE_OPEN);
request.sl=OrderGetDouble(ORDER_SL);
request.tp=OrderGetDouble(ORDER_TP);
request.type=ORDER_TYPE_SELL_LIMIT;
request.magic=MagicNumber;
request.order=ticket;
request.action=TRADE_ACTION_MODIFY;
request.type_time=ORDER_TIME_SPECIFIED;
request.expiration=TimeTradeServer()+5*60*kol5ot;
OrderSend(pedido,resultado);


Parece-lhe que ainda lá está?

Expiration. Проблема с результатами
Expiration. Проблема с результатами
  • www.mql5.com
При оформлении запроса на установку отложенного ордера пробую использовать такую конструкцию:.
 
sergeev:


Caros programadores, foi isto que aconteceu há um ano atrás.


https://www.mql5.com/ru/forum/1931/17217#comment_17217


Parece que ainda lá está, não é verdade?

Acabou de ser verificado com uma ligeira modificação do exemplo em anexo. O pêndulo é exibido normalmente.

//--- input parameters
input bool     use_expir=true;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   MqlTradeRequest request;
   MqlTradeResult result;
   double Lots=0.1;
   double Price=SymbolInfoDouble(_Symbol,SYMBOL_BID)+1000*SymbolInfoDouble(_Symbol,SYMBOL_POINT);
   double Loss=Price+1000*SymbolInfoDouble(_Symbol,SYMBOL_POINT);
   double Take=Price-1000*SymbolInfoDouble(_Symbol,SYMBOL_POINT);
   int MagicNumber=55555;
   int kol5ot=PeriodSeconds(PERIOD_D1);
//---
   request.action=TRADE_ACTION_PENDING;
   request.symbol=Symbol();
   request.volume=Lots;
   request.price=NormalizeDouble(Price,_Digits);
   request.sl=NormalizeDouble(Loss,_Digits);
   request.tp=NormalizeDouble(Take,_Digits);
   request.type=ORDER_TYPE_SELL_LIMIT;
   request.magic=MagicNumber;
   request.type_time=ORDER_TIME_SPECIFIED;
   request.expiration=TimeTradeServer()+5*60*kol5ot;
   if(OrderSend(request,result))
     {
      PrintFormat("OrderSend for %s returned true. Expiration date = %s", EnumToString(request.type), TimeToString(request.expiration));
     }
  }
//+------------------------------------------------------------------+

Saída para o Jornal de Peritos

2013.01.22 16:11:00     Experts AutoTrading is enabled
2013.01.22 16:16:15     CheckExpirationinOrders (EURUSD,H1)     OrderSend for ORDER_TYPE_SELL_LIMIT returned true. Expiration date = 2013.11.18 13:16
 

Nikos52 , Corre e depura o guião de topo

Se receber um erro 1022 - então escreva ao Service Desk com todos os detalhes do seu corretor.

 
sergeev:

Nikos52 , Corre e depura o guião de topo

Se receber um erro 1022 - então escreva ao Service Desk com todos os detalhes do seu corretor.

Desculpe, não conheço bem a linguagem - o que quer dizer com "debug" - é isso da palavra "debug"? :)
 
Nikos52:
Isso é da palavra debug? :)

sim

agora conhece a gíria :)

 
sergeev:
Sim

Pintura a óleo e a vista de lado.

Acabo de falar com os "salvadores" do corretor - eles dizem que este erro está apenas em contas de demonstração, dizem que não vai acontecer em contas reais.
Mas como escrever uma EA e testá-la na história? - Bem, nós estamos a decidir, estamos a corresponder com os criadores.

É como a velha anedota sobre o manicómio... Se aprender a nadar, vamos colocar água na piscina.

 
Nikos52:

Acabei de falar com os "salvadores" do corretor e eles dizem que este erro está apenas em contas de demonstração e não irá acontecer em contas reais.

Se tiver um problema com a F9 nas contas demo, mas não com a MQL5, envie um pedido ao Service Desk no fórum com todos os registos e uma descrição de qual é o problema.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
Razão: