Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 980

 
Igor Makanu:

Já vi, duvido que ele seja capaz de desajustar tudo sozinho, por isso sugeri usar o método comprovado de fechar uma ordem selecionada via OrderSelect() com ClosePosBySelect() - ele pode fazer isso, pelo menos já o vi construir códigos para si mesmo com o construtor ))))

ZZY: Tenho outra suspeita de que ele fecha um pedido duas vezes, mas as impressões de f-função de Kim no tronco, não como loops separados para fechar na 2ª condição

:-) Sim.

Artyom Trishkin:

É claro que as funções de Igor farão tudo para o usuário (e mesmo assim, alguns usuários conseguem cometer um erro com eles também). Mas então ele mesmo não aprenderá a fazer nada. Embora, é claro - sua escolha.

Cavalheiros - Escreverei aqui esta noite...

Parece que a vida útil da conta expirou. Só não é o erro habitual...

A captura de tela é exatamente isso.

P.S. Eu posso e sou treinado para programar, se é que posso! :-) é para a questão da coleta de código construtor!!!!!!!!!!!!!!! :-)

O PPS não levanta a besta em mim, por favor, o idiota... :-)

SOU BOM EM CÓDIGO E NÃO SÓ ISSO, SOU BOM EM LICITAÇÃO TAMBÉM!

 
Roman Shiredchenko:

:-) Sim.

Cavalheiros - Vou postar aqui hoje à noite...

Parece que a vida útil da conta expirou ali. Só não é o erro habitual...

A captura de tela é exatamente isso.

P.S. Eu posso e sou treinado para programar, se é que posso! :-) é para a questão da coleta de código construtor!!!!!!!!!!!!!!! :-)

PPS não levante a besta em mim, por favor, o idiota... :-)

EU SOU UM SHIAT EM CÓDIGO E NÃO APENAS ISSO, EM LICITAÇÃO TAMBÉM!

Muitas cartas. Qual é o objetivo? Não há cheque para obter um preço. E o erro de fechamento de posições a preço zero.

Esse é o problema de "capaz e treinado".

 
Artyom Trishkin:

Ele tem um preço zero fechando lá.

Consequentemente, eu tenho que monitorar o que o MarketInfo-function retornou, mas não há controle. Entretanto, como de costume nos quatro, algumas pessoas estão acostumadas a escrever - algo recebido, o que - não verificaram, mas enviaram o argumento.

SIM. Eu vi isso.

Parece que a vida útil da conta expirou ali.

Quando tentei fechá-lo manualmente - ele retornou "ERRO GERAL" na tela.

Antes - parece que a função funcionou, só não tive tempo de verificá-la.

O nome da função está bem escrito. Sim - escorregamento em pastas, e daí?

Esta noite publicarei aqui os TOTALS.

Recarregou os negócios em uma nova conta.

 
Roman Shiredchenko:

Cavalheiros - Vou postar aqui hoje à noite...

Parece que a vida da conta expirou. É apenas um erro inabitual...

Errado! por que eu deveria adivinhar qual é o erro se você o imprimiu? - Ou a pergunta originalmente era para telepatas... não, tushkas? )))


Roman Shiredchenko:

Ao tentar fechar manualmente - voltou à tela na caixa - "ERRO GERAL".

Talvez o fluxo comercial esteja ocupado, talvez eles o requeiram, por isso o erro geral pode significar o que você quiser - o mesmo "chapéu" foi na Insta no ano passado - as ordens foram fechadas exatamente 5 minutos cada uma - e o código como deveria ser com todos os cheques e impressoras ;)

 
Artyom Trishkin:

Um monte de cartas. Qual é o objetivo? Não há verificação de recebimento de preço. E não há erro nas posições de fechamento a preço zero.

Isso é o que "pode fazer e aprender".

Sim porque já estou escrevendo a partir de uma folha de papel em Word - gud. de uma só vez. EU NÃO TENHO ACESSO AO TERMINAL.

Acesso ao terminal - não. Será à noite em Moscou - escreverei aqui.

 
Igor Makanu:

o errado! por que eu deveria adivinhar qual é o erro se você o imprimiu em letra de imprensa? - ou a questão originalmente colocada aos telepatas... não, aos tushkas? )))

О! Assim é melhor - mais sorrisos... :-)

Sim. As impressões não foram impressas na guia "EXPERTS"... certo. Havia muita coisa acontecendo... não tinha tempo.

 
Igor Makanu:

Errado! por que eu deveria adivinhar qual é o erro se você o imprimiu em letra de imprensa? - ou a pergunta originalmente era para telepatas... não, tushkas? )))


pode ser um fluxo ocupado, solicitações, então você tem que adivinhar - o erro comum pode significar qualquer coisa - na instalação do ano passado o mesmo "chapéu" estava lá, os pedidos levavam 5 minutos para fechar - e o código deveria ser impresso com todos os cheques e impressoras ;)

Ok. :-)

O PS I publicará o resultado aqui esta noite.

 
 #property  indicator_chart_window
#property  indicator_buffers 1
#property  indicator_plots 1
#include  "Includes//Symbol.mqh"
enum price_types
  {
   Bid,
   Ask
  };
input datetime start_date = D'2019.10.07 00:00:00' ;
input int Chops = 10 ;
input price_types applied_price= 0 ; //Price
int data_filled = 0 ;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string symbol_custom= StringFormat ( "%s_%dsec" , _Symbol ,Chops);
long chart_id = 0 ;
datetime start;
void OnInit ()
  {
//CustomSymbolDelete(symbol_custom);
   start=start_date- 60 ;
   Print ( "Ticks History Deleted : " , CustomTicksDelete (symbol_custom, 0 , LONG_MAX ));
   data_filled = 0 ;

   const SYMBOL SYMB(symbol_custom);
   SYMB.CloneProperties( _Symbol );
   SYMB.On();
   MqlTick ticks_add[];
   int len = CopyTicksRange ( _Symbol ,ticks_add, COPY_TICKS_INFO , ulong (start_date)* 1000 , ulong ( TimeCurrent ())* 1000 );
   Print ( "Ticks: " ,len);
   start = start - (len* 60 );
   Print ( "Start Date : " ,start);
   for ( int i= 0 ; i<len && ! IsStopped (); i++)
     {
       if (data_filled%Chops== 0 )
        {
         start = start+ 60 ;
         start = datetime ( TimeToString (start, TIME_DATE )+ " " + TimeToString (start, TIME_MINUTES )+ ":00" );
        }
       else
        {
         start++;
        }
      ticks_add[i].time = start;
      ticks_add[i].time_msc = long (ticks_add[i].time)* 1000 ;
      data_filled++;
     }
//Print(SYMB.CloneTicks(ticks_add));
   Print ( CustomTicksAdd (symbol_custom,ticks_add));
   chart_id = ChartOpen (symbol_custom, _Period );
   Print ( GetLastError ());
  }
void OnDeinit ( const int r)
  {
   if (chart_id != 0 )
     {
       ChartClose (chart_id);
     }
   return ;
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
   if (rates_total <= 0 )
       return 0 ;
   MqlTick ticks[ 1 ];
   CopyTicks ( _Symbol ,ticks, COPY_TICKS_INFO , ulong ( TimeCurrent ())* 1000 , 1 );
   if (data_filled%Chops== 0 )
     {
      start = start+ 60 ;
      start = datetime ( TimeToString (start, TIME_DATE )+ " " + TimeToString (start, TIME_MINUTES )+ ":00" );
     }
   else
     {
      start++;
     }
   Print (start);
   ticks[ 0 ].time = start;
   ticks[ 0 ].time_msc = long (start)* 1000 ;
   data_filled++;

   Print ( CustomTicksAdd (symbol_custom,ticks));
   Print ( GetLastError ());

   return (rates_total);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

Por que os carrapatos não são adicionados ao meu caráter personalizado?

Arquivos anexados:
Symbol.mqh  7 kb
 
Igor Makanu:

Qual é o erro? tela errada

em teoria deveria funcionar, mas eu não vi um fechamento tão sofisticado levando em conta a dispersão e acrescentando como deslizamento - imho, se você decidir fechar, então o deslizamento não é o mais importante a ser observado, erros de fechamento são mais importantes, então solicitações, então a conexão é perdida completamente


Leve OrderClose(....) embora e substitua-o pelo ClosePosBySelect() da Kimhttps://www.mql5.com/ru/forum/131859/page2#comment_3359664

usá-lo, então você verá claramente onde ele está quebrando - ou em suas condições de fechamento, ou o servidor tem algum tipo de truque

Artyom Trishkin:

O preço é zero. Respectivamente, devemos verificar o que foi devolvido pela função MarketInfo, mas não temos controle. No entanto, como de costume nas quatro pessoas, algumas estão acostumadas a escrever - algo recebido, o que - não verificou, mas enviou um argumento.

Colegas, obrigado do fundo do meu coração pela ajuda oportuna no código, sem brincadeiras aqui, vocês sempre me ajudaram antes e ajudam.

Todos os íons da última página sobre o fechamento de negócios funcionam bem. Houve um problema com o fim do período de conta demo aqui, por isso não houve condições próximas, incluindo preços zero...

Atualizei a conta e estou continuando os testes.

 
jaffer wilson :

Por que os carrapatos não são adicionados ao meu caráter personalizado?

@ Artyom Trishkin

Por favor, você pode responder minha pergunta? Acho que ninguém se importa.

Razão: