[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 64

 
perché l'indicatore ROC non assume effettivamente un valore inferiore a "0", ma lo fa graficamente?
 
vilard:
perché l'indicatore ROC non assume effettivamente un valore inferiore a "0", ma lo fa graficamente?

Quale ROC? Questo?
 
Roman.:

Quale ROC? Questo?

https://www.mql5.com/ru/code/9340
 

Ciao a tutti. Ragazzi ho una condizione per trovare max: ma all'interno di un corridoio.

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] &&& Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break;

non funziona.
se rimuovo il corridoio tutto ok:

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

Quale potrebbe essere il problema?

Capisco che max<1000 dovrebbe essere aumentato, l'ho provato ma non ha funzionato.

Ecco un esempio in numeri:

1. 4100<1.4150<1.4200 ma 1.4150 deve cadere

all'interno di low_level_s(1.4145), high_level_s(1.4155) . In questo esempio l'ha fatto.

Ma se non lo è, supponiamo che sia 1,4160, continueremo a cercare. Il problema è che questo alto può essere di 3 anni fa, per esempio, e il programma non riesce a trovarlo.

Cosa fare? Forse è possibile ottenere l'archivio dei preventivi?

 
vilard:

https://www.mql5.com/ru/code/9340

Guarda il mio link - è una variante di base con la descrizione dell'indicatore di tasso di prezzo + EA basato su di esso (l'indicatore iCustom() soccombe). Se avete altre condizioni di trading per l'entrata nel mercato, modificate quelle esistenti e andate avanti, tutto si verifica bene, ora io stesso, ho appena finito di testarlo come una variante di thechanalysis (filtro di entrata nel mercato), inoltre c'è una descrizione e tutto il resto... Basta regolarlo secondo le vostre condizioni e questo è tutto. L'Expert Advisor è qui.
 
Roman.:

Guarda il mio link - è una variante di base con la descrizione dell'indicatore di tasso di prezzo + Expert Advisor basato su di esso (l'indicatore iCustom() si presta). Se hai altre condizioni di trading per l'entrata nel mercato, modifica quelle esistenti e vai avanti, tutto è testato bene, ora io stesso, ho appena finito di testarlo come una variante di tehanalysis (filtro di entrata nel mercato), inoltre, c'è una descrizione e tutto il resto... Modificatelo per adattarlo alle vostre condizioni e il gioco è fatto. L'Expert Advisor è qui.

Grazie
 

Whew!!! Il computer si è spento!!! Reagisce con ritardo, apre finestre sbagliate, non si cancella, si blocca... L'ho riavviato 20 volte, l'ho scollegato.

Grazie.

Forse è un virus.

La cartella degli utenti è di quarantacinquemila megabyte, mio Dio! E la somma delle cartelle che contiene, la somma di ciò che contiene, controllando cliccando sulle proprietà della cartella, non dà nemmeno la trentesima parte.

Non è stato cancellato!!! Si sta solo rallentando, non c'è niente da imprecare.

Niente caricato, niente cancellato, ha fatto fatica a cancellare le foto e poi un filmato Ninja, lo spazio ha aggiunto un bordo come insignificante, un millimetro di rosso.

 
Ho allegato un Trailing Stop a questo EA. Compila a 0 e 0, ma nel tester
Trailinstop non funziona. Per favore consigliatemi come avrei dovuto inserirlo correttamente

Codice Trailingstop.

extern double  lots    = 1,

               No_Loss              = 7,     //перевод в безубыток
               TrailingStop         = 12;     //тралл  

extern string P_Performanc0= "-- 1 --";

extern int TP1BUY   = 222,  
           SL1BUY   = 99999;   

extern string P_Performanc1= "-- 2 --";  

extern int TP2SELL  = 222,
           SL2SELL  = 99999;
           
extern string P_Performanc2= "-- 3 --";         
           
extern int TP3BUY   = 222,         
           SL3BUY   = 99999;

extern string P_Performanc3= "-- 4 --";   
           
extern int TP4SELL  = 222,
           SL4SELL  = 99999;          

extern string P_Performanc4= "-- 5 --";        
           
extern int TP5BUY   = 222,
           SL5BUY   = 99999;
           
extern string P_Performanc5= "-- 6 --";              
           
extern int TP6SELL  = 222,        
           SL6SELL  = 99999;
           
extern string P_Performanc6= "-- 7 --";              
           
extern int TP7BUY   = 222,
           SL7BUY   = 99999; 
           
extern string P_Performanc7= "-- 8 --";              
           
extern int TP8SELL  = 222,
           SL8SELL  = 99999;                   

           
int        last_bar = 0;

int start()
{
   if (TrailingStop!=0) TrailingStop(0,TrailingStop);
   if (No_Loss!=0)      TrailingStop(1,No_Loss);
   string Name;
   //-----------------------------------------------------------------------   
double StopLevel =MarketInfo(Symbol(),MODE_STOPLEVEL);  // текущий уровень стопов  
   if (last_bar == Bars) return(0);
   last_bar = Bars;
   if (OrdersTotal() == 0)
   {
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL1BUY*Point,Ask+TP1BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL3BUY*Point,Ask+TP3BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL5BUY*Point,Ask+TP5BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL7BUY*Point,Ask+TP7BUY*Point);

OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL2SELL*Point,Bid-TP2SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL4SELL*Point,Bid-TP4SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL6SELL*Point,Bid-TP6SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL8SELL*Point,Bid-TP8SELL*Point);
   } 
   return(0);
}
void TrailingStop(int NL, int tral)
{
   int tip,Ticket;
   bool error;
   double StLo,OSL,OOP;
   for (int i=0; i<OrdersTotal(); i++) 
   {  if (OrderSelect(i, SELECT_BY_POS)==true)
      {  tip = OrderType();
         if (tip<8 && OrderSymbol()==Symbol())
         {
            OSL   = OrderStopLoss();
            OOP   = OrderOpenPrice();
            Ticket = OrderTicket();
            if (tip==OP_BUY)             
            {
               if (NL==1 && OSL>OOP) continue;
               StLo = NormalizeDouble(Bid - tral*Point,Digits); 
               if (StLo > OSL && StLo > OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            }                                         
            if (tip==OP_SELL)        
            {
               if (NL==1 && (OSL<OOP&&OSL!=0)) continue;
               StLo = NormalizeDouble(Ask + tral*Point,Digits);
               if ((StLo < OSL||OSL==0) && StLo < OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            } 
         }
      }
   }
}
//--------------------------------------------------------------------
 
Per favore, ditemi se è possibile visualizzare diverse linee dello stesso indicatore in diverse sottofinestre del grafico. Grazie.
 
Aprite l'indicatore in due finestre e impostate la linea indesiderata sul colore di sfondo.