[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 976
Está funcionando!!! É que eu estava encontrando muitas coisas desnecessárias, e não sei como erradicar as coisas desnecessárias.
O que o faz pensar que há muita coisa desnecessária? Se alguém já escreveu o que você precisa, então não escreveu muito, não é mesmo? E é provavelmente para que este "desnecessário" não seja o dinheiro de seu depósito... O que você acha? Ou talvez você deva oferecer, e o mais importante - mostrar o que você pensa ser supérfluo. Caso contrário, você deve ir a um fórum telepático.
e a primeira flecha pode ser encontrada e depois sair do laço?
Qual deles é? Qualquer um deles? Ou ambos, mas apenas o primeiro?
Se alguma primeira flecha for necessária, então saia do loop quando for encontrada, mas se ambas as flechas forem necessárias, então o loop, ou melhor, a busca dentro do loop, precisa ser reescrita.
Este código não fará nada de útil - toda vez que uma seta for encontrada no laço, ele atribuirá às variáveis BarWithArrowUP e BarWithArrowDN o número da barra onde a seta for encontrada. Cabe a você decidir como lidar com eles. Você pode criar uma matriz onde você salvará as barras com flechas para cima e para baixo e, em seguida, tirar o número de barras de flechas dessas matrizes de flechas, ou você pode, ou você pode, o que você quiser... :)
Seu código encontrará a primeira seta desde o início do laço. break quebrará o loop e só será necessário retornar se for uma função e retornará o valor do buffer de seta encontrado, não o número da barra em que esta seta está.
oops...então eu escrevi bem ?
Eu não preciso do número do bar.
Preciso de qualquer uma das primeiras flechas e esse valor para me lembrar.
Sobre Return.... Este valor entre parênteses será a seta ? (Este valor pode ser visto, sentido, tocado de alguma forma? Ou é simples, pois há ou não tensão na tomada? Isso é zero e um ?)
Com relação ao meu código, quero esclarecer melhor a sintaxe
Qual é a ordem de substituição de barras em vez de i no iCustom
for (i=0; i<nBars; i++) {
DataIndUP = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вверх, i)
DataIndDN = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вниз, i)
Por exemplo, todas as barras para a primeira função seta para cima são pesquisadas e depois as mesmas barras são pesquisadas para a função para baixo...? Quero dizer, eu queria perguntar, o valor da seta para cima e para baixo na barra selecionada é calculado simultaneamente?
E qual é a ordem de substituição de barras em vez de i no iCustom
Então eu queria perguntar, o valor da seta para cima e para baixo na barra selecionada é calculado ao mesmo
tempo?
O indicador, se ele desenha setas através de um buffer, só pode emitir setas diferentes com buffers diferentes. Portanto, a seta para cima é emitida por um buffer, a seta para baixo por outro. A fim de detectar e encontrar ambas as flechas, ambos os amortecedores devem ser verificados.
No loop, logo no início, os valores na barra 0 são verificados em i=0; na próxima iteração do loop, a primeira barra é verificada em i=1, depois a segunda, terceira, e assim por diante, até i=nBars-1
No laço, os valores de ambos os amortecedores são verificados a cada iteração do laço.
double DataIndUP, DataIndDN;
int i, GlobalFlag, nBars = 250 ; // nBars = количество проверяемых баров вглубь историиfor (i=0; i<nBars; i++)
{
DataIndUP = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вверх, i)
DataIndDN = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вниз, i)
if (DataIndUP !=EMPTY_VALUE) // или if (DataIndUP !=0) // найдена стрелка вверх
// всё зависит от того, что выдаёт буфер при отсутствии стрелки // нажмите Ctrl+D и посмотрите что вам в окне данных будет показано
GlobalFlag=+1 // присвоение значения +1(стрелка вверх) переменной
Break; //выход из цикла, так как нашлась последняя стрелка
if (DataIndDN !=EMPTY_VALUE) // или if (DataIndDN !=0) // найдена стрелка вниз
// всё зависит от того, что выдаёт буфер при отсутствии стрелки // нажмите Ctrl+D и посмотрите что вам в окне данных будет показано
GlobalFlag=-1 // присвоение значения -1(стрелка вниз) переменной
Break; //выход из цикла, так как нашлась последняя стрелка
}
Esta construção com GlobalFlag assinada e Break operadora irá funcionar?
Mas antes disso, no bloco onde as variáveis são inicializadas, esta variável também deveria ser inicializada? E dê tipo int a ?????
Escolha o correto.
Está funcionando!!! É que eu estava encontrando muitas coisas desnecessárias, e não sei como erradicar as coisas desnecessárias.
Obrigado!
e a primeira flecha pode ser encontrada e depois sair do laço?
Qual deles é? Qualquer um deles? Ou ambos, mas apenas o primeiro?
Se alguma primeira flecha for necessária, então saia do loop quando for encontrada, mas se ambas as flechas forem necessárias, então o loop, ou melhor, a busca dentro do loop, precisa ser reescrita.
Em algum lugar como este...
Este código não fará nada de útil - toda vez que uma seta for encontrada no laço, ele atribuirá às variáveis BarWithArrowUP e BarWithArrowDN o número da barra onde a seta for encontrada. Cabe a você decidir como lidar com eles. Você pode criar uma matriz onde você salvará as barras com flechas para cima e para baixo e, em seguida, tirar o número de barras de flechas dessas matrizes de flechas, ou você pode, ou você pode, o que você quiser... :)
Seu código encontrará a primeira seta desde o início do laço. break quebrará o loop e só será necessário retornar se for uma função e retornará o valor do buffer de seta encontrado, não o número da barra em que esta seta está.
oops...então eu escrevi bem ?
Eu não preciso do número do bar.
Preciso de qualquer uma das primeiras flechas e esse valor para me lembrar.
Sobre Return.... Este valor entre parênteses será a seta ? (Este valor pode ser visto, sentido, tocado de alguma forma? Ou é simples, pois há ou não tensão na tomada? Isso é zero e um ?)
Com relação ao meu código, quero esclarecer melhor a sintaxe
para (int i=0; i<Bars(); i++)
{
sinal = iCustom (NULL,0 e assim por diante... para cima... para cima... para cima...)
// aqui também devemos adicionar uma verificação de buffer tanto para a linha superior quanto para a linha inferior, como você faz ?
signal2=iCustom (NULL,0 e assim por diante... down arrow buffer )
// e aqui ainda precisamos marcar se (sinal ||| signal2>0) para lembrar o valor e sair do laço.
Nossa...algo me deixou confuso... como sair em retorno se temos sinal e sinal2 o que sair deles, se for mais do que zero ???
{ // aqui é onde são necessários parênteses ???
retorno(sinal)
}
intervalo
}Qual é a ordem de substituição de barras em vez de i no iCustom
E qual é a ordem de substituição de barras em vez de i no iCustom
Então eu queria perguntar, o valor da seta para cima e para baixo na barra selecionada é calculado ao mesmotempo?O indicador, se ele desenha setas através de um buffer, só pode emitir setas diferentes com buffers diferentes. Portanto, a seta para cima é emitida por um buffer, a seta para baixo por outro. A fim de detectar e encontrar ambas as flechas, ambos os amortecedores devem ser verificados.
No loop, logo no início, os valores na barra 0 são verificados em i=0; na próxima iteração do loop, a primeira barra é verificada em i=1, depois a segunda, terceira, e assim por diante, até i=nBars-1
No laço, os valores de ambos os amortecedores são verificados a cada iteração do laço.
Esta construção com GlobalFlag assinada e Break operadora irá funcionar?
Mas antes disso, no bloco onde as variáveis são inicializadas, esta variável também deveria ser inicializada? E dê tipo int a ?????
De qualquer forma. Tenho uma idéia para um robô. Não posso escrever o programa eu mesmo, mas se você estiver interessado, me avise.
De qualquer forma. Tenho uma idéia para um robô. Não posso escrever o programa sozinho, é claro. Se você estiver interessado, assobie.
Você acha que vai ser assobiado? Mais como vaiar... :)
Jogue a idéia lá fora e veja se as pessoas vão aparecer (se a idéia for boa) ... E por uma taxa acordada pode até ser um pouco mais ativo ... :)
De qualquer forma. Tenho uma idéia para um robô. Não posso escrever o programa eu mesmo, mas se você estiver interessado, me avise.