Sentiu a diferença entre um comando síncrono e um assíncrono.
Poderia fornecer uma lista de funções assíncronas.
Se bem entendi, as funções Objecto e Gráfico (que outros?) são todas assíncronas. Então não é bem claro porque é que o ChartGet corre mais depressa do que o ChartXY?
Sentiu a diferença entre um comando síncrono e um assíncrono.
Sim...
Mas as observações mostram que estas funções são bastante sincronizadas na sua assíncronia. :)
Ok, formularei a minha pergunta de forma diferente para os desenvolvedores: Existe uma oportunidade (ou desejo) de mudar estas funções assíncronas para funções síncronas?
Poderia fornecer uma lista de funções assíncronas.
Se bem entendi, as funções Objecto e Gráfico (que outros?) são todas assíncronas. Então não é bem claro porque é que o ChartGet corre mais depressa do que o ChartXY?
São também terrivelmente lentos, só que o objectivo do meu algoritmo "rápido" é calcular uma oportunidade de não chamar funções de gráficos e passar sem elas. E assim que você "agarra" o gráfico no meu exemplo e começa a movê-lo para a esquerda - direita, toda a velocidade é perdida porque as funções do gráfico começam a ser aplicadas devido à ocorrência do evento
Olá, comecei a estudar a MQL5 a partir dehttps://www.mql5.com/ru/articles/100. Lancei o código e recebi o erro 4756. O erro não melhorou depois de procurar na documentação. Ok, pensei em começar com funções simples (Alerta/Impressão...). Uma das funções mais importantes é a de OrderSend. Comecei a pesquisar através do fórum/documentação sobre como utilizar o OrderSend. Encontrei este artigohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions e encontrei o código para abrir uma posição de compra. Recebi o erro 4756 e o retcode 10030. Compreendi que 10030 - é a propriedade OrderSend, mas não compreendi como esta propriedade deve ser usada (olhei para o código de outra pessoa) e para que é usada principalmente. Depois abrihttps://www.mql5.com/ru/docs/trading/ordersend, copiei o código, executei-o, funcionou bem. Mas ainda não compreendo por que razão aparece o erro 4756 e como se livrar dele, bem como o 10030.
Veja-se o código entre
voidOnTick(){
//--- объявление и инициализация запроса и результатаMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.1; // объем в 0.1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера//--- отправка запросаif(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибкиAlert(GetLastError());
//--- информация об операцииPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
e este aqui.
uint SendRandomPendingOrder(longconst magic_number)
{
//--- готовим запрос MqlTradeRequest request={0};
request.action=TRADE_ACTION_PENDING; // установка отложенного ордера
request.magic=magic_number; // ORDER_MAGIC
request.symbol=_Symbol; // инструмент
request.volume=0.1; // объем в 0.1 лот
request.sl=0; // Stop Loss не указан
request.tp=0; // Take Profit не указан //--- сформируем тип ордера
request.type=GetRandomType(); // тип ордера //---сформируем цену для отложенного ордера
request.price=GetRandomPrice(request.type); // цена для открытия //--- отправим торговый приказ MqlTradeResult result={0};
OrderSend(request,result);
//--- выведем в лог ответ сервера Print(__FUNCTION__,":",result.comment);
if(result.retcode==10016) Print(result.bid,result.ask,result.price);
//--- вернем код ответа торгового сервера return result.retcode;
}
Parecem-me quase idênticos, não vejo onde aparecem estes erros (4756 e 10030). Por favor, aponte o dedo e explique.
Olá! comecei a estudar a MQL5 a partir dehttps://www.mql5.com/ru/articles/100. Lancei o código e recebi o erro 4756. Por isso pensei em começar pela mais simples (Alerta/Impressão...). Uma das funções mais importantes é a de OrderSend. Comecei a pesquisar através do fórum/documentação sobre como utilizar o OrderSend. Encontrei este artigohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions e encontrei o código para abrir uma posição de compra. Recebi o erro 4756 e o retcode 10030. Compreendi que 10030 - é a propriedade OrderSend, mas não compreendi como esta propriedade deve ser usada (olhei para o código de outra pessoa) e para que é usada principalmente. Depois abrihttps://www.mql5.com/ru/docs/trading/ordersend, copiei o código, executei-o, funcionou bem. Mas ainda não compreendo por que razão aparece o erro 4756 e como se livrar dele, bem como o 10030.
Veja-se o código entre
e este aqui.
Parecem-me quase idênticos, não vejo onde aparecem estes erros (4756 e 10030). Por favor, aponte o dedo e explique
Utilize a classe de comércio CTrade - dessa forma é garantido que comete o menor número de erros possível.
Exemplo de envio de uma ordem comercial para abrir a Buy:
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
Sentiu a diferença entre um comando síncrono e um assíncrono.
Poderia fornecer uma lista de funções assíncronas.
Se bem entendi, as funções Objecto e Gráfico (que outros?) são todas assíncronas. Então não é bem claro porque é que o ChartGet corre mais depressa do que o ChartXY?
Sentiu a diferença entre um comando síncrono e um assíncrono.
Poderia fornecer uma lista de funções assíncronas.
Se bem entendi, as funções Objecto e Gráfico (que outros?) são todas assíncronas. Então não é bem claro porque é que o ChartGet corre mais depressa do que o ChartXY?
CHARTEVENT_CHART_CHANGEOlá, comecei a estudar a MQL5 a partir dehttps://www.mql5.com/ru/articles/100. Lancei o código e recebi o erro 4756. O erro não melhorou depois de procurar na documentação. Ok, pensei em começar com funções simples (Alerta/Impressão...). Uma das funções mais importantes é a de OrderSend. Comecei a pesquisar através do fórum/documentação sobre como utilizar o OrderSend. Encontrei este artigohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions e encontrei o código para abrir uma posição de compra. Recebi o erro 4756 e o retcode 10030. Compreendi que 10030 - é a propriedade OrderSend, mas não compreendi como esta propriedade deve ser usada (olhei para o código de outra pessoa) e para que é usada principalmente. Depois abrihttps://www.mql5.com/ru/docs/trading/ordersend, copiei o código, executei-o, funcionou bem.
Mas ainda não compreendo por que razão aparece o erro 4756 e como se livrar dele, bem como o 10030.
Veja-se o código entre
e este aqui.
Parecem-me quase idênticos, não vejo onde aparecem estes erros (4756 e 10030). Por favor, aponte o dedo e explique.
Olá! comecei a estudar a MQL5 a partir dehttps://www.mql5.com/ru/articles/100. Lancei o código e recebi o erro 4756. Por isso pensei em começar pela mais simples (Alerta/Impressão...). Uma das funções mais importantes é a de OrderSend. Comecei a pesquisar através do fórum/documentação sobre como utilizar o OrderSend. Encontrei este artigohttps://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions e encontrei o código para abrir uma posição de compra. Recebi o erro 4756 e o retcode 10030. Compreendi que 10030 - é a propriedade OrderSend, mas não compreendi como esta propriedade deve ser usada (olhei para o código de outra pessoa) e para que é usada principalmente. Depois abrihttps://www.mql5.com/ru/docs/trading/ordersend, copiei o código, executei-o, funcionou bem.
Mas ainda não compreendo por que razão aparece o erro 4756 e como se livrar dele, bem como o 10030.
Veja-se o código entre
e este aqui.
Parecem-me quase idênticos, não vejo onde aparecem estes erros (4756 e 10030). Por favor, aponte o dedo e explique
Utilize a classe de comércio CTrade - dessa forma é garantido que comete o menor número de erros possível.
Exemplo de envio de uma ordem comercial para abrir a Buy:
Utilize a classe de comércio CTrade para garantir que comete o menor número de erros possível.
Exemplo de envio de uma ordem comercial para abrir uma Compra:
CTrade - é uma classe universal? Ou seja, pode substituir qualquer outro código?
CTrade - é uma classe universal? Então, é possível substituir qualquer outro código por ele?
ACTrade é fornecida com o terminal naBiblioteca Standard->Classes de Comércio->CTrade.
Parecem-me quase idênticos, não vejo onde aparecem estes erros (4756 e 10030). Por favor, aponte o dedo e explique
https://www.mql5.com/ru/search#!keyword=Não apoiado%20preenchimento%20mode
Um exemplo da kodobase
Há várias maneiras de entrar em ME
No testador MT5, o objecto "Campo de entrada" OBJ_EDIT não permite editar um valor no mesmo. Está concebido dessa forma ou é um insecto?
Nos terminais e no testador MT4 é editável, mas no testador MT5 não é, o valor introduzido programmaticamente quando se cria o objecto desaparece.