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

 
lil_lil:

Na verdade não, embora venha a ser útil para o teste. Quero que o indicador seja anexado ao gráfico online depois que a EA for anexada a ele. Isso é possível?

Ainda não experimentei. Teoricamente, é pouco provável que funcione. Talvez essa seja a razão pela qual eu ainda não tenha tentado. Será assim: cada vez que a EA for carregada, o modelo será aplicado, sobre o qual a EA é lançada novamente. E tudo se repete, o modelo é aplicado, uma nova cópia do EA é lançada e assim por diante.

Talvez seja melhor, se você quiser tanto que seus dentes doam, fazer um roteiro que aplique o modelo com a EA e os indicadores.

 
Obrigado a todos por sua participação. Vou tentar chamar ChartApplyTemplate() no terminal global e atribuir um valor variável, mas antes de chamar ChartApplyTemplate() vou verificar seu valor.
 

Hi,

Como posso criar barras usando 30 carrapatos de cada PERÍODO_M1?

Quero criar um novo personagem para minha análise.

 
Olá! por favor me ajude a resolver um problema, estou tendo problemas. Preciso prescrever no código da EA, trabalhando no gráfico ativo do símbolo 1, para desenhar linhas horizontais em outro gráfico, NÃO ativo do símbolo 2. Isso significa que o gráfico do símbolo 2 está aberto na tela. Por exemplo, para o segundo símbolo SUI30 eu fiz isso:
double SUop0 = iOpen("SUI30",PERIOD_H1,0);
double lp = SUop0-67;
double hp = SUop0+67; 

   Fun_New_Bar();
      if(New_Bar)      
         {
   ObjectCreate("SUI30","lineForBuy",OBJ_HLINE,0,0,lp);
   ObjectCreate("SUI30","lineForSell",OBJ_HLINE,0,0,hp);
         }
mas o meta-editor dá uma mensagem de conversão implícita de 'string' para 'número'. O que estou fazendo de errado, e como resolvê-lo? Obrigado.

 
novichok2018:
Olá! Por favor, ajude-me a resolver um problema, eu não posso fazer isso. No código do Expert Advisor, trabalhando no gráfico ativo do símbolo 1, prescreve o desenho de linhas horizontais no outro, NÃO o gráfico ativo do símbolo 2. Isso significa que o gráfico do símbolo 2 está aberto na tela. Por exemplo, para o segundo símbolo SUI30, eu fiz isto: mas o meta-editor dá uma mensagem de conversão implícita de 'string' para 'número'. O que estou fazendo de errado, e como resolvê-lo? Obrigado.

Precisamos usar outra função de sobrecarga

bool  ObjectCreate( 
   long          chart_id,      // идентификатор графика 
   string        object_name,   // имя объекта 
   ENUM_OBJECT   object_type,   // тип объекта 
   int           sub_window,    // индекс окна 
   datetime      time1,         // время первой точки привязки 
   double        price1,        // цена первой точки привязки 
   ... 
   datetime      timeN=0,       // время N-точки привязки 
   double        priceN=0       // цена N-точки привязки 
   );

E este identificador de gráficos deve ser encontrado tentando enumerar os gráficos de ChartFirst();

long  ChartNext( 
   long  chart_id      // идентификатор графика
   );

Exemplo a partir da documentação

//--- переменные для идентификаторов графиков 
   long currChart,prevChart=ChartFirst(); 
   int i=0,limit=100; 
   Print("ChartFirst = ",ChartSymbol(prevChart)," ID = ",prevChart); 
   while(i<limit)// у нас наверняка не больше 100 открытых графиков 
     { 
      currChart=ChartNext(prevChart); // на основании предыдущего получим новый график 
      if(currChart<0) break;          // достигли конца списка графиков 
      Print(i,ChartSymbol(currChart)," ID =",currChart); 
      prevChart=currChart;// запомним идентификатор текущего графика для ChartNext() 
      i++;// не забудем увеличить счетчик 
     }
 
Alexey Viktorov:

Precisamos usar uma sobrecarga de funções diferente

Obrigado, estou tentando descobrir.

 
Alexey Viktorov:

Precisamos usar outra função de sobrecarga

E este identificador de gráficos deve ser encontrado tentando enumerar os gráficos de ChartFirst();

Um exemplo a partir da documentação

Infelizmente, minhas tentativas de sair não levaram a nada. Eu simplesmente adicionei erros relacionados aChartNext() às mensagens existentes. Eu não entendo o ponto.

 
novichok2018:

Infelizmente para mim, tentar descobrir isso não levou a nada. Apenas adicionou erros relacionados à aplicação ChartNext() às mensagens existentes. Eu não entendo o ponto.

Bem, você pode usar uma identificação gráfica constante para facilitar as coisas. Escreva um roteiro

Print(ChartID());

Execute-o na tabela na qual você quer traçar estas linhas. Em seguida, escreva este valor na função como o ID do gráfico.

E no lado bom, o exemplo da documentação, não é uma função já feita, como pegá-la e usá-la. É necessário verificar o símbolo e o período no laço. Se for encontrado o correto, então saia do laço e use o identificador obtido.

 

há uma constante no OPENCL cl_ inline e é igual a #define CL_DBL_MAX 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0, verificando o grau de dois em 1024 obtidos. 2^1024 = 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216 E então abaixo desse número está o número de pi

depois de

#define CL_M_PI 3.141592653589893115998

3.141592653589793238462643383279502884197169

explicar por que ????

 
Alexey Viktorov:

Bem, você pode usar uma identificação gráfica constante para tornar a tarefa mais fácil. Escreva um roteiro

Execute-o na tabela na qual você quer traçar estas linhas. Em seguida, escreva este valor na função como a identificação gráfica.

E no lado bom, o exemplo da documentação não é uma função já feita, basta pegá-la e usá-la. É necessário verificar no laço o símbolo e o período. Se for encontrado o correto, então saia do laço e use o identificador obtido.

Obrigado. Tudo funcionou com o roteiro, ele desenha as linhas.