Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 146

 
Todo mundo sabe. EM MT4. Há um testador de estratégia. É possível empurrar a enumeração de parâmetros, através da otimização.

A questão é a seguinte.

Podemos empurrar esta otimização, busca de parâmetros, para dentro do Expert Advisor? Se o Expert Advisor otimiza os parâmetros de tempos em tempos, ele seleciona aqueles que são lucrativos e trabalha com eles? Digamos, a cada 7 dias, o Expert Advisor otimiza por 7 dias. E parâmetros selecionados sobre a rentabilidade. E eles devem, já trabalhando mais 7 dias?

Quer ouvir a resposta, alguém que entenda isto. Digamos a quantidade de trabalho. A severidade do trabalho. etc. Do que se trata.

 
Aleksey Radzisheuski:
Todo mundo sabe. EM MT4. Há um testador de estratégia. É possível empurrar a enumeração de parâmetros, através da otimização.
A questão é a seguinte.
Podemos empurrar esta otimização, busca de parâmetros, para dentro do Expert Advisor? Se o Expert Advisor otimiza os parâmetros de tempos em tempos, ele seleciona aqueles que são lucrativos e trabalha com eles? Digamos, a cada 7 dias, o Expert Advisor otimiza por 7 dias. E parâmetros selecionados sobre a rentabilidade. E eles devem, já trabalhando mais 7 dias?

Quer ouvir a resposta, alguém que entenda isto. Digamos a quantidade de trabalho. A severidade do trabalho. etc. Do que se trata.

Aqui está o artigo https://www. mql5.com/ru/articles/1467 ...

Автоматическая оптимизация торгового робота в процессе реальной торговли
Автоматическая оптимизация торгового робота в процессе реальной торговли
  • 2007.04.16
  • Igor Malcev
  • www.mql5.com
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
 
Alekseu Fedotov:


Você temuma linha de tendência?

E visualmente vai por cima(abaixo) de 0 bar, não, verifique a caixa em propriedades, viga.


A linha é uma linha de tendência. Mudou as propriedades para um raio. Isso não ajudou. Idealmente, quero que o preço seja exibido independentemente da posição da barra zero (em cima, em baixo).

Este código também não funciona.

int start() {

double pr=ObjectGetValueByShift("line",0);

Se (Bid==pr){

Alerta (pr);}

retorno(0);}

 
Valerius:

Boa tarde a todos!

Pergunta, na insta ao tentar enviar uma ordem, diz que as paradas estão erradas.

Aqui está a própria linha:

OrderSend(Symbol(),OP_BUYSTOP,Lots,HiP,3,0,0,0,NULL,111,0,clrBlue);

Stop Loss e Take Points têm 0. Se eu definir um número em Stop Loss, tudo é normal.

Eu não preciso parar de perder. O que eu devo fazer?

Este não é um problema de StopLoss, mas do preço de abertura de uma ordem pendente. Se o preço do pedido pendente estiver incorreto, entra o erro 130.
 
Kot:


A linha é de tendência. Mudou as propriedades para um raio. Isso não ajudou. O ideal seria que o preço fosse exibido independentemente da posição da barra zero (em cima, em baixo).

Este código também não funciona.

int start() {

double pr=ObjectGetValueByShift("line",0);

Se (Bid==pr){

Alerta (pr);}

retorno(0);}


Você digitou o nome da linha corretamente?

Experimente este roteiro e mostre o que ele diz nos registros.

void OnStart()
  {
     double pr;
     int obj_total=ObjectsTotal(); 
     string name;
     int i; 
     
   for(i=0;i<obj_total;i++) 
     { 
      name=ObjectName(i); 
      if(ObjectType(name)!=OBJ_TREND) continue; 
      PrintFormat("Объект %d:     Имя объекта - %s",i,name); 
      pr=ObjectGetValueByShift(name,0);
      PrintFormat("Объект %d:     Цена - %.5f",i,pr);
      
     } 
  }
 

Nós temos uma tarefa. Os dados dos indicadores sobre os prazos mais altos são chamados para o iCustom Expert Advisor. Vamos chamar suas linhas de apoio e resistência.

Suponha que as três figuras x1 x2 x3. Por favor, ajude-me a escrever um código que desenhe linhas com estas três figuras diretamente na EA.

Eu tentei ObjCreate (quero que eles sejam desenhados em um gráfico como pontos em cada tick, mas nada funcionou)

Para esclarecer, 3 linhas separadas. Por favor, não consulte o tutorial mql4. Basta compartilhar o código de trabalho

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
Artyom Trishkin:

Nesta linha eu quero começar a ajudar aqueles que realmente querem entender e aprender programação na nova MQL4 e querem mudar facilmente para a MQL5 - as linguagens são muito semelhantes.

Este será um bom lugar para discutir tarefas, algoritmos de sua solução e quaisquer outras questões relativas à programação MT.

Espero que outros participantes experientes do nosso fórum se juntem à discussão deste assunto e que o ramo seja interessante para todos.


Aqui está a tarefa. Ao iCustom Expert Advisor, chamaremos os dados dos indicadores que estão nos prazos mais altos. Vamos chamar suas linhas de apoio e resistência.

Suponha que as três figuras x1 x2 x3. Por favor, ajude-me a escrever um código que desenhe linhas com estas três figuras diretamente na EA.

Eu tentei ObjCreate (quero que eles sejam desenhados em um gráfico como pontos emcada tick, mas nada funcionou)

Para esclarecer, 3 linhas separadas. Por favor, não consulte o tutorial mql4. Basta compartilhar o código de trabalho

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
BoBoforex:

Nós temos uma tarefa. Os dados dos indicadores sobre os prazos mais altos são chamados para o iCustom Expert Advisor. Vamos chamar suas linhas de apoio e resistência.

Suponha que as três figuras x1 x2 x3. Por favor, ajude-me a escrever um código que desenhe linhas com estas três figuras diretamente na EA.

Eu tentei ObjCreate (quero que eles sejam desenhados em um gráfico como pontos emcada tick, mas nada funcionou)

Para esclarecer, 3 linhas separadas. Eu não faria a ligação com a cartilha mql4. Basta compartilhar o código que funciona.


A função

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.03.2008                                                     |
//|  Описание : Установка объекта OBJ_HLINE горизонтальная линия               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    st - стиль линии                (0  - простая линия)                    |
//|    wd - ширина линии               (1  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetHLine(color cl, string nm="", double p1=0, int st=0, int wd=1) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_HLINE, 0, 0,0);
  ObjectSet(nm, OBJPROP_PRICE1, p1);
  ObjectSet(nm, OBJPROP_COLOR , cl);
  ObjectSet(nm, OBJPROP_STYLE , st);
  ObjectSet(nm, OBJPROP_WIDTH , wd);
}

Coloque-o fora da função OnTick() nulo

E isto está dentro do vazio OnTick()

  SetHLine(clrRed,"x1",x1); 
  SetHLine(clrRed,"x2",x2);
  SetHLine(clrRed,"x3",x3);  
 

Por favor, ajude - Não consigo entender porque recebo zero ao calcular a matriz VesMass em valores i>0 ?

   int NumberTotal=3;
   int VesTotal=NumberTotal;//всего веслов в массиве
   double VesMass[];//массив с весами
   ArrayResize(VesMass,VesTotal);



   for(int i=0;i<VesTotal;i++)
     {
      if(i==0)
        {
         VesMass[i]=1;
         Print("VesMass ",i,"=",VesMass[i]);
        }
      if(i>0)
        {
         VesMass[i]=VesMass[i-1]*(4/5);
         Print("VesMass ",i-1,"=",VesMass[i-1]);
         Print("VesMass ",i,"=",VesMass[i]);
        }
     }
 
Alexey Viktorov:
Este não é o problema do Stop Loss, mas do preço em aberto da ordem pendente. Se o preço da ordem pendente estiver incorreto, o erro é 130.


Tentei colocar o pedido pendente dentro do spread duplo do preço. Somente então o erro desaparece. Eu não entendo se isto está correto?

Por exemplo, o pedido BUYSTOP é fixado em 60 pontos a partir de Bida. TakeProfit também não permite que seja definido menos pelo valor de spread.

Eu não entendo por que é assim. Ele não funciona na conta real, mas funciona no modo de demonstração.

Razão: