Como eu monto meu conselheiro por tentativa e erro - página 51

 
Alexsandr San:

Sim! Você também deve adicionar isto ao Utilitáriohttps://www.mql5.com/ru/code/23939


#propriedade versão "1.009

Acrescentou esta função

input string   t10="----- Price Line:     -----";                //
input string   InpFont0                     = "BUY";             // Obj: BUY (Obj:Name) ВЕРХУ
input ENUM_TRADE_COMMAND InpCSCommand       = close_open_b;      // Obj:  command:
input string   InpFont1                     = "SELL";            // Obj: SELL (Obj:Name) ВНИЗУ
input ENUM_TRADE_COMMAND InCSCommand        = close_open_s;      // Obj:  command:
input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL
input ushort   InpIndentUp                  = 5;                 // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort   InpIndentDown                = 10;                // Indent down, in pips (1.00045-1.00055=1 pips)
input int      InpSeconds                   = 3;                 // Number of seconds

sob Indicador, precisa de um nome - LOW

input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL
Arquivos anexados:
 
Alexsandr San:

#propriedade versão "1.009

Eu acrescentei esta função

sob Indicador, precisa de um nome - LOW

Esqueci! Desativar esta função

#propriedade versão "1.010"

input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL
input ushort   InpIndentUp                  = 5;                 // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort   InpIndentDown                = 10;                // Indent down, in pips (1.00045-1.00055=1 pips)
input int      InpSeconds                   = 3;                 // Number of seconds
input bool     InpOnTimer                   = false;             // OnTimer "LOW Up" "LOW Down"
Arquivos anexados:
 

O que esta utilidade pode fazer!? - Sim! praticamente tudo, todas as suas fantasias em um só .

GBPUSDM30

 
Alexsandr San:

O que esta utilidade pode fazer!? - Sim! praticamente tudo, todas as suas fantasias em um só .

Bem, se o preço chegar a um ponto de cruzamento, então sim)))) com certeza

 
Alexsandr San:

O que esta utilidade pode fazer!? - Sim! praticamente tudo, todas as suas fantasias em um só.

Estou pedindo outra função nesta utilidade - arrasto, atrás da linha azul horizontal

Pedindo por esta utilidade 1

Instantâneo2 2

Aqui estou eu, manualmente, movendo a linha horizontal amarela e uma parada é acionada.

Instantâneo3 3

 
Alexsandr San:

Esta utilidade está pedindo outra função - arrasto, atrás da linha azul horizontal

1

2

Aqui eu movi manualmente, movi a linha horizontal amarela e acionei uma parada

3

Está atrás da linha horizontal - resta saber qual cálculo é feito no indicador Low_Macd_Line.mq5 para arrasto atrás da linha azul

Foto por

na foto - azul superior, tocando o amarelo superior, aciona o sinal

e o azul inferior, tocando o amarelo inferior, aciona o sinal

 
Alexsandr San:

Está atrás das linhas Horizontais - ainda falta entender - qual cálculo é feito no indicador Low_Macd_Line.mq5 para arrasto atrás do azul

na foto - azul superior, tocando o amarelo superior, aciona o sinal

e o azul inferior, tocando o amarelo inferior, aciona o sinal

Foi capaz de fixar a rede de arrasto na janela do indicadorLow_Macd_Line.mq5- agora na segunda-feira, acertar e atualizar a utilidade

Tiro4

------------------------

aqui está a própria rede de arrasto

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTickObjTrailingCS(void)
  {
//---
   if(InpSignalsFrequency>=10) // trailing no more than once every 10 seconds
     {
      datetime time_current=TimeCurrent();
      if(time_current-m_obj_last_trailingCS>10)
        {
         if(RefreshRates())
            ObjTrailingCS();
         else
            return;
         m_obj_last_trailingCS=time_current;
        }
     }
//--- we work only at the time of the birth of new bar
   datetime time_0=iTime(m_symbol.Name(),Period(),0);
   if(time_0==m_prev_barsCS)
      return;
   m_prev_barsCS=time_0;
   if(InpSignalsFrequency<10) // trailing only at the time of the birth of new bar
     {
      if(RefreshRates())
         ObjTrailingCS();
     }
  }
//+------------------------------------------------------------------+
//| Object Trailing                                                  |
//|   InpObjTrailingStop: min distance from price to object          |
//+------------------------------------------------------------------+
void ObjTrailingCS(void)
  {
   double new_up_price        = -1;   //
   double new_down_price      = 1;   //
   double current_up_price    = ObjectGetDouble(0,InpFont0,OBJPROP_PRICE);
   double current_down_price  = ObjectGetDouble(0,InpFont1,OBJPROP_PRICE);
   double price_up            = ObjectGetDouble(0,InpFont2,OBJPROP_PRICE);
   double price_down          = ObjectGetDouble(0,InpFont3,OBJPROP_PRICE);

   if(current_up_price>new_up_price)
     {
      if(current_up_price>price_up+InpObjTrail)
        {
         m_obj_up_priceCS=price_up+InpObjTrail;
         HLineMove(0,InpFont0,m_obj_up_priceCS);
        }
     }
   if(current_down_price<new_down_price)
     {
      if(current_down_price<price_down-InpObjTrail)
        {
         m_obj_down_priceCS=price_down-InpObjTrail;
         HLineMove(0,InpFont1,m_obj_down_priceCS);
        }
     }
  }
//+------------------------------------------------------------------+
 
Alexsandr San:

Managed to get the trawl in theLow_Macd_Line.mq5 indicator window working - now on Monday, get it right and update the Utility

------------------------

aqui está a própria rede de arrasto

Talvez alguém esteja interessado em jogar com esta função no testador - estou colando a utilidade, é puramente para o testador, você também precisa deste indicadorLow_Macd_Line.mq5

a própria função aqui...

input string   t10="----- Price Line:     -----";                //
input string   InpFont0                     = "BUY";             // Obj: BUY (Obj:Name) ВЕРХУ
input ENUM_TRADE_COMMAND InpCSCommand       = close_open_b;      // Obj:  command:
input string   InpFont1                     = "SELL";            // Obj: SELL (Obj:Name) ВНИЗУ
input ENUM_TRADE_COMMAND InCSCommand        = close_open_s;      // Obj:  command:
input double   InpObjTrail                  = 0.0001;            // Obj: Trailing Stop MACD
input double   InpObjTrailStep              = 0.0001;            // Obj: Trailing Step MACD
input ushort   InpObjTrailingStopCS         = 15;                // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepCS         = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL
input ushort   InpIndentUp                  = 5;                 // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort   InpIndentDown                = 10;                // Indent down, in pips (1.00045-1.00055=1 pips)
input int      InpSeconds                   = 3;                 // Number of seconds
input bool     InpOnTimer                   = true;              // OnTimer "LOW Up" "LOW Down"

quando do indicadorLow_Macd_Line.mq5 você precisa definir estas linhas Horizontais, um Nome"LOW

input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL
Arquivos anexados:
02_llliiiooo.mq5  255 kb
 
Alexsandr San:

Mais uma função deve ser adicionada a esta utilidade - arrasto, atrás da linha azul horizontal

#propriedade versão "1.011"

O braço móvel deve ser ajustado para cada par (para XAU/USD durante 1 hora) por um minuto 0,1001

Em GBPUSD menos de um minuto 0,0001

input double   InpObjTrail                  = 1.0001;            // Obj: Trailing Stop MACD ("0" -> Off)
input double   InpObjTrailStep              = 1.0001;            // Obj: Trailing Step MACD

O mais importante - ao utilizar o indicadorLow_Macd_Line.mq5

você tem que digitar corretamente o nome da linha Horizontal (há duas delas) - é muito importante!!! O que seria o indicadorLow_Macd_Line.mq5 em 1 janela do Indicador no gráfico

input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL

Tem que ser assim!

input string   InpFont2                     = "LOW";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW";          // Obj: Name Price Line SELL

GBPUSDM1XX 1.

GBPUSDM1YY 2.

GBPUSDM1YY1 3.

GBPUSDM1YY2 4.

Nas fotos - arrasto funcionou e mudou de direção - agora você quer ajustar manualmente, novamente, a linha horizontal da VENDA - caso esta mude de direção novamente

Arquivos anexados:
 
Alexsandr San:

#propriedade versão "1.011"

O braço móvel deve ser ajustado para cada par (para XAU/USD durante 1 hora) por um minuto 0,1001

Em GBPUSD menos de um minuto 0,0001

O mais importante - quando o indicadorLow_Macd_Line.mq5

precisam inserir corretamente o nome da linha horizontal (há duas) - mais importante!!! Qual seria o indicadorLow_Macd_Line.mq5 estava em 1 janela do indicador no gráfico

#propriedade versão "1.012

Refinou levemente a função

input string   t0="----- Price Line:        -----";              //
input string   InpFont0                     = "BUY";             // Obj: BUY (Obj:Name) ВЕРХУ
input ENUM_TRADE_COMMAND InpCSCommand       = close_open_b;      // Obj:  command:
input string   InpFont1                     = "SELL";            // Obj: SELL (Obj:Name) ВНИЗУ
input ENUM_TRADE_COMMAND InCSCommand        = close_open_s;      // Obj:  command:
input double   InpObjTrail                  = 1.0001;            // Obj: Trailing Stop MACD ("0" -> Off)
input double   InpObjTrailStep              = 1.0001;            // Obj: Trailing Step MACD
input bool     InpDub                       = false;             // "0.0":Price=false(Trail->Off) "LOW":Price=true(Trail->ON)
input bool     InpDubll                     = false;             // Duplicate "BUY""SELL" (ObjTrailStep)
input ushort   InpObjTrailingStopCS         = 15;                // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepCS         = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL
input bool     InpOnTimer                   = false;             // OnTimer "LOW Up" "LOW Down"
input ushort   InpIndentUp                  = 5;                 // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort   InpIndentDown                = 10;                // Indent down, in pips (1.00045-1.00055=1 pips)

Quando acionada, a linha horizontal SELL abre uma posição e exibe uma linha horizontal BUY e vice versa.

Além disso, a linha é definida a partir de "0" e a distância é definidapelo Obj: Trailing Step MACD

ou da linha Horizontal"LOW".


input double   InpObjTrailStep              = 1.0001;            // Obj: Trailing Step MACD
input bool     InpDub                       = false;             // "0.0":Price=false(Trail->Off) "LOW":Price=true(Trail->ON)
input bool     InpDubll                     = false;             // Duplicate "BUY""SELL" (ObjTrailStep)

DeTimer "LOW Up" "LOW Down" mesmo, apenasa distância é definida (entrada ushort InpObjTrailingStepCS = 5;// Objeto: Trailing Step, em pips (1.00045-1.00055=1 pips)

input ushort   InpObjTrailingStepCS         = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL
input bool     InpOnTimer                   = false;             // OnTimer "LOW Up" "LOW Down"

Como saber a distância da linha horizontal no indicadorLow_Macd_Line.mq5 para definir na trilha (em cada par, uma distância diferente)

Copiar e colar nas configurações de Utilitários

input double   InpObjTrailStep              = 1.0001;            // Obj: Trailing Step MACD

Foto por

na figura de "0" para Horizontal BUY 0.0064 e quando tocar Horizontal LOW, a VENDA Horizontal será definida (apenas abaixo de"0"-0.0064)

IMPORTANTE!!! não coloque menos ( - ) na frente dos números, que nós inserimos na utilidade

Instantâneo2 Uma das variantes desta função

Arquivos anexados:
Razão: