Alexey Navoykov: Inline é, na minha opinião, uma relíquia. O compilador enuncia tudo por si só, pelo que não há necessidade de sobrecarregar o código. E na MQL este especificador não é nada, acrescentado apenas para compatibilidade (não sei para quê, se alguém poderia declarar tal macro por si próprio).
E quem pode garantir que o compilador tem 100500 chamadas de GetTo() em loop, se a chamada for precedida por if(algo) e este algo for falso uma vez em cinco anos?
Acho mais fácil escrever em linha do que procurar através do código do desmontador para o verificar.
Vladimir Simakov: Quem pode garantir que o compilador irá em linha 100500 chamadas para GetTo() num loop, se a chamada for precedida por if(algo) e este algo for falso uma vez em cinco anos?
Acho mais fácil escrever em linha do que olhar para o código do desassemblador para o verificar.
Vladimir Simakov: Não. Existe aí alguma complexidade fundamental?
Não confundir com descompilação - estas são coisas diferentes.
Fiz uma pergunta específica. Deu uma resposta específica.
E "confundir algo com algo" é a sua própria fabricação. Por favor não se preocupe - eu sei, e não estou confuso, e as suas outras questões são redundantes aqui.
Vladimir Simakov: E quem é que pode garantir que o compilador inlaid 100500 chamadas para GetTo() funcionam em loop, se esta chamada for precedida por if(algo) e este algo for falso uma vez em cinco anos?
Acho mais fácil escrever em linha do que olhar para o código do desassemblador para o verificar.
E conseguiu optimizar muito com as suas linhas em modo de lançamento? )
p.s. Não era você que estava a mexer em alinhamentos no outro dia?
Meus amigos, podem dizer-me o que está a fazer, um mês estava tudo a funcionar bem, mas atrevi-me a carregar um depósito e agora tenho um erro - o karma é preto :(
//+------------------------------------------------------------------+//|значение Regressor Номера буферов: 0 - Up, 1 - Center, 2 - Low |//+------------------------------------------------------------------+double Regressorf(int Bufer,int index)
{
double MA[1];
ResetLastError();
if(CopyBuffer(handle_Regressor,Bufer,index,1,MA)<0)
{
Print("handle_Regressor: Bufer=",Bufer," index=",index);
PrintFormat("Failed to copy data from the handle_Regressor indicator, error code %d",GetLastError());
return(0.0);
}
Print("handle_Regressor: Bufer=",Bufer," index=",index," arr=",MA[0]);
return MA[0];
}
Desde Julho testei activamente tudo numa conta real sob os meus olhos atentos, não houve erro, e agora tenho-o :(
2019.08.1520:51:11.827 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) Failed to copy data from the handle_Regressor indicator, error code 48062019.08.1520:51:58.329 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) handle_Regressor: Bufer=1 index=6272019.08.1520:51:58.329 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) Failed to copy data from the handle_Regressor indicator, error code 48062019.08.1520:52:44.840 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) handle_Regressor: Bufer=0 index=6272019.08.1520:52:44.840 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) Failed to copy data from the handle_Regressor indicator, error code 48062019.08.1520:53:31.350 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) handle_Regressor: Bufer=2 index=6272019.08.1520:53:31.350 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) Failed to copy data from the handle_Regressor indicator, error code 48062019.08.1520:54:17.867 TZ_Sky_and_Ground_V_04_test (Si-9.19,M1) handle_Regressor: Bufer=1 index=627
O que pode ser? Ao mesmo tempo que o próprio indicador funciona visualmente, a reinicialização da EA resolveu o problema.
Esta pode ser uma pergunta parva, mas não consigo perceber o que estou a fazer mal. Comecei a aprender MQL5 e surgiu o primeiro problema. Não posso utilizar guião para a abertura imediata de uma encomenda (compra/venda, qualquer encomenda). Acabei de pegar no código pronto da MQL5 Reference e tentei executá-lo (anexar o guião à janela do gráfico). Não funcionou. Ao compilar, não ocorreram erros, claro. Não o posso anexar ao gráfico. Talvez tudo seja óbvio, mas eu estou perdido.
#define EXPERT_MAGIC 123456// MagicNumber эксперта//+------------------------------------------------------------------+//| Открытие позиции Buy |//+------------------------------------------------------------------+voidOnStart()
{
//--- объявление и инициализация запроса и результата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()); // если отправить запрос не удалось, вывести код ошибки//--- информация об операцииPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
Por favor aconselhe-me, o que é que se passa? Ou o código está correcto e eu sou apenas um desajeitado?
Esta pode ser uma pergunta parva, mas não consigo perceber o que estou a fazer mal. Comecei a aprender MQL5 e surgiu o primeiro problema. Não posso utilizar guião para a abertura imediata de uma encomenda (compra/venda, qualquer encomenda). Acabei de pegar no código pronto da MQL5 Reference e tentei executá-lo (anexar o guião à janela do gráfico). Não funcionou. Ao compilar, não ocorreram erros, claro. Não o posso anexar ao gráfico. Talvez tudo esteja claro, mas eu estou perdido.
Por favor, diga-me o que está errado? Ou o código está correcto e eu sou apenas desajeitado?
Inline é, na minha opinião, uma relíquia. O compilador enuncia tudo por si só, pelo que não há necessidade de sobrecarregar o código. E na MQL este especificador não é nada, acrescentado apenas para compatibilidade (não sei para quê, se alguém poderia declarar tal macro por si próprio).
Quem pode garantir que o compilador irá em linha 100500 chamadas para GetTo() num loop, se a chamada for precedida por if(algo) e este algo for falso uma vez em cinco anos?
Desculpe-me, está a desmontar códigos ex4, ex5 ?
Artyom, como moderador, por favor, ajude-me com isto, escrevi anteriormente :
"Para administradores de sítios:
Não consegui encontrar onde, estou a escrever aqui
Necessidade de alterar os detalhes do vendedor no perfil.
como fazer isto ?
Escrevi uma mensagem há muito tempo na conta do vendedor, sem resposta.
talvez haja outra maneira ?
"
Artyom, como moderador, por favor, ajude-me com isto, escrevi anteriormente :
"Para administradores de sítios:
Não consegui encontrar onde, estou a escrever aqui
Necessidade de alterar os detalhes do vendedor no perfil.
como fazer isto ?
Escrevi uma mensagem há muito tempo na conta do vendedor, sem resposta.
talvez haja outra maneira ?
"
Escreva para este tópico (+ passou o seu pedido à administração):
Desculpe-me, desmonta códigos ex4, ex5?
Não. Existe aí alguma complexidade fundamental?
Fiz uma pergunta específica. Deu uma resposta específica.
E "confundir algo com algo" é a sua própria fabricação. Por favor não se preocupe - eu sei, e não estou confuso, e as suas outras questões são redundantes aqui.
E quem é que pode garantir que o compilador inlaid 100500 chamadas para GetTo() funcionam em loop, se esta chamada for precedida por if(algo) e este algo for falso uma vez em cinco anos?
E conseguiu optimizar muito com as suas linhas em modo de lançamento? )
p.s. Não era você que estava a mexer em alinhamentos no outro dia?
Meus amigos, podem dizer-me o que está a fazer, um mês estava tudo a funcionar bem, mas atrevi-me a carregar um depósito e agora tenho um erro - o karma é preto :(
Aqui está a chamada de indicador do Conselheiro Especialista
Desde Julho testei activamente tudo numa conta real sob os meus olhos atentos, não houve erro, e agora tenho-o :(
O que pode ser? Ao mesmo tempo que o próprio indicador funciona visualmente, a reinicialização da EA resolveu o problema.
Boa tarde!
Esta pode ser uma pergunta parva, mas não consigo perceber o que estou a fazer mal. Comecei a aprender MQL5 e surgiu o primeiro problema. Não posso utilizar guião para a abertura imediata de uma encomenda (compra/venda, qualquer encomenda). Acabei de pegar no código pronto da MQL5 Reference e tentei executá-lo (anexar o guião à janela do gráfico). Não funcionou. Ao compilar, não ocorreram erros, claro. Não o posso anexar ao gráfico. Talvez tudo seja óbvio, mas eu estou perdido.
Por favor aconselhe-me, o que é que se passa? Ou o código está correcto e eu sou apenas um desajeitado?
Boa tarde!
Esta pode ser uma pergunta parva, mas não consigo perceber o que estou a fazer mal. Comecei a aprender MQL5 e surgiu o primeiro problema. Não posso utilizar guião para a abertura imediata de uma encomenda (compra/venda, qualquer encomenda). Acabei de pegar no código pronto da MQL5 Reference e tentei executá-lo (anexar o guião à janela do gráfico). Não funcionou. Ao compilar, não ocorreram erros, claro. Não o posso anexar ao gráfico. Talvez tudo esteja claro, mas eu estou perdido.
Por favor, diga-me o que está errado? Ou o código está correcto e eu sou apenas desajeitado?