[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 453

 
VOLDEMAR:

Você tem alguma idéia do porquê?

Talvez devêssemos fazer livros didáticos adequados ???

Talvez fazer um ensino adequado ????

Talvez escrever estas coisas em algum lugar?

Talvez então as perguntas desapareçam?

E você não terá que responder mais 100500 perguntas estúpidas!

Se existem tais perguntas, a culpa não é do estudante, a culpa é sua! Você não o descreveu em nenhum lugar!!!

Não está escrito na ajuda, não está escrito como traduzir de int para double.

Mas diz que se você atribuir o tipo duplo ao int, a parte fracionária será apagada,

Uma pessoa normal concluiria logicamente que se o int for atribuído ao dobro, apenas um ponto com um determinado número de zeros será adicionado...

Assim, é assim ....

Na verdade, está no livro STUDY! É até mesmo destacado!
 

Olá a todos. Sou bastante novo em programação. Tenho uma pergunta muito simples.

Eu preciso de um EA para abrir um negócio quando os preços cruzarem MA, não na próxima vela, mas no mesmo momento, sem esperar pelo fechamento da vela, a produção não é importante

Agradecemos antecipadamente

 
VOLDEMAR:

Você tem alguma idéia do porquê?

Talvez devêssemos fazer livros didáticos adequados ???

Talvez fazer um ensino adequado ????

Talvez escrever estas coisas em algum lugar?

Talvez então as perguntas desapareçam?

E você não terá que responder mais 100500 perguntas estúpidas!

Se existem tais perguntas, a culpa não é do estudante, a culpa é sua! Você não o descreveu em nenhum lugar!!!

Não está escrito na ajuda, não está escrito como traduzir de int para double.

Mas diz que se você atribuir o tipo duplo ao int, a parte fracionária será apagada,

Uma pessoa normal concluiria logicamente que se o int for atribuído ao dobro, apenas um ponto com um determinado número de zeros será adicionado...

Assim, é assim ....

Com quem você está falando agora? Com o moderador público Sergeev, que, junto com outros entusiastas, criou e povoou o tópico "Navegador do Fórum e Respostas às Perguntas Freqüentes" especificamente para aqueles que não leram bem a documentação?
Seu pathos parece estar deslocado neste contexto.
 
Activict:

Olá a todos. Sou bastante novo em programação. Tenho uma pergunta muito simples.

Eu preciso de um EA para abrir um negócio quando os preços cruzarem MA, não na próxima vela, mas no mesmo momento, sem esperar pelo fechamento da vela, a produção não é importante

Agradecemos antecipadamente

Não é uma pergunta, é uma declaração. Qual é a pergunta? Com antecedência, por favor.
 

Obrigado pela presteza, estou trabalhando e minha cabeça está fervendo no final do trabalho)) Aprendi mal como escrever Expert Advisors simples, mas agora tenho uma idéia e preciso de um fragmento de código para abrir uma posição quando os preços cruzam MA e abrem no momento da travessia, mas só o consegui na próxima vela. Eu gostaria que eles me mostrassem um pedaço de código, eu acredito que pode ser preciso apenas uma linha para aqueles que conhecem bem

 
Activict:

...acho que é um caso de 1 linha para aqueles que são bons nisso.

...Ou um clique para aqueles que sabem que há uma busca.
COMO você recebe um sinal para a interseção de dois MAs?
 
Activict:

Obrigado pela presteza, estou trabalhando e minha cabeça está fervendo no final do trabalho)) Aprendi mal como escrever Expert Advisors simples, mas agora tenho uma idéia e preciso de um fragmento de código para abrir uma posição quando os preços cruzam MA e abrem no momento da travessia, mas só o consegui na próxima vela. Quero que eles me mostrem um pedaço de código, acredito que ele deve levar apenas uma linha para aqueles que conhecem bem

Usar preços de barra 0 - Close[0], ma[0], Ask, Bid - numeração das barras a partir de 0. O 0-ésimo é a última barra inacabada.

Melhor ler o fórum: esta idéia já foi testada muitas vezes - você receberá muitos sinais falsos, nenhum peixe lá. Mas é possível praticar.

 
ilunga:
exatamente

Eu modifiquei um pouco o roteiro:

//+------------------------------------------------------------------------------------------+
//|                                                                     ArraySetAsSeries.mq4 |
//+------------------------------------------------------------------------------------------+
//|                         script program start function                                    |
//+------------------------------------------------------------------------------------------+
//------------------------------------ НАЧАЛО START -------------------------------------- 1 -
int start()                                                              //функция start
  {                                                                      //начало start
   double Timestart=GetTickCount();                                      //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения скрипта
   double array1[][6];                                                   //объявляем массив-источник (массив, из к-о будут скопированы данные)
   double array2[][6];                                                   //объявляем массив-приемник (массив, куда будут скопированы данные), к-й на
                                                                         //момент объявления заполнен некоторыми данными
   int element_1=ArrayCopyRates(array1);                                 //копируем данные баров текущего графика в массив array1 
   int element_2=ArrayCopy(array2,array1,0,0,WHOLE_ARRAY);               //копируем данные всех баров в пользовательский массив
   bool element_3=ArrayGetAsSeries(array2);                              //проверка: является ли массив array1 массивом-таймсерией
   bool try_1=ArraySetAsSeries(array2,false);                            //устанавливаем НАПРАВЛЕНИЕ индексирования массива  
   bool element_4=ArrayGetAsSeries(array2);                              //проверка: является ли массив array2 массивом-таймсерией
   double element=array2[0][1];                                          //получаем значение цены открытия нулевого бара
//----------------------------------------------------------------------------------------- 2 -
   Comment("\nФункция ArrayCopyRates(array1) вернула: ",element_1,
           "\nФункция ArrayCopy(array2,array1,0,WHOLE_ARRAY) вернула: ",element_2,
           "\nФункция ArrayGetAsSeries(array2) вернула: ",element_3,
           "\nФункция ArraySetAsSeries(array2;false) вернула: ",try_1,
           "\nФункция ArrayGetAsSeries(array2) вернула: ",element_4,
           "\nЦена открытия нулевого бара (т.е. бара с ИНДЕКСОМ 0) равна: ",element,
           "\nСкрипт выполнялся всего ",GetTickCount()-Timestart," миллисекунд, из них: ",
           MathFloor((GetTickCount()-Timestart)/1000)," секунд ",((GetTickCount()-Timestart)/1000-MathFloor((GetTickCount()-Timestart)/1000))*1000,
           " миллисекунд");//печать сообщения на экран
//----------------------------------------------------------------------------------------- 3 -
   return(0);                                                             //выход из start
  }                                                                       //конец start
//-------------------------------------- КОНЕЦ START -------------------------------------- 4 -

O resultado é o seguinte:


Uma pergunta surgiu naturalmente: Neste caso, copiei os dados das barras do gráfico atual em uma matriz bidimensional1 usando a função ArrayCopyRates(array1). Então na próxima linha com a função ArrayCopy(array2,array1,0,0,0,WHOLE_ARRAY) eu copiei os dados do array1 em array2. Então, usando a função ArrayGetAsSeries, eu verifiquei se array2 é uma array-timeseries. E verificou-se (como você pode ver na imagem da tela), que a matriz é uma matriz de série temporal, embora eu não a tivesse "processado" com a função ArraySetAsSeries antes.

Pergunta: por que no primeiro caso (pergunta anterior) eu precisava usar a função ArraySetAsSeries (para fazer minha array ser organizada como uma array de timeseries), enquanto neste caso eu não preciso de tal processamento.

P.S. Desculpe pela insistência, só quero entendê-la completamente, para que não fiquem "lacunas na história". Obrigado por todas as respostas anteriores.

 
VladislavVG:

Vladimir, você terá o direito de expressar toda esta histeria ao suporte técnico do terminal que você comprar. E enquanto você está usando um gratuito, agradeça aos entusiastas que descobriram isso por conta própria e aos preguiçosos como você que nem sequer querem gastar tempo procurando materiais no site e ainda assim responder algo pela centésima vez. Ninguém lhe deve nada. Eles estão tentando fazer isso por conta própria. Se você quiser que eles o incomodem, contrate um instrutor e mexa com sua cabeça. Ele lhe dará um boneco e um babete.

Vladislav com todo respeito: Se você não quer responder, não responda, se você quer responder, então responda em substância,

Você precisa fazer um curso de comunicação ou aulas de psicologia, poisas respostas são"Leia a documentação 3 vezes ao dia durante 4-5 horas".E só então saltar com um tamborim."o que você tem dito muito...

"que você tem visto muito de mim. De qualquer forma, obrigado por sua ajuda ....

 
VOLDEMAR:

Vladislav com todo respeito a você: Se você não quer responder, não responda, se você quer responder, então apenas ao ponto,

Você precisa fazer um curso de melhor comunicação ou aulas de psicologia, porque estasrespostas,"Leia a documentação 3 vezes ao dia durante 4-5 horas".E só então saltar com um tamborim."o que você tem dito muito...

"que você tem me dado muito". De qualquer forma, obrigado por sua ajuda ....

É que de seu lado parece que todo o fórum é obrigado a educá-lo incondicionalmente. Mas ninguém aqui deve nada a ninguém ou é obrigado a fazer nada. É sempre uma boa idéia ler a documentação. Mais uma razão para mantê-lo à mão e necessário.