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

 
Olá, gostaria de saber se existe um roteiro normal para baixar e sincronizar o histórico de citações para o MT5.ex5 e tudo estava bem, o scanner funcionava, dava sinais, tudo funcionava bem, mas ontem depois do almoço como cortado, o scanner apenas parou de ver a história e, portanto, procurar pontos de entrada de acordo com a estratégia e dar sinais, eu pensei que o assunto está no scanner, mas consegui algumas versões e parei de exibir sinais em todas elas, consegui meu amigo e limpei o terminal, em vão, apaguei-o com todas as informações, reinstalei-o e quando comecei a usar o script para carregar o histórico, abri a aba de especialistas e vi que só havia erros ao carregar o histórico, escrevi para o suporte do corretor, eles me disseram que recentemente os engenheiros tinham atualizado o MT% e talvez o algoritmo do script tenha ficado confuso tentei perguntar aqui o que fazer e se existem outros scripts para o histórico das citações, devo dizer imediatamente que tentei usar o prazo de um mês para baixar as citações, foi inútil, muito obrigado com antecedência.
 
82Dmitry82:
Olá, gostaria de saber se existe um roteiro normal para carregar e sincronizar o histórico de cotações para o MT5.ex5 e tudo estava bem, o scanner funcionava, dava sinais, tudo funcionava bem, mas ontem depois do almoço como cortado, o scanner apenas parou de ver a história e, portanto, procurar pontos de entrada de acordo com a estratégia e dar sinais, eu pensei que o assunto está no scanner, mas Tenho algumas versões dele e parei de dar sinais para todos eles, tanto para mim quanto para meu amigo, esvaziei o terminal, não adianta, apaguei com todas as informações, reinstalei-o e quando comecei a carregar o histórico com o script, abri a aba de especialistas e vi que só havia erros ao carregar o histórico, escrevi para o suporte do corretor, eles responderam que recentemente no MT% que poderia ter sido atualizado e o algoritmo está confuso no script, ele dá um histórico de carregamento desse tipo,peço desculpas pelo grande número de cartas, apenas tentei explicar a situação em detalhes, o apoio do corretor se recusou a ajudar, eles dizem que não somos nós, e metaquotes, você não pode escrever para eles, eles não têm feedback, então decidi perguntar aqui o que fazer e se há outros scripts para o histórico de cotações, devo admitir que tentei usar o TF mensal para baixar cotações, sem uso, obrigado antecipadamente.

Não vou dizer nada, mas esta é a única empresa onde tive problemas com dados históricos ao cumprir um de meus pedidos - estava ligado e desligado.

Eu estava procurando as razões até dizer ao cliente para testá-lo com citações de outros corretores. E tudo acabou por ficar bem ali.

Se você tentou carregar as cotações em intervalos de tempo mensais, foi inútil.

 
 
Seric29:
Os caras ajudam com esta ediçãohttps://www.mql5.com/ru/forum/160683/page934#comment_12795598

você não tem um exemplo completo, poste o código reproduzível, ou seja, um modelo de classe completo e um exemplo de código no qual você cria um objeto usando este modelo, até agora apenas "telepatas em férias" .... suspeito que o código simplesmente não compila, muitos pontos de disputa em seu modelo, posso não ver a lógica nele

 
Artyom Trishkin:

Não vou dizer nada, mas esta é a única empresa onde tive problemas com dados históricos ao cumprir um de meus pedidos - estava ligado e desligado.

Eu estava procurando as razões até dizer ao cliente para testá-lo com citações de outros corretores. E tudo acabou por ficar bem ali.

A razão é que é proibido discutir os corretores sobre este recurso, vamos deixar as coisas assim.

Aí é que está, eles não têm tido problemas há mais de seis meses. Eu tentei usá-lo por alguma razão, o nosso usa um bargraph makdi, parece ser o problema, pelo menos quando eles queriam encomendar QuickBooks a resposta foi negativa após a revisão dos TOR, todos descansaram sobre os indutores da plataforma embutida, apenas IMb às vezes em hibernação e a América dá ao trabalho

 
Igor Makanu:

você não tem um exemplo completo, poste o código reprodutível, ou seja, um modelo de classe completo e um exemplo de código no qual você cria um objeto usando este modelo, até agora apenas "telepatas de férias" .... Suspeito que o código simplesmente não compila, há muitos pontos questionáveis em seu modelo, talvez eu não veja a lógica nele

Deveria funcionar desta forma.

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

#define  templ(T)          template<typename T>// задача данного макроса определять int bool double и т.д

//Далее пишем макрос который будет принимать массив и возвращать
//результат с помощью вызова перегружаемой функции которая будет вызываться из класса, но в моём примере вписана простая функция,
// я 3 дня посидел и выяснил что макрос может принимать массивы любой размеренности  в принципе об этом написано в справке что макрос может принимать эл. любого типа
#define  Vosmas(a,b,c,d,e) /*return*/(Fun(a,b,c,d,e))//a- массив, 
                                                    //b- номер строки если нужен
                                                    //c,d- номера измерений если нужны и массив многомерный

int Mas[2],Mas2[2][2],Mas3[2][2][2];//объявил массивы которые будут хранить информацию// обработка с помощью классов должна быть любого типа templ(T)

int OnInit()
{int Perem=0;
//макрос должен вызвать функцию из класса и сделать следующее/ в моём примере будет простая функция
 Perem=Vosmas(Mas,0,0,0,3);
 Print("Vosmas: ",Perem);//результат 3
return(INIT_SUCCEEDED);}

templ(T)class CData{
public:CData(){};~CData(){};
       //перегружаемая функция Total() с наращиваемым количеством аргументов, не знаю будет ли оно наращивать аргументы вроде записывается но когда дойдёт до расчётов увидим
       //хотелось бы с этим разобраться 
       //а также делать такую перегрузку 
       T Total(T &mas[]    ,int y1=0 ...){return(mas[y1]);}  //y2 весит в холостую  
       T Total(T &mas[][]  ,int y1=0 ...){return(mas[y1][y2]);}
       T Total(T &mas[][][],int y1=0 ...){return(mas[y1][y2][y3]);}};
       
         
templ(T) T Fun(T &a[],int b,int c,int d,int e){a[b]=e; return (a[b]);}// оставшиеся аргументы будут висеть в холостую

Em geral, quero alcançar este efeito, mas nenhuma experiência na área das aulas. O código compila e funciona

 
Seric29:

Deveria funcionar desta forma.

Infelizmente eu não entendo a lógica deste código, não consigo nem imaginar por que você declararia palavras-chave da linguagem por substituição macro,

E por lógica, duvido que você tenha acesso a uma matriz multidimensional desta forma, acho que seu exemplo simplesmente não compilou um modelo e, portanto, você não recebeu um erro de tempo de compilação,

Não sou grande ajuda, talvez outra pessoa possa descobrir seu exemplo

 
Igor Makanu:

Infelizmente eu não entendo a lógica deste código, não consigo nem imaginar porque você usaria a substituição de macros para declarar palavras-chave da linguagem,

E por lógica, duvido que você tenha acesso a uma matriz multidimensional desta forma, acho que seu exemplo simplesmente não compilou um modelo e, portanto, você não recebeu um erro de tempo de compilação,

Não sou grande ajuda, talvez outra pessoa possa descobrir o seu exemplo.

O código compila, mas não está terminado, o objetivo é obter este resultado

return(mas[y1]);

Preciso chamar uma função da classe e obter este valor.

 
Seric29:

O código compila, mas não está terminado.

novamente: só porque você não recebeu um erro de compilação não significa que sua classe template foi incluída - onde está o objeto da classe CData ? - Eu vejo um modelo de declaração, onde está a variável? - objeto ?

se você "precisa vitalmente" resolver a questão, então faça um código totalmente reprodutível - completamente sem ..... comentários a seu critério e novamente, não entendo a lógica de usar a substituição de macros

#define  templ(T)          template<typename T>

talvez essa seja a "essência", eu raramente uso macros, pelo menos se eu usar uma macro eu entendo o que ela eventualmente faz, no seu exemplo é um mistério para mim

 
Igor Makanu:

novamente: só porque você não recebeu um erro de compilação não significa que sua classe template foi incluída - onde está o objeto da classe CData ? - Eu vejo um modelo de declaração, mas onde está essa variável? - objeto ?

se você "precisa vitalmente" resolver a questão, então faça um código totalmente reprodutível - completamente sem ..... comentários a seu critério e novamente, não entendo a lógica de usar a substituição de macros

talvez essa seja a questão, eu raramente uso macros, pelo menos se eu usar uma macro eu entendo o que ela eventualmente faz, no seu exemplo é um mistério para mim

A tarefa de macro chamar uma função da classe e passar o valor para a função e, como macro pode tomar uma variedade de qualquer dimensão, estou tentando fazer um esquema desse tipo. Claro que muitas gemas, mas eu preciso chamar a função da classe e não sei como chamar uma simples função da classe (no meu caso, o método Total não tem descrição) não está escrito no Help, há exemplos complexos de transferência.

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

#define  templ(T)          template<typename T>// задача данного макроса определять int bool double и т.д

#define  Vosmas(a,b,c,d,e)  5

int Mas[2],Mas2[2][2],Mas3[2][2][2];//объявил массивы которые будут хранить информацию// обработка с помощью классов должна быть любого типа templ(T)

int OnInit()
{int Perem=0;
Perem=Vosmas(Mas,0,0,0,0);
Print("Vosmas: ",Perem);
Perem=Vosmas(Mas2,0,0,0,0);
Print("Vosmas: ",Perem);
Perem=Vosmas(Mas3,0,0,0,0);
Print("Vosmas: ",Perem);//во всех случаях результат 5
return(INIT_SUCCEEDED);}

Aqui está um exemplo de uma macro que toma uma variedade de qualquer dimensão, é ruim que os desenvolvedores tenham cortado essas características trabalho normal com elementos complexos

Você pode fazer isso sem um modelo, mas é melhor com um modelo.

Razão: