[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 218

 
ViktorF:

Quando a EA está em funcionamento, esses erros estão aparecendo:

Houve momentos em que as ordens não fecharam ou não abriram em certos pontos.

Em que medida as falhas de fechamento/abertura estão relacionadas a esses erros? Como evitá-los (de preferência sem a substituição do terminal MT5)?

Veja aqui e aqui... e aqui...

Por que não digitar o nome do erro na caixa de busca e obter a resposta imediatamente?

 
Roman.:


Proibir seu corretor de fazer comércio automatizado para você por pedidos frequentes em comércio real - você só terá que fazer comércio por telefone.

Modificar os pedidos após um certo número de pontos (intervalo), por exemplo, 50 ou 100 - isto é, com um pentâmetro (digamos, quando o preço se mover na sua direção - modifique o pedido), e tudo ficará bem. :-))) IMHO, é claro.

Um...


Aprovar totalmente...
 

Boa tarde! Citação do livro didático:

Uma ou mais constantes podem ser puladas na seqüência de inicialização. Neste caso, os elementos de array correspondentes dos tipos numéricos são inicializados com zero, e os elementos de array do tipo string são inicializados com valor de string "" (abertura e fechamento de aspas duplas sem espaço), ou seja, string vazia (não confundir com espaço).

Pergunta 1: O que acontece por elementos do tipo bool quando um espaço é omitido?

A idéia é a seguinte: criamos um conjunto unidimensional de bandeiras de parâmetros de abertura comercial, daí

bool Open[20] {par1,par2,par3....,par20}

if (MA1>MA2) par1=verdadeiro;

se (MA7>MA8) par2=verdadeiro; ...

if (ma33>ma55) par20=verdadeiro;

Quem já encontrou tais soluções - aconselhar:

2- a direção está correta?

3- como escrever mais variantes de parâmetros como se (Abrir [12] {1,0,0,1,1...,0 } ) OrderSend() etc. - certo?

 
ilmur:

ajuda, por favor... meu Expert Advisor verifica ordens abertas ...uma ordem pode ser aberta de cada vez ...mas quando eu entro em uma parada em linha reta no momento da abertura de uma ordem ele dá erro 130...por exemplo, foi assim

if(down>0)

{

ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,0,Bid-TakeProfit*Point,0,16384,0,Red);

Eu digito uma parada de tamanho 100

ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,100,Bid-TakeProfit*Point,0,16384,0,Red); ...dá erro 130 no testador

alpari...talvez eu deva modificar a ordem depois de abrir e colocar parada...aconselhar como fazer ou indicar-me onde é feito...por favor


A Alpari não abre negócios com stoplosses e takeovers
 
100yan:

A idéia é a seguinte: criar um conjunto unidimensional de bandeiras de parâmetros de abertura comercial, portanto

bool Open[20] {par1,par2,par3....,par20}

if (MA1>MA2) par1=verdadeiro;

se (MA7>MA8) par2=verdadeiro; ...

if (ma33>ma55) par20=verdadeiro;

Quem já encontrou tais soluções - aconselhar:

2 a direção é correta?

3- como escrever mais variantes de parâmetros como se (Abrir [12] {1,0,0,1,1...,0 } ) OrderSend() etc. - certo?

Em que direção e o que você quer dizer com "certo"?

e como posso dizer-lhe como acertar se não entendo o problema

 
int OrderStatus() {
   int z1=0, z2=0;  // порядок для массива
   int i, k=OrdersTotal();
      for (i=1; i<=k; i++) {
         if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketBS[z1]=OrderTicket(); // присваем массиву под 1 ячейкой первый найденный ордер тикет
            z1++;
            }
            if (OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketSS[z2]=OrderTicket();
            z2++;
            }
         }
      }
}
Quem pode ajudar, por que não atribui valores à matriz TicketBS[] e TicketSS[] ???? escreve sempre 0...
 
eddy:

Qual a direção e o que é correto?

E como posso lhe dizer como escrever algo corretamente se você não entende a tarefa em si?

1. a direção do pensamento está correta?

2. Como comparar as variantes de parâmetros com uma determinada matriz? Isto é, criar uma matriz com parâmetros corretos. Por exemplo, em vez de escrever se((MA1>MA2)&&(MA7>MA8)&& ....) devemos usar uma variante de array para abrir uma ordem do tipo12 Abrir [12] {1,1,1,0,1...,0 } onde o conjunto de parâmetros é respectivamente uma condição para abrir uma ordem do tipo12.

 

тип12 Open [12] {1,1,1,0,1...,0 }

O que é isto? Os elementos das matrizes personalizadas são variáveis, mas você tem um corpo aqui por alguma razão (aparelho encaracolado).

 
eddy:

O que é isto? Os elementos de uma matriz personalizada são variáveis, e você tem um corpo aqui por alguma razão (aparelho encaracolado).


Inicialização de uma matriz


Uma matriz só pode ser inicializada com constantes do tipo apropriado. As arrays unidimensionais e multidimensionais são inicializadas com uma seqüência de constantes separadas por vírgulas. A seqüência é encerrada por um aparelho de amarrar:
bool Mas_b[5] = { falso, verdadeiro, falso, verdadeiro, verdadeiro }

 
Você quer se lembrar dos parâmetros para abrir uma ordem? Para isso, você teria que ter várias variáveis bool para cada parâmetro para verificar se o mercado corresponde a eles
Razão: