Sim, é necessário ter um código fonte aberto ou uma implementação já feita.
Quando coloco a cor clrNONE no provador, a cor ainda é exibida! Então o clrNONE não funciona no testador? Não o posso verificar na vida real - é o fim-de-semana...
Se eu definir qualquer cor em vez de clrNONE, esta cor é exibida, mas o valor vazio = não funciona... estranho...
Resposta: também recarregar repetidamente a macro)
Mas é melhor usar apenas o + operador para cordas e converter tudo em cordas, depois não precisa de uma versão de função (e macro) com muitos parâmetros
Obrigado. Eu não sabia que a macro pode ser recarregada.
intOnInit()
{
//---ChartSetInteger(ChartID(), CHART_EVENT_OBJECT_CREATE, true);
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
}
//+------------------------------------------------------------------+/***********************OnChartEvent function************************/voidOnChartEvent(constint id, // идентификатор событияconstlong& lparam, // параметр события типа longconstdouble& dparam, // параметр события типа doubleconststring& sparam // параметр события типа string
)
{
if(id == CHARTEVENT_OBJECT_CREATE)
{
I++;
string result[]; // массив для получения строкStringSplit(sparam, ' ', result); // получим из имени созданного объекта подстрокиulong timeCreate = ObjectGetInteger(0, sparam, OBJPROP_CREATETIME); // получим время создания объектаstring newName = result[0]+" "+result[1]+" "+string(I); // сформируем новое имя объектаObjectSetString(0, sparam, OBJPROP_NAME, newName); // переименуем объект//----------------------------------------------------------------------------------------double Level_0= ObjectGetDouble(
0, // идентификатор графика
newName, // имя объектаOBJPROP_PRICE, // идентификатор свойства0// модификатор свойства
);
double Level_1= ObjectGetDouble(
0, // идентификатор графика
newName, // имя объектаOBJPROP_PRICE, // идентификатор свойства1// модификатор свойства
);
//------------------------------------------------------------------------------------------------------if(Level_0 > Level_1)
{
ObjectSetInteger(0,newName,OBJPROP_COLOR,clrDeepSkyBlue);
}
else
{
ObjectSetInteger(0,newName,OBJPROP_COLOR,clrYellow);
}
}/******************************************************************/
}
Olá, poderia dizer-me porquê ao depurar o código, indo passo a passo as linhas são lembradas em ambas as cores, dependendo dos valores das coordenadas. E atirar EA no gráfico, condição das linhas se(Level_0 > Level_1) nunca for verdadeiro ?
Pode dizer-me porque é que, na depuração, ao passar o código passo a passo, as linhas são repintadas em ambas as cores, dependendo dos valores das coordenadas. E atirar EA sobre um gráfico, a condição da linha se(Level_0 > Level_1) nunca for verdadeira ?
É muito provável que após renomear um objecto, este ainda não esteja disponível para ser acedido. Pode tentar colocar ChartRedraw depois de renomear. Se não funcionar, é necessário construir a sequência de outra forma.
ps; Outra opção: primeiro repintar com nome sparam e depois dar-lhe um novo nome.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Um indicador para isto deve ter um parâmetro de cor de entrada. Ou seja, deve ser um indicador personalizado.
OBRIGADO! mas se eu não tiver acesso ao código fonte, não é viável?
OBRIGADO! Mas se eu não tiver acesso ao código fonte, ele não é implementável?
Sim, tem de ter uma fonte aberta ou uma implementação já feita.
Sim, é necessário ter um código fonte aberto ou uma implementação já feita.
Quando coloco a cor clrNONE no provador, a cor ainda é exibida! Então o clrNONE não funciona no testador? Não o posso verificar na vida real - é o fim-de-semana...
Se eu definir qualquer cor em vez de clrNONE, esta cor é exibida, mas o valor vazio = não funciona... estranho...Resposta: também recarregar repetidamente a macro)
Mas é melhor usar apenas o + operador para cordas e converter tudo em cordas, depois não precisa de uma versão de função (e macro) com muitos parâmetros
Obrigado. Eu não sabia que a macro pode ser recarregada.
Obrigado. Eu não sabia que a macro podia ser recarregada.
typo - recarregar, não recarregar)
ordenou os exemplos no final desta secção de ajudahttps://www.mql5.com/ru/docs/constants/structures/mqltraderequest
no servidor Metacquot, está tudo bem
noutro servidor, após analisar os códigos de erro dos pedidos comerciais, descobri que o problema está no preenchimento do campo MqlTradeResult:
request.type_filling = ORDER_FILLING_IOC;uma pesquisa no fórum não encontrou uma solução inequívoca - como determinar programticamente as configurações do servidor para o campo MqlTradeResult
UPD: encontrou uma solução de trabalhohttps://www.mql5.com/ru/forum/168912/page2#comment_4062864
@fxsaber obrigado!
Por favor, diga-me como definir os níveis de Fibo para a autoconstrução
Exemplo no códigoFibonaci RR-
pode ser definido para os níveis: número de linhas, valor da linha, cor da linha, estilo da linha, largura da linha, texto da linha.
Olá, poderia dizer-me porquê ao depurar o código, indo passo a passo as linhas são lembradas em ambas as cores, dependendo dos valores das coordenadas. E atirar EA no gráfico, condição das linhas se(Level_0 > Level_1) nunca for verdadeiro ?
Pode dizer-me porque é que, na depuração, ao passar o código passo a passo, as linhas são repintadas em ambas as cores, dependendo dos valores das coordenadas. E atirar EA sobre um gráfico, a condição da linha se(Level_0 > Level_1) nunca for verdadeira ?
É muito provável que após renomear um objecto, este ainda não esteja disponível para ser acedido. Pode tentar colocar ChartRedraw depois de renomear. Se não funcionar, é necessário construir a sequência de outra forma.
ps; Outra opção: primeiro repintar com nome sparam e depois dar-lhe um novo nome.