Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1099

 
alvlaf:
L'ho provato, i primi cinque minuti ha funzionato bene, poi ho iniziato ad aprire diversi trade contemporaneamente (4) e sulla stessa coppia con un lotto aumentato. Alexander, non mi è molto chiaro nella tua versione, come fa la variabile globale a ottenere e cambiare il suo valore?
Quindi, iniziate in modo sequenziale. Per prima cosa, prova tutti i possibili trade su una coppia, e poi eseguilo su diverse coppie. (4) è il numero di scambi?
Quando l'EA viene avviato, alla variabile viene assegnato 1, se non c'è tale variabile (nel tuo caso c'è sicuramente, dato che è memorizzata per 4 settimane). Ad ogni tick questa variabile permette o non permette nuove transazioni - questo è il suo unico significato. Se un trade è in perdita o non redditizio, AllowNewOrders=0, altrimenti - 1. Prima di controllare i segnali di acquisto/vendita, questa variabile viene controllata e il ciclo viene rimosso dal ciclo, senza aprire alcun ordine. Se vengono aperti 4 ordini su un simbolo, per di più con un lotto più grande, CountTrades ovviamente non funziona. Non posso controllare io stesso, perché Internet è molto, molto male dove mi trovo. E a proposito, per me sulle opzioni Grand Capital su qualsiasi timeframe un nuovo tick arriva solo con una nuova candela - è lo stesso per voi?

 
A13ksandr:
Quindi si inizia in modo sequenziale. Prima prova su una coppia tutti i possibili trade, poi esegui solo su alcuni. (4) - è questo il numero di accordi?
Quando l'EA viene avviato, alla variabile viene assegnato 1, se non c'è tale variabile (nel tuo caso c'è sicuramente, dato che è memorizzata per 4 settimane). Ad ogni tick questa variabile permette o non permette nuove transazioni - questo è il suo unico significato. Se un trade è in perdita o non redditizio, AllowNewOrders=0, altrimenti - 1. Prima di controllare i segnali di acquisto/vendita, questa variabile viene controllata e il ciclo viene rimosso dal ciclo, senza aprire alcun ordine. Se vengono aperti 4 ordini su un simbolo, per di più con un lotto più grande, CountTrades ovviamente non funziona. Non posso controllare io stesso, perché Internet è molto, molto male dove mi trovo. E a proposito, per me sulle opzioni Grand Capital su qualsiasi timeframe un nuovo tick arriva solo con una nuova candela - è lo stesso per voi?

Alexander, penso che non sia corretto assegnare 1 alla variabile globale al momento del lancio, dato che dobbiamo aspettare che si apra almeno un ordine. Penso che dovremmo legare il valore di AllowNewOrders aOrdersTotal o CountTrades, così cambierebbe quando si apre la prima serie. Cercherò di farlo oggi, ma sono molto inesperto, quindi se mi dite come indicarlo correttamente nel codice, vi sarò molto grato. Nel mio terminale i tick arrivano in qualsiasi momento della barra corrente, anche su M1. (4) - è il numero di offerte aperte dal bot in una sola volta. E l'ho testato nel modo che consigliate.
 
trader_fx:
https://docs.mql4.com/ru/objects/objectgetdouble
https://docs.mql4.com/ru/objects/objectgetinteger

Grazie! Ho capito. Ora ecco una domanda. Queste funzioni funzionano per ottenere valori dagli oggetti. Ma come ottenere i valori, diciamo, delle frecce,

che sono visibili nel grafico, ma non sono visibili nella lista degli oggetti. Per esempio, se le frecce sono disegnate, per esempio :

SetIndexStyle(0, DRAW_ARROW);

SetIndexArrow(0, 234);

\\\\

ObjectsTotal() (e altre funzioni oggetto) non vedono queste frecce....

 
ilmel:

Grazie! Ho capito. Ora ecco una domanda. Queste funzioni funzionano per ottenere valori dagli oggetti. Ma come ottenere i valori, diciamo, delle frecce,

che sono visibili nel grafico, ma non sono visibili nella lista degli oggetti. Per esempio, se le frecce sono disegnate, per esempio :

SetIndexStyle(0, DRAW_ARROW);

SetIndexArrow(0, 234);

\\\\

ObjectsTotal() (e altre funzioni oggetto) non vedono queste frecce....

iCustom al salvataggio

 
Ciao, qualcuno sa cosa c'era il 2 settembre?
 

Buonasera, potreste dirmi dov'è l'errore, ho preso l'indicatore dal tutorial mql4https://book.mql4.com/ru/samples/icustom. Ma voglio che la busta sia in una finestra separata. Nella schermata nella finestra principale l'indicatore del tutorial, nella finestra inferiore ho

.Screenshot

#property strict
#property indicator_separate_window
#property indicator_minimum 1
#property indicator_buffers 1
#property  indicator_color1 Blue

double Buf_0[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
  SetIndexBuffer(0,Buf_0);
  SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,clrAqua);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i,                           // Индекс бара
       Counted_bars;                // Количество просчитанных баров 
    Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      Buf_0[i]=Close[i];             // Значение 0 буфера на i-ом баре     
      i--;                          // Расчёт индекса следующего бара
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
bobrush:

Buonasera, potreste dirmi dov'è l'errore, ho preso l'indicatore dal tutorial mql4https://book.mql4.com/ru/samples/icustom. Ma voglio che la busta sia in una finestra separata. Potete vedere l'indicatore del libro nella finestra principale e nella finestra inferiore - il mio indicatore


Perché dovrei impostare il minimo?

#property indicator_minimum 1???

Perché devo usare due colori diversi?

Ma l'errore principale era nello stile del buffer, il numero di parametri era un po' spento.

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,0,indicator_color1);

Beh, sembra così:

#property strict
#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Blue

double Buf_0[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
  SetIndexBuffer(0,Buf_0);
  SetIndexStyle(0,DRAW_LINE,0,0,indicator_color1);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int i=rates_total-prev_calculated-1;
   if(prev_calculated>0)     i++;

   while(i>=0)                      // Цикл по непосчитанным барам
     {
      Buf_0[i]=сlose[i];             // Значение 0 буфера на i-ом баре     
      i--;                          // Расчёт индекса следующего бара
     }
   return(rates_total);
  }
 
evillive:

Perché fissare il minimo?

#property indicator_minimum 1???

Sì, e il colore due volte, perché, e diverso?

Ma l'errore principale è nello stile del buffer, il numero di parametri era un po' sballato.

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,0,indicator_color1);

Beh, sembra così:

Grazie mille! Riguardo a#propertyindicator_minimum1 non so a cosa serva :) se non difficile da spiegare? La mia esperienza di programmazione è di 3 EA falliti

 
bobrush:Riguardo a#propertyindicator_minimum1 non so a cosa serva :) Se non è difficile da spiegare?

Il limite inferiore della scala di una finestra separata dell'indicatore, tutto ciò che è fuori dai limiti non viene mostrato nella finestra. Di solito, il minimo-massimo viene impostato quando si ha bisogno di una scala di indicatori fissa e si sa che i suoi valori non vanno oltre questo limite.
 
evillive:

Il limite inferiore della scala della finestra dell'indicatore individuale, qualsiasi cosa al di fuori di questo limite non viene mostrata nella finestra. Di solito il minimo-massimo viene impostato quando è richiesta una scala fissa di indicatori e si sa che i suoi valori non devono andare oltre questo limite.
oh, proprio quello che stavo cercando, grazie)
Motivazione: