Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 814

 
evillive:
Erro meu, vou compensá-lo.
Tudo bem, isso acontece! Mas você não pode ver sua sorte sem erros! ;)
 
CJIeCaPb:

Ahh, apontou errado, sim).

Voltar a verificar separadamente. Somente o bilhete de venda estava errado. Verifiquei o resto também: pedidos, comparações, modificações. Mas eu ainda tenho um estupor depois de fazer pedidos. Tudo funcionou bem por si só.

*Condições para entrar se(MA=MA1), está errado? Porque =, não é um sinal de condição, o sinal correto é "==", mas se eu o escrevi dessa forma o Expert Advisor não faz absolutamente nada. As outras variantes: ">=", "<=", "<=", "<", ">" que e "=" levam à colocação de pedidos e mais estupor.

Certamente não é verdade, embora o compilador irá corrigi-lo, mas quem sabe se ele irá corrigi-lo ou não? Talvez ele substitua == ou !=, ou talvez não conserte nada, mas simplesmente ignore a verificação e a coloque sempre em prática.

Compilar o código com #propriedade rigorosa, há muito mais a corrigir.

Se for necessário verificar um cruzamento de 2 MA, este não é verificado por igualdade. O critério deve ser algo como "se MA1(2)<MA(2) e MA1(1)>MA(1) - então o segundo MA cruzou o primeiro para cima na vela anterior". E a igualdade pode esperar por um ano.

E o que é, de acordo com você?

Além disso:

 //+------------------------------------------------------------------06-----------------------------------------------

//Buy

while(OrderType()==1)//Buy (а вот нифига, бай = 0)

и чуть ниже
//--------------------------------------------------------------------------
//Sell
while(OrderType()==2) //опять же, селл = 1
 

Como organizar um conjuntode tipos de int com valores de 1 bilhão e depois ordená-lo? Por favor, me dê um exemplo.

Até agora, com os meios padrão da MQL4 eu posso organizar uma série de números int com apenas 2 milhões de valores.

 
solandr:

Como organizar um conjunto de tipos de int com valores de 1 bilhão e depois ordená-lo? Por favor, me dê um exemplo.

Até agora, com os meios padrão da MQL4 eu posso organizar uma série de números int com apenas 2 milhões de valores.

É uma boa idéia. Por favor, calcule o tamanho da memória necessária
 
Vinin:
Bom desejo. Por favor, calcular a quantidade de memória necessária
O problema é claro. Mas como resolvê-lo? Existem outras formas além da criação direta de uma matriz? Ou seja, como resolver 1 bilhão de valores? Ou é impossível pensar em uma solução na MQL4?
 
evillive:

É claro que não é correto, embora o compilador o corrija, mas quem sabe se é correto ou não? Ou pode substituir == por != ou não corrigi-lo, mas simplesmente ignorar o cheque e colocá-lo sempre em ordem.

Compilar código com #propriedade rigorosa, há muitas coisas a corrigir.

Se você precisar verificar o cruzamento de 2 MA, não é verificado por igualdade, o critério deve ser algo como "se MA1(2)<MA(2) e MA1(1)>MA(1) - então o segundo MA cruzou o primeiro para cima na vela anterior". E a igualdade pode esperar por um ano.

E o que você pensa enquanto (verdadeiro) é?

Além disso:


while(true) - um loop onde eu pego a tendência:

-se uma ordem rompe uma parada (Tempo>0) eu a coloco no mesmo lugar onde ela estava;

- se atingir um certo nível(NormalizeDouble(OrderOpenPrice()+TP*Point,Digits)<=NormalizeDouble(Ask,Digits)), então entra em outro loop (onde a condição é o tipo de ordem) onde o lucro é calculado em pontos e é modificado dependendo disso.

Com relação à condição ""Se MA1(2)<MA(2) e MA1(1)>MA(1) - o segundo MA cruzou o primeiro para cima na vela anterior"". Os números entre parênteses significam velas? Aqui está minha variante MA>Open[0] || MA<Open[0], será que vai funcionar?

#propriedade erros rigorosos prescritos e corrigidos.

Mudei a forma de obter lucro em pontos: a diferença obtida entre o preço atual e o preço aberto é dividida por Ponto (linha 217 e 271).

Eu fiz conversões de tipo em linhas: 218, 272, 369. É correto?

Dois erros apareceram:

possível uso da variável não-inicializada 'Prof' Test3.mq4 222 15

possível uso da variável não-inicializada 'Prof' Test3.mq4 275 15

Arquivos anexados:
test3_6.mq4  15 kb
 

caros especialistas....recentemente começou a aprender mql4 basics....i tem uma pergunta para você....let's say i have a main indicator and filters.... if one condition on the main indi is fulfilled, then certain conditions from filters should coincide with it, but if another condition is fulfilled on the main indi, then filters should have other conditions.......Preciso disto para abrir um negócio...Posso usar o |||assinar nesta situação ou ainda não posso...qualquer resposta, por favor explique de uma forma compreensível pois ainda sou um tolo...Respeitosamente!

 
kempo102938:

caros especialistas....recentemente começou a aprender mql4 basics....i tem uma pergunta para você....let's say i have a main indicator and filters.... if one condition on the main indi is fulfilled, then certain conditions from filters should coincide with it, but if another condition is fulfilled on the main indi, then filters should have other conditions.......Preciso disto para abrir um negócio...Posso usar o |||assinar nesta situação ou ainda não posso...qualquer resposta, por favor explique de uma forma compreensível pois ainda sou um tolo...Respeitosamente!

Decida-se. Você quer um "AND" ou um "OR".
 
Taak.... o indicador principal mostra as barras do gráfico em 5 cores diferentes (verde, azul, vermelho, laranja, cinza). Vender comércio: O índio principal mostra uma barra cinza-->os filtros mostram seus sinais-->o comércio é aberto. Se o corante principal mostra uma barra laranja...>filtros mostram outros sinais.... etc. Como faço para prescrever corretamente no código para que as negociações não se repitam, pois com cada vela a cor do índio principal pode saltar "para frente e para trás"...espero ter explicado bem o problema...Respeitosamente!
 
CJIeCaPb:

while(true) - um loop onde eu pego a tendência:

E quando você acha que este loop deve fechar?

if(R==0)
{
 while(true)
 {
  Sleep(30000);
  Alert("Ошибка!");
 }
}

?

CJIeCaPb:

Sobre a condição ""Se MA1(2)<MA(2) e MA1(1)>MA(1) - o segundo MA cruzou o primeiro MA para cima na vela anterior"". Os números entre parênteses significam velas? Aqui está minha variante MA>Open[0] || MA<Open[0], será que serve?

Sim, o número da vela entre parênteses é a vela para a qual o valor de MA é tomado. Sim, isso se refere ao preço de abertura.

CJIeCaPb:

Mudei o método de obter lucro em pontos: a diferença obtida entre o preço atual e o preço aberto é dividida por Ponto (linha 217 e 271).

Eu fiz conversões de tipo em linhas: 218, 272, 369. É correto?

A variável Lucro (a ser declarada como inteiro) é suficiente para calcular o lucro em pips, as outras duas são redundantes:

 if(NormalizeDouble(Ask,Digits) <= NormalizeDouble(OrderOpenPrice(),Digits))
 {
  Profit = (int)((NormalizeDouble(OrderOpenPrice(),Digits)-NormalizeDouble(Ask,Digits))/Point);

  Profo = Profit/Point;
   Prof= (int)Profo;
 }
   
 if(OldProfit>Prof  Profit )
  continue;
 else
  OldProfit=Prof  Profit ; //ну и так далее, где профит считается

E há muitas redes de arrasto com rodas retangulares em kodobase, por que eu deveria inventar um lissapet com rodas retangulares?