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

 
LazarevDenis:
Você pode informar se é possível escrever algum texto em mql4 em um arquivo, por exemplo *.txt, e então recuperar esses dados para negociação. A idéia é que a EA aprenderia a negociar por si mesma, quando o preço mudasse em >100*Ponto por par de barras, a EA memorizaria esses valores e então tentaria usá-los (valor indicador +/- n% para abrir uma ordem).
Variáveis globais podem ser usadas.
 
alguém poderia por favor testar minha EA e me dizer seus pontos fortes e fracos?
Arquivos anexados:
[Excluído]  

ajudar-me a escrever uma função que realizaria uma determinada ação, se as últimas 10 posições fossem fechadas em menos

Obrigado de antemão
 
Kreol:
Sim, sim, eu te peguei ... Mas antes de abrir mão de meu dinheiro, quero ter certeza de que o roteiro de que preciso não está disponível no domínio público.
Os roteiros no banco de dados são tão grandes quanto cães comem cachorros. Você está fazendo a pergunta errada. O roteiro universal, mesmo que eles o façam para você, será inconveniente e você o jogará fora.
Os roteiros são normalmente projetados para executar uma simples ação uniforme. É melhor usar um conjunto de scripts, cada um deles vinculado a uma tecla de atalho diferente.
Por exemplo:

Roteiro
Chave
Roteiro de compra abertaCtrl+B
Roteiro para abrir SellCtrl+S
Inverte o roteiroCtrl+R
Roteiro fechado
Ctrl+C

E assim por diante.
Você pode encontrar os scripts correspondentes prontos no banco de dados fazendo uma busca, solicitações do google como o site de scripts revertidos:mql4.com

 
nuan:

ajudar-me a escrever uma função que realizaria uma determinada ação se, por exemplo, as últimas 10 posições fossem fechadas em menos

Obrigado de antemão

Não é difícil calcular o número de últimos pedidos fechados com prejuízo no loop. Mas como podemos escrever um código que executaria uma ação pouco clara?
[Excluído]  
Precisa de um código que conte
 
Olá! Aqui vai uma pergunta... É a abundância de condições de entrada e funções auxiliares, assim como variáveis externas como o duplo externo, que pode retardar o Expert Advisor? É apenas um mistério no testador... O primeiro robô com tudo escondido no código tem mais drawdowns do que o robô onde tudo é externo duplo... Embora ambos tenham os mesmos parâmetros variáveis. (eles também são os mesmos)
 
Shniperson:
Olá! Aqui vai uma pergunta... É devido à abundância de condições de entrada e funções auxiliares, bem como a variáveis externas como o dobro externo que a EA pode se tornar lenta? É apenas um mistério no testador... O primeiro robô com tudo escondido no código tem mais drawdowns do que o robô onde tudo é externo duplo... Embora ambos tenham os mesmos parâmetros variáveis. (elas também são as mesmas).


Verifique novamente os valores das variáveis - talvez elas sejam diferentes e, ao compilar a primeira, funcionarão de forma diferente uma da outra.

Além disso, compará-los com este programa na busca - download - WinMergeU.exe.

 

Eu baixei de https://www.mql5.com/ru/code/9274

Eu baixei daqui um script para definir automaticamente um take e perda pré-definidos, mas eles começam a flutuar seguindo o preço, você pode me dizer qual é o problema e como configurá-lo para torná-los estáticos?

 
nuan:
Precisamos de um código que calcule


Isto não é difícil. Escreva um subprograma:

// этот код будет работать корректно только если в истории отсутствуют отложенные ордера.
int SchLossOrders(){
  string SMB=Symbol();
  int Sch=0;
  int i;
  for (i=OrdersHistoryTotal()-1;i>=0;i--){
    if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { Print("Ошибка ",GetLastError()," при выборе ордера");}
    else {
      if(OrderProfit()<0 && (OrderType()==OP_BUY || OrderType()==OP_SELL)){
        Sch++;
      }
      else{
        return(Sch);
      }
    }
  }
 return(Sch);     
}

No início da EA nós escrevemos:

if(SchLossOrders()>=10){
  // 10 последних сделок были убыточными - выполняем какое-то действие
}