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

 
EVGENII SHELIPOV #:

Sim, ou um drawdown abaixo de um certo nível. Mas, tanto quanto sei, a zeragem não tem nada a ver com isso, se não houver zeragem, então há um fechamento infinito de ordens e, no meu caso, uma ordem não é fechada.

Isto porque após o fechamento do primeiro pedido, esta condição não funciona mais.

if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)

para não ir além da função de fechamento

 
Tretyakov Rostyslav #:

Porque após o fechamento do primeiro pedido, esta condição não é mais válida

isso significa que não chega mais longe, à função de fechamento

Você acha que esta condição está no comando para fechar ordens e na função para fechar ordens, se eu remover esta condição da função para fechar ordens, ela mudará alguma coisa?

 
EVGENII SHELIPOV #:

Você acha que esta condição está no comando para fechar ordens e na função para fechar ordens se eu remover esta condição da função para fechar ordens, ela mudará qualquer coisa?

Isso vai acelerar as coisas...por que verificar a mesma coisa duas vezes.

A propósito, você postou duas funções diferentes

ClosseMinMaxPenultimateOrdersZero()

и

ClosseMinMaxPenultimateOrders()
É essa a intenção?
 
Tretyakov Rostyslav #:

Isto vai acelerar as coisas... por que verificar duas vezes a mesma coisa?

A propósito, você postou duas funções diferentes

и

É assim que funciona?

Verifiquei agora e sem esta condição a EA fecha mal, então não posso passar sem ela

 
Vitaly Muzichenko #:

Por favor, me ajude!

Não estou conseguindo nada do que espero. Preciso ler o arquivo de registro.

Deveria ter começado aqui:

#include <WinAPI\\fileapi.mqh>
 
EVGENII SHELIPOV #:

Eu verifiquei agora e sem ele o Expert Advisor fecha mal, então não há como fazer isso sem ele.

Portanto, eles não são os mesmos.

               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==0 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
               if(CalculiteProfitMinMaxPenultimateOrders() >= 0 && OrderGroupCloseSignal()==1 &&
                  Drawdown >= DrawdownClosingMinMaxOrders && FindPenultimateProfit() > 0)
 
Иван a função FileSeek não tiveram sucesso.
Meu intelecto não é suficiente para entender a razão disso. Por favor, explique o que diabos está acontecendo.

Bem? Alguém tem uma pista?

 

Amigos, por favor, ajudem.

Tenho uma EA com várias moedas que escrevi em mql4. No testador, é claro, não funciona. Decidi que devo mudar para mql5.

Adaptei todos os erros do compilador e os consertei. exceto no que diz respeito ao uso de indicadores técnicos. Eu tenho muito pouca idéia do que fazer com minha cabeça. A documentação é incompreensível e cobre duas páginas. Talvez eu esteja procurando no lugar errado.

Uma linha de código em mql4 como segue

duplo MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0);

ou

duplo Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0);

De acordo com a documentação, a página inteira do código muda em mql5. Alças, amortecedores, matrizes com parâmetros, isto para init, isto para calcular, manipulação de erros durante a criação de alças... isto é uma loucura... Talvez eu esteja procurando no lugar errado.

E se eu uso vários pares e vários prazos, recebo "Guerra e Paz" lá.

 
Sergey Dymov uma EA com várias moedas que escrevi em mql4. No testador, é claro, não funciona. Decidi que devo mudar para mql5.

Adaptei todos os erros do compilador e os consertei. EXCEPTO para o uso de indicadores técnicos. Eu tenho muito pouca idéia do que fazer com minha cabeça. A documentação é incompreensível e cobre duas páginas. Talvez eu esteja procurando no lugar errado.

Uma linha de código em mql4 como segue

duplo MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0);

ou

duplo Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0);

De acordo com a documentação, a página inteira do código muda em mql5. Alças, amortecedores, matrizes com parâmetros, isto para init, isto para calcular, manipulação de erros durante a criação de alças... isto é uma loucura... Talvez eu esteja procurando no lugar errado.

E se eu uso vários pares e vários prazos, recebo "Guerra e Paz" lá.

int handleSQ=-1;
double BufferSQ[1];
int OnInit()
{

  handleSQ=iCustom(Symbol(),PERIOD_CURRENT,"squares",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3);
  if(handleSQ<0) {
    return(INIT_FAILED);
    Print("handleSQ = ",handleSQ,"  error = ",GetLastError());
  }
//---
  return(INIT_SUCCEEDED);
}

void OnTick()
{

    int copy=CopyBuffer(handleSQ,0,1,1,BufferSQ);
    if(copy<0) Print("Неудачная попытка копирования Squares");
    u1=BufferSQ[0];//iCustom(Symbol(),PERIOD_CURRENT,"squares_v2",Period1,Period2,Period3,Dev_Step_1,Dev_Step_2,Dev_Step_3,i);
 
Vitaly Muzichenko #:

Obrigado. Vou trabalhar com isso. O manual é uma bagunça.

Razão: