Come ho assemblato il mio consulente per tentativi ed errori - pagina 51

 
Alexsandr San:

Sì! Dovresti aggiungere anche questo all'Utilitàhttps://www.mql5.com/ru/code/23939


#proprietà versione "1.009"

Aggiunta questa funzione

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

sotto Indicatore, bisogno di un nome - BASSO

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

#proprietà versione "1.009"

Ho aggiunto questa funzione

sotto Indicatore, bisogno di un nome - BASSO

Dimenticato! Disattivare questa funzione

#proprietà versione "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"
File:
 

Cosa può fare questa utility? - sì! praticamente tutto, tutte le tue fantasie in una.

GBPUSDM30

 
Alexsandr San:

Cosa può fare questa utility? - sì! praticamente tutto, tutte le tue fantasie in una.

Beh, se il prezzo arriva a un punto di crossover, allora sì)))) di sicuro

 
Alexsandr San:

Cosa può fare questa utility? - Sì, praticamente tutto, tutte le tue fantasie in una.

Sto chiedendo un'altra funzione in questa utility - trawl, dietro la linea blu orizzontale

Chiedere questa utilità 1

Istantanea2 2

Qui sto spostando manualmente la linea orizzontale gialla e si attiva uno stop.

Istantanea3 3

 
Alexsandr San:

Questa utilità chiede un'altra funzione - trawl, dietro la linea blu orizzontale

1

2

Qui ho spostato manualmente la linea orizzontale gialla e ho attivato uno stop

3

È dietro la linea orizzontale - resta da vedere quale calcolo viene fatto nell'indicatore Low_Macd_Line.mq5 per pescare dietro quella blu

Foto di

nell'immagine - il blu in alto, toccando il giallo in alto, fa scattare il segnale

e quello blu inferiore, toccando quello giallo inferiore, fa scattare il segnale

 
Alexsandr San:

È dietro le linee orizzontali - resta da vedere quale calcolo viene fatto nell'indicatore Low_Macd_Line.mq5 per pescare dietro quella blu

nell'immagine - il blu in alto, toccando il giallo in alto, fa scattare il segnale

e quello blu inferiore, toccando quello giallo inferiore, fa scattare il segnale

È stato in grado di sistemare lo strascico nella finestra dell'indicatoreLow_Macd_Line.mq5 ha funzionato - ora il lunedì, per metterlo a posto e aggiornare l'utilità

Colpo4

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

ecco la rete a strascico stessa

//+------------------------------------------------------------------+
//| 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:

Sono riuscito a far funzionare lo strascico nella finestra dell'indicatoreLow_Macd_Line.mq5- ora il lunedì, farlo bene e aggiornare l'utilità

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

ecco la rete a strascico stessa

Forse qualcuno sarà interessato a giocare con questa funzione nel tester - sto incollando l'utilità, è puramente per il tester, avete anche bisogno di questo indicatoreLow_Macd_Line.mq5

la funzione stessa Qui-

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 dall'indicatoreLow_Macd_Line.mq5 è necessario impostare queste linee orizzontali, una Nome"LOW"

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

Un'altra funzione dovrebbe essere aggiunta a questa utility - trawl, dietro la linea blu orizzontale

#proprietà versione "1.011"

Il braccio di trazione dovrebbe essere regolato per ogni coppia (per XAU/USD per 1 ora) per un minuto 0.1001

Su GBPUSD sotto un minuto 0,0001

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

La cosa più importante - quando si usa l'indicatoreLow_Macd_Line.mq5

devi inserire correttamente il nome della linea orizzontale (ce ne sono due) - è molto importante!!! Cosa sarebbe l'indicatoreLow_Macd_Line.mq5 in 1 finestra dell'indicatore sul grafico

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

Deve essere così!

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.

Nelle immagini - la rete a strascico ha funzionato e ha cambiato direzione - ora si vuole manualmente, di nuovo impostare la linea orizzontale di SELL - nel caso in cui questo cambia di nuovo direzione

File:
 
Alexsandr San:

#proprietà versione "1.011"

Il braccio di trazione dovrebbe essere regolato per ogni coppia (per XAU/USD per 1 ora) per un minuto 0.1001

Su GBPUSD sotto un minuto 0,0001

Il più importante - quando l'indicatoreLow_Macd_Line.mq5

bisogno di inserire correttamente il nome della linea orizzontale (ce ne sono due) - più importante!!! Che cosa sarebbe l'indicatoreLow_Macd_Line.mq5 era in 1 finestra dell'indicatore sul grafico

#proprietà versione "1.012"

Leggermente raffinata la funzione

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 viene attivata, la linea orizzontale SELL apre una posizione e visualizza una linea orizzontale BUY e viceversa.

Inoltre, la linea è impostata o da "0" e la distanza è impostatada Obj: Trailing Step MACD

o dalla linea orizzontale"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)

FromTimer "LOW Up" "LOW Down" stesso, solola distanza è impostata (input ushort InpObjTrailingStepCS = 5;// Obj: Trailing Step, in 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"

Come conoscere la distanza della linea orizzontale nell'indicatoreLow_Macd_Line.mq5 da impostare nella traccia (su ogni coppia, una distanza diversa)

Copia e incolla nelle impostazioni di Utility

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

Foto di

nell'immagine da "0" a Horizontal BUY 0.0064 e quando tocca Horizontal LOW, Horizontal SELL sarà impostato (solo sotto"0"-0.0064)

IMPORTANTE!!! non mettere il meno ( - ) davanti alle cifre, che inseriamo nell'utilità

Istantanea2 Una delle varianti di questa funzione

File: