Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 87

 
Silent:

Pode até ser mais rápido... Embora eu não saiba como será com a realocação de memória.

Por favor, pode dizer-me como ver quanta memória um Expert Advisor leva e como é realocada?
 

E no entanto não consigo perceber porque é que os níveis não são criados usando o ObjectCreate. Todas as funções funcionam, mas não são criados objectos OBJ_TREND

Existem variáveis definidas a nível global:

string oRes, oSup, oPP, oRes1, oRes2, oRes3, oSup1, oSup2, oSup3, textPP, textR1, textR2, textR3, textS1, textS2, textS3;

O código que deve criar os níveis:

void OnInit()
  {
   TimeOpenBar();
   ObjectCreate(0,oRes,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oRes,OBJPROP_COLOR,clrNavy);
   ObjectSetInteger(0,oRes,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oRes,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oRes,OBJPROP_RAY,false);
   ObjectCreate(0,oSup,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oSup,OBJPROP_COLOR,clrNavy);
   ObjectSetInteger(0,oSup,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oSup,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oSup,OBJPROP_RAY,false);
   CreateLevels();

   ObjectCreate(0,oPP,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oPP,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oPP,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSetInteger(0,oPP,OBJPROP_WIDTH,2);
   ObjectSetInteger(0,oPP,OBJPROP_RAY,false);
   ObjectCreate(0,oRes1,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oRes1,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oRes1,OBJPROP_STYLE,STYLE_DASH);
   ObjectSetInteger(0,oRes1,OBJPROP_WIDTH,1);
   ObjectSetInteger(0,oRes1,OBJPROP_RAY,false);
   ObjectCreate(0,oSup1,OBJ_TREND,0,0,0,0,0);
   ObjectSetInteger(0,oSup1,OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,oSup1,OBJPROP_STYLE,STYLE_DASH);
   ObjectSetInteger(0,oSup1,OBJPROP_WIDTH,1);
   ObjectSetInteger(0,oSup1,OBJPROP_RAY,false);
   PPlevel();
  }
Pessoal, ajudem a resolver isto. Por favor
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
fyords:
Imprimir os resultados de ObjectCreate, talvez haja um erro.
Bem, o que é que diz? Imprimiu o resultado?
 
Por favor, aconselha-me como encontrar uma literatura de fácil compreensão (tão simples quanto possível) sobre análise técnica. Parece ser compreensível no início, mas quando começo a lê-lo, o meu cérebro recusa-se a compreendê-lo :(
 
fyords:
Então, o que diz? Fez uma saída do resultado?
Não funcionou para mim, estava a fazer algo de errado. A impressão não produziu nada.
 
NeSezon:
Por favor, aconselha-me sobre como encontrar uma literatura clara (o mais simples possível) sobre análise técnica. Quando começo a lê-lo compreendo-o, mas quando o começo a ler em pormenor o meu cérebro recusa-se a compreendê-lo :(
Experimente a "pequena enciclopédia do comerciante" de Naiman.
 
WindSW:
Não funcionou para mim, estava a fazer algo de errado. A impressão não me deu nada.
ResetLastError();
bool result=ObjectCreate(0,oRes,OBJ_TREND,0,0,0,0,0);
Print("result=",result," GetLastError()=",GetLastError());
Deve ter sido errado.
 
fyords:
Isso deve ter sido a coisa errada a fazer.
Sim, não foi realmente assim que o fiz. Gera o erro "5040 - parâmetro manchado de tipo string". Tenho parâmetros para objectos definidos a nível global (o compilador avisa sem eles) na seguinte forma: string oRes, oSup, oPP, oRes1; etc. Como corrigir isto e como especificar correctamente a cadeia de parâmetros correcta, para que tudo funcione e o compilador não pragueje?
 
WindSW:
Sim, não foi realmente assim que o fiz. Gera o erro "5040 - parâmetro manchado do tipo string". Tenho parâmetros para objectos definidos a nível global (o compilador avisa sem eles) como este: string oRes, oSup, oPP, oRes1; etc. Como corrigir isto e como especificar correctamente a cadeia de parâmetros correcta, para que tudo funcione e o compilador não pragueje?

Bem, digamos que declarou variáveis a nível global, atribuiu valores a estas variáveis?

Se não, então diz-se ao programa "criar um objecto com características de sucção e tais com o nome..." e há um problema - o nome não é dado. Por isso, não a cria.

Não seria mais fácil especificá-lo directamente no código ObjectCreate?

ResetLastError();
bool result=ObjectCreate(0,"Name1",OBJ_TREND,0,0,0,0,0);
Print("result=",result," GetLastError()=",GetLastError());
 
WindSW:
Experimente a enciclopédia de Nyman's Little Trader's
Obrigado! Encontrei-o. Adoraria lê-lo um destes dias.