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

 
7777877:

Você pode me dizer se há alguma maneira de despejar mais de 4 MB de código aqui (ou despejá-lo aqui em partes?) ?

Todo meu código que criei em cinco anos é de 22 megabytes. São vários milhares de indicadores, conselheiros especializados e roteiros
 
Meu código é 15 kB(tamanho de arquivo mq4 ), mas quando tento enviá-lo (usando o link srs na string com as ferramentas), recebo uma mensagem de que minha mensagem excede o tamanho e a mensagem não é enviada. Como no fundo diz que o tamanho máximo do arquivo é de 4 MB, imaginei que de alguma forma o processamento da minha pergunta está aumentando o tamanho do arquivo
 
7777877:
Meu código é 15 kB (tamanho de arquivo mq4), mas quando tento enviá-lo (usando o link srs na string com as ferramentas), recebo uma mensagem de que minha mensagem excede o tamanho e a mensagem não é enviada. A linha abaixo diz que o tamanho máximo do arquivo é de 4 MB, então imaginei que de alguma forma, no processamento da minha pergunta, há um aumento no tamanho do arquivo.

Use o link abaixo Anexar arquivo
 
Vinin:

Use o link abaixo Anexar arquivo
Arquivos anexados:
rsis.mq4  16 kb
 
TarasBY:

Esta tarefa requer esclarecimento:

  • Seus parâmetros de entrada (STPOLOSS, TAKEPROFIT, etc.) devem ser inseridos com 4\2 dígitos em mente!!!

Igor e Viktor, muito obrigado!
 
7777877:
Leia sobre arrays na documentação. Uma opção é fazer um array estático, ou seja, um array com um tamanho predefinido: duplo a[55443]; outra opção é fazer um array dinâmico, ou seja, declarar um array de tamanho indefinido duplo a[], e então determinar/calcular o tamanho que precisamos no código do programa: ArrayResize(a,N)
 

Por favor, ajude-me a entender:)
Como mover uma ordem pendente?
Tentei apagá-lo primeiro e colocar um novo, mas não funciona.

int NewOrder(int Cmd,double Lot){

...

TP=PR+TakeProfit*Point;

SL=PR-StopLoss*Point;

Proverka();

tic=OrderSend(Symbol(),Cmd,Lot,PR,5,TP,SL,0,1,0,CLR_NONE);

if(tic<0) {Imprimir("Order open error: ",GetLastError()));

retorno(0);}

//+------------------------------------------------------------------+

Proverka() vazio

{

for(int i=1; i<=OrdensTotal(); i++) // Laço de encomenda

{

se (OrderSelect(i-1,SELECT_BY_POS)==verdadeiro)

{

se (OrderSymbol()!= Symbol()) continuar;

se (OrderType() == OP_BUY || OrderType() == OP_SELL) continuar;

int tic=OrderTicket();

OrderDelete(tique); Print("Delet",tique);

}

}


}

//+------------------------------------------------------------------+

 
Ali007:

Por favor, ajude-me a entender:)
Como faço para mover uma ordem pendente?
Eu tentei apagar e colocar um novo, mas não funcionou.

Se seu tipo de pedido não mudar, você pode movê-lo selecionando-o por OrderTicket(), usando a função OrderModify(), onde você especifica os novos preços abertos e STOP.

...E os valores das variáveis passadas para as funções comerciais precisam ser normalizados (preço, STOP). E este ciclo de enumeração de pedidos:

for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер

seria melhor substituí-lo pelo inverso:

for(int i=OrdersTotal() - 1; i >= 0; i--) // Цикл перебора ордер
{
   if (OrderSelect (i, SELECT_BY_POS)==true) 

Os StopLosses também não estão organizados corretamente:

TP=PR+TakeProfit*Point;
SL=PR-StopLoss*Point;

As paradas serão calculadas de forma diferente para diferentes tipos de ordens pendentes.

SUGESTÃO: Se você mesmo ainda tiver dificuldades, obtenha QUALQUER tipo de Expert Advisor trabalhando com ordens pendentes e tire dele funções para trabalhar com ordens ou cálculos de seus STOPPs.

 
TarasBY:

Se o seu tipo de pedido não mudar, ele pode ser movido selecionando OrderTicket() com a função OrderModify(), onde você especifica o novo preço de abertura e os valores STOP.

...E os valores das variáveis passadas para as funções comerciais precisam ser normalizados (preço, STOP). E este ciclo de enumeração de pedidos:

seria melhor substituí-lo pelo inverso:

Os StopLosses também não estão organizados corretamente:

As paradas serão calculadas de forma diferente para diferentes tipos de ordens pendentes.

Obrigado, entendi))))
 

Olá! Por favor, ajude-me a entender:

Como funciona uma parada virtual de trilha?

Como é melhor do que uma parada de trilha regular?

Posso prescrever uma parada virtual no meu Expert Advisor se houver muitas ordens ao mesmo tempo para cada par, e isso será racional?

Razão: