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

 
MakarFX #:

1) Sim, estes são os valores do número de "velas de confirmação" .

2) Não, ela não abre na primeira, somente após um determinado número de "velas de confirmação ".

3) Troque o magik e coloque-o em qualquer par

É melhor tornar o magik uma variável externa

1) Entendi;

2) Vou anexar uma captura de tela neste post, ela não abre no primeiro, mas se a entrada por 4 velas estiver em condições, ela abrirá no quarto, como na captura de tela. Claro, não é o principal, só quero saber como consertá-lo. Mas mesmo que a deixemos, para que serve "Init=true"? Qual é a sua essência?

3) E como fazer uma variável externa magik? Eu simplesmente não toquei no magik e não sei como fazê-lo:

#property copyright "Copyright 2021, DrMak."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//--- input parameters
#define MagicNumber  122122
extern string s1             = "Trading options";
extern double Lot            = 0.01;    // размер лота 0 - авт.расчет
extern double StopLoss       = 40;     // стоплосс
extern double TakeProfit     = 10;     // тейкпрофит
extern double TrailStop      = 21;     // уровень без убытка
extern int    Trailing       = 0;      // трейлинг стоп 1 вкл. 0 выкл.
extern int    Breakeven      = 0;      // перенос стоп лосса в без убыток
extern string s2             = "Day & Hour";
extern int    HrStart        = 0;      // время начала торговли
extern int    HrEnd          = 23;     // время окончания торговли
extern int    Monday         = 1;      // Понедельник 1 вкд. 0 выкл.
extern int    Tuesday        = 1;      // Вторник
extern int    Wednesday      = 1;      // Среда
extern int    Thursday       = 1;      // Четверг
extern int    Friday         = 1;      // Пятница
//+------------------------------------------------------------------+
// параметры индикаторов
int MovingPeriodLw        = 5;      
int MovingPeriodS1        = 75;
int MovingPeriodS2        = 85;
double StopLevel;
double TrailStep             = 3;      // шаг трейлинг стопа
bool OrderBuy = true, OrderSell = true, Order = false, Init = true;
int timeprev = 0, Slip = 3.0, Start, cnt=1;
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if (Digits == 3 || Digits == 5) { // Пересчет для 5-ти знаков                                                    
      TakeProfit *= 10;
      TrailStop *= 10;
      TrailStep *= 10;
      StopLoss *=10;
      Slip *=10;
   } 
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); 
   //---
   if(newbar!=Time[0])
     {
      if(CheckForOpen()!=Start)
        {Start=CheckForOpen(); cnt=1;}
      else
        {cnt+=1;}
      //---
      if(cnt==8)
        {
         // Открытие ордера по методу Пуриа
         if(CheckForOpen()==0) // Если сигнал для покупок 
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");}
              else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1) // Если сигнал для продаж 
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");}
              else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];
     }
  }
Arquivos anexados:
 
MakarFX #:

Nada mal!

 
artem artem #:

1) Entendi;

2) Vou anexar uma captura de tela neste post, ela não abre na primeira vela, mas se a entrada por 4 velas estiver nas condições, ela abrirá no dia 4, como na captura de tela. É claro que não é o principal, só quero saber como consertá-lo. Mas mesmo que a deixemos, para que serve "Init=true"? Qual é a sua essência?

3) E como fazer uma variável externa magik? É que eu não toquei no magik nem de perto e não sei como fazê-lo:

#define MagicNumber  122122

substituir por

extern string MagicNumber = 122122;

"Init=true" pode ser removido.

Sobre a primeira entrada, vou pensar sobre isso, mas amanhã)

 

artem artem #:

Eu gostaria de saber como isto pode ser removido.

Removido

Arquivos anexados:
artem.mq4  11 kb
 
MakarFX #:
// Мертвая строка

Boa idéia, bem feito, Makar!

 

Diga-me o que fazer, eu tenho um caso anormal:

A passagem no teste mostra 40 negócios nos últimos seis meses. O saldo é superior a $1000 na conta.

Executando o mesmo conjunto para o ano inteiro - apenas 8 negociações. Restam cerca de 1000 dólares.

Estou administrando a partir do início de 2020, 3 meses que ele comercializa - mais 0 reação.

Não entendo porque ele não quer comercializar em um grande período. Ele não mostra nenhum erro no diário de bordo.

 
artem artem #:

que é bom para diversão no testador.

e este é para você, como um presente - para ganhar dinheiro.

\\\\\\\\\\\\\\\\\\\\\\\\\\

Eu o testei e verei como funciona esta noite.

Captura de tela 2021-10-10 054654

\\\\\\\\\\\\\\\\\\\\\\\\\\\

verificou como ele muda o padrão em todos os gráficos - tudo funcionou! -como o lucro total atingiu a meta.

Imagem da tela 2021-10-10 055232

Arquivos anexados:
artem_artem.mq4  26 kb
 

é bom verificar no testador - quando você salva o modelo com os indicadores, se você mudar as configurações dos indicadores - basta pressionar pausa no testador e ajustar os indicadores .

Captura de tela 2021-10-10 063557

\\\\\\

modelo de gráfico - para o especialista acima.

Arquivos anexados:
 
SanAlex #:

que é bom para diversão no testador.

e este é para você, como um presente, ganhar dinheiro.

Bom dia a todos vocês e bom humor! Fico intrigado. Favor traduzir o códigoartem artem.mq4 para MT5 se você não tiver problemas com ele. Quero ver como "lidar" com os rollovers em uma conta real.

Sinceramente Vladimir.

 
MrBrooklin #:

Bom dia a todos e bom humor! Fico intrigado. Por favor, se não for difícil para você, traduza o códigoartem artem.mq4 para MT5. Quero ver como "lidar" com os rollovers em uma conta real.

Atenciosamente, Vladimir.

Bom dia! Agora vou criar um indicador de sinal para mt5 a partir destes indicadores

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Aqui o fiz - o resto é muito simples - em Expert Advisor com seus desejos e sua lógica, arrasto e tudo mais.

EURUSDH1

\\\\\\\\\\\\\\\\\\\\\\

No Expert Advisor você pode configurar para abrir em uma barra zero ou na primeira barra

Foto da tela 2021-10-10 085616

Arquivos anexados:
Fx10_artem.mq5  20 kb
Razão: