[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 416
Por que será que os valores do contador precisam ser alterados duas vezes no loop? E por alguma razão não há atribuição (preliminar) de S2. Este valor no início é 0, e somente na segunda iteração (mais precisamente na terceira) vai a comparação do valor real (depende de como contar a partir de zero ou de um).
Não há atribuição, pois a enumeração começa com o valor mínimo da área que é estritamente positiva, portanto 0 é suficiente. Onde os valores do contador mudam pela segunda vez?
Eu também me pergunto o que você está procurando. Há outras opções para encontrar a área máxima. Como a analítica.
O problema não é nada disso. É uma tarefa simples usada como exemplo de como funciona o operador do break. Eu preciso saber porque você não pode escrever para(int i=1, j=499; i<500; i++,j--) se você não comprometer as variáveis i,j antes do loop para escrever programas corretos mais tarde!
VladimirR: Esse não é o problema de forma alguma. Esta é uma tarefa simples usada como exemplo de como funciona o operador do break. Preciso saber porque você não pode escrever para(int i=1, j=499; i<500; i++,j--) se você não comprometer as variáveis i,j antes do loop a fim de escrever os programas corretos mais tarde!
É provavelmente um bug no compilador.
Ele não compila dessa forma:
for( int i=1, j=499; i<500; i++,j--) //последовательный перебор значений площади
É assim que ele se compila:
int i, j;
for( i=1, j=499; i<500; i++,j--) //последовательный перебор значений площади
E é assim que ele se compila:
int i=1, j=499;
for( ; i<500; i++,j--) //последовательный перебор значений площади
Pessoal, por que é tão difícil me responder ou você simplesmente não quer responder? Você está resolvendo essas porcarias aqui, mas é preguiçoso demais para ajudar a escrever parte do código. Vou tentar perguntar mais uma vez, se você não me ajudar, irei a cursos, estou cansado de lhe implorar aqui.
Mais uma vez: após a EA ter sido anexada ao gráfico com o primeiro tick, ela fixa o preço Ask. Então, durante a negociação, assim que o preço aumenta, digamos, 10% (é claro que não pode ser, é figurativo), a EA deve notificar um comerciante com a mensagem "O preço aumentou em 10%".
Por favor, ajude-me a tirar o número RiskReward do indicador. Eu não consigo colocá-lo em meu Conselheiro Especialista.
Percorra todos os objetos no gráfico, encontre um objeto chamado lbl, retire dele a string FXRanger: Risk:Reward=x.xxx, analise-o e converta x.xxx para o dobro.
Olá. Mais uma vez, não posso resolver o exemplo do tutorial.
Tarefa 17. Há 1.000 ovelhas na primeira fazenda. A cada dia o número de ovelhas na primeira fazenda aumenta em 1%. No dia em que o número de ovelhas na primeira fazenda chega a 50.000, 10% das ovelhas são transferidas para a segunda fazenda. Quanto tempo levará para que o número de ovelhas na segunda fazenda chegue a 35.000? (Assumir que há 30 dias úteis no mês).
//--------------------------------------------------------------------// othersheep.mq4// Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------------intstart()// Специальная ф-ия start(){//--------------------------------------------------------------------intday, // Текущий день месяцаMons; // Искомое количест. месяцевdoubleOne_Farm =1000.0, // Количество на 1 фермеPerc_day =1, // Ежедневный подъём, %One_Farm_max=50000.0, // Пороговое значениеPerc_exit =10, // Разовый вывод, %Purpose =35000.0, // Необх. колич. на 2 фермеTwo_Farm; // Количество на 2 ферме//--------------------------------------------------------------------while(Two_Farm < Purpose)// До достижения цели{// Начало тела внешн. цикла//--------------------------------------------------------------for(day=1; day<=30 && Two_Farm < Purpose; day++)// Цикл по дням {One_Farm=One_Farm*(1+Perc_day/100);//Накопл. на 1 фермеif(One_Farm < One_Farm_max)// Если меньше допустимого,.continue; // .. то овец не переводимTwo_Farm=Two_Farm+One_Farm*Perc_exit/100;//Накопл. на 2 фермеOne_Farm=One_Farm*(1-Perc_exit/100); //Остаток на 1 ферме}//--------------------------------------------------------------if(Two_Farm>=Purpose)// Если цель достигнута,..continue; // .. то месяцы не считаемMons++; // Считаем месяцы}// Конец тела внешнего цикла//--------------------------------------------------------------------Alert("Цель будет достигнута через ",Mons," мес. и ",day," дн.");
return; // Выход из функции start()}//-------------------------------------------------------------------
Neste exemplo, a saída do laço
for(day=1; day<=30 && Two_Farm < Purpose; day++)// Цикл по дням
O "dia extra" é sempre adicionado, ou seja, um dia para o qual nenhum cálculo é realizado é adicionado, mas como o ciclo é aninhado, o "dia extra" permanece.
Toda vez que o controle volta a ele, os dias são recontados novamente, portanto não é essencial. Mas quando o laço é encerrado
while(Two_Farm < Purpose)// До достижения цели
o "dia extra" permanece. E como resultado, a resposta errada será impressa.
Você pode me dizer se o meu raciocínio está correto ou se eu recebi algo errado?
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Essa opção também não funciona
O que será que você está procurando? Há outras opções para encontrar a área máxima. Por exemplo, analítico
Por que será que os valores do contador precisam ser alterados duas vezes no loop? E por alguma razão não há atribuição (preliminar) de S2. Este valor no início é 0, e somente na segunda iteração (mais precisamente na terceira) vai a comparação do valor real (depende de como contar a partir de zero ou de um).
Eu também me pergunto o que você está procurando. Há outras opções para encontrar a área máxima. Como a analítica.
Esse não é o problema de forma alguma. Esta é uma tarefa simples usada como exemplo de como funciona o operador do break. Preciso saber porque você não pode escrever para(int i=1, j=499; i<500; i++,j--) se você não comprometer as variáveis i,j antes do loop a fim de escrever os programas corretos mais tarde!
É provavelmente um bug no compilador.
Ele não compila dessa forma:
É assim que ele se compila:
E é assim que ele se compila:
Olá a todos!!!
Por favor, ajude-me a tirar o número RiskReward do indicador. Eu não consigo colocá-lo em meu Conselheiro Especialista.
Olá a todos!!!
Por favor, ajude-me a tirar o número RiskReward do indicador. Eu não consigo colocá-lo em meu Conselheiro Especialista.
Onde está o código fonte?
Pessoal, por que é tão difícil me responder ou você simplesmente não quer responder? Você está resolvendo essas porcarias aqui, mas é preguiçoso demais para ajudar a escrever parte do código. Vou tentar perguntar mais uma vez, se você não me ajudar, irei a cursos, estou cansado de lhe implorar aqui.
Mais uma vez: após a EA ter sido anexada ao gráfico com o primeiro tick, ela fixa o preço Ask. Então, durante a negociação, assim que o preço aumenta, digamos, 10% (é claro que não pode ser, é figurativo), a EA deve notificar um comerciante com a mensagem "O preço aumentou em 10%".
Olá a todos!!!
Por favor, ajude-me a tirar o número RiskReward do indicador. Eu não consigo colocá-lo em meu Conselheiro Especialista.
Ajuda a consertar se as ordens forem abertas com SL, e se houver duas ordens opostas, para a segunda remove SL...., mas isso não é necessário
Obrigado
Olá. Mais uma vez, não posso resolver o exemplo do tutorial.
Tarefa 17. Há 1.000 ovelhas na primeira fazenda. A cada dia o número de ovelhas na primeira fazenda aumenta em 1%. No dia em que o número de ovelhas na primeira fazenda chega a 50.000, 10% das ovelhas são transferidas para a segunda fazenda. Quanto tempo levará para que o número de ovelhas na segunda fazenda chegue a 35.000? (Assumir que há 30 dias úteis no mês).
Neste exemplo, a saída do laço
O "dia extra" é sempre adicionado, ou seja, um dia para o qual nenhum cálculo é realizado é adicionado, mas como o ciclo é aninhado, o "dia extra" permanece.
Toda vez que o controle volta a ele, os dias são recontados novamente, portanto não é essencial. Mas quando o laço é encerrado
o "dia extra" permanece. E como resultado, a resposta errada será impressa.
Você pode me dizer se o meu raciocínio está correto ou se eu recebi algo errado?