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

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?
 
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 последних сделок были убыточными - выполняем какое-то действие
}