Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1040

 
Cari colleghi, c'è la necessità di definire programmaticamente in quale intervallo di tempo avverrà l'ottimizzazione. Può consigliare se c'è questa possibilità? In OnInit.
 
Anzhela Sityaeva:

La virgola non ha un ruolo nella formula, hai ragione, separa solo il valore dal tipo, per facilità di comprensione niente di più. La quinta elementare è stata molto tempo fa :), e non sono mai stato bravo in matematica, guarda caso. Ma ricordo l'ordine delle operazioni.

La domanda è proprio che in entrambe le versioni dei calcoli il risultatoè lo stesso, quale opzione è corretta?

Oserei dire che sei nato quando io avevo già finito non solo la quinta elementare, ma alcune delle successive. Quindi era come se fosse ieri per me... E se ricordate l'ordine delle operazioni, perché vi viene in mente questa domanda? Se il risultato dei calcoli è lo stesso, un'opzione può essere più corretta dell'altra? Beh, è ovvio che non c'è differenza.
 
Alexey Viktorov:
Oserei dire che sei nato quando io avevo già finito non solo la quinta elementare, ma anche le successive. Quindi era come se fosse ieri per me... E se si ricorda l'ordine delle operazioni, perché c'è questa domanda nella sua mente? Se il risultato dei calcoli è lo stesso, un'opzione può essere più corretta dell'altra? Beh, ovviamente non c'è differenza.
Non è consuetudine chiedere a una ragazza la sua età, ed è irrilevante. Volevo l'opinione di qualcuno che è sull'argomento e oltre a me, dubbi, sai :)
 
Anzhela Sityaeva:
Non è consuetudine chiedere a una ragazza la sua età, ed è irrilevante. Volevo l'opinione di qualcuno che è sull'argomento e oltre a me, dubbi, sai :)

Non ho chiesto la sua età. Ho solo suggerito che sei ancora molto giovane e fai solo finta di non ricordare più nulla.

 
Decromor:

Ciao a tutti...

Sto cercando di rimuovere un indicatore che ho aggiunto da un EA. Sto facendo quanto segue:

In Indicatore:

L'indicatore viene aggiunto, il numero di sottofinestra e il nome breve sono corretti, ma c'è un errore quando si cancella:

2019.05.08 12:01:10.068 2019.04.03 12:39:31 Impossibile eliminare l'indicatore blablabla dalla finestra #2. Codice di errore 4014

4014 - "La funzione di sistema non può essere chiamata". Potete per favore consigliare cosa significa, come rimuovere l'indicatore?

Uno degli indicatori viene utilizzato dall'Expert Advisor per un breve periodo di tempo, il resto del tempo non è necessario e le sue impostazioni diventano irrilevanti. Ecco perché la prima opzione che ho considerato - rimuovere l'indicatore nel momento in cui non è necessario e al momento giusto aggiungerlo con nuove impostazioni. Ma non posso farlo per qualche motivo.

Un'altra variante è: variabili globali. Supponiamo che l'indicatore sarà sempre nella finestra, ma cambierò i suoi parametri di input attraverso le variabili globali al momento necessario.

Giusto? Ci sono altre varianti?

 
Decromor:

Uno degli indicatori viene utilizzato dall'Expert Advisor per un breve periodo di tempo, il resto del tempo non è necessario e le sue impostazioni diventano irrilevanti. Per questo motivo, la prima opzione che ho considerato è stata quella di rimuovere l'indicatore nel momento in cui non è necessario e aggiungerlo al momento giusto con nuove impostazioni. Ma non posso farlo per qualche motivo.

Un'altra variante è: variabili globali. Supponiamo che l'indicatore sarà sempre nella finestra, ma cambierò i suoi parametri di input attraverso le variabili globali al momento necessario.

Giusto? Ci sono altre varianti?

Un indicatore esperto su un grafico è come il pivot di un cane.

 
Alexey Viktorov:

L'indicatore sul grafico è come il giro di un cane.

È perfetto per impostare un esperto.

Questo è il modo in cui lo aggiungo, ma non posso rimuoverlo.

Forum sul trading, sistemi di trading automatico e test di strategia

Domande dai principianti MQL5 MT5 MetaTrader 5

Decromor, 2019.05.08 09:17

Ciao a tutti...

Cerco di rimuovere un indicatore che ho aggiunto da solo da un EA. Sto facendo quanto segue:

//Объявляю переменные
int win_ind=-1,
    handle_ind = INVALID_HANDLE;

//Создаю
   handle_ind= iCustom(NULL,0,"ind");
   if(handle_ind== INVALID_HANDLE){
      Print("Не удалось создать индикатор. Код ошибки: ",GetLastError());
      return(false);
   }
   win_ind=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); //--- получим номер нового подокна, в которое добавим индикатор 
   if(!ChartIndicatorAdd(0,win_ind,handle_ind)){
      Print("Не удалось добавить индикатор на окно графика. Код ошибки: ",GetLastError());
      return(false);
   }

//Удаляю
   string name = ChartIndicatorName(0, win_ind, 0);
   bool res = ChartIndicatorDelete(0, win_ind, name); 
   if (!res) PrintFormat("Не удалось удалить индикатор %s с окна №%d. Код ошибки %d", name,win_ind,GetLastError());

In indicatore:

int OnInit(){
   IndicatorSetString(INDICATOR_SHORTNAME,"blablabla");

L'indicatore viene aggiunto, il numero di sottofinestra e il nome breve sono corretti, ma c'è un errore quando si cancella:

2019.05.08 12:01:10.068 2019.04.03 12:39:31 Impossibile eliminare l'indicatore blablabla dalla finestra #2. Codice di errore 4014

4014 - "La funzione di sistema non può essere chiamata". Si prega di consigliare cosa significa, come rimuovere l'indicatore?


 
Decromor:

Per impostare un esperto, va bene.


Questa non è una risposta alla mia domanda. Per essere più precisi, è una controreplica. Poi ho messo il mio pensiero sotto forma di domanda: perché l'EA ha bisogno di un indicatore sul grafico?

Se vogliamo rifiutare dal manico dell'indicatore inutilizzato, c'è un'altra funzione per questo. E l'indicatore stesso sul grafico a che scopo?

 
C'è una soluzione pronta per non reinventare la ruota?
Abbiamo bisogno di rispondere a una semplice domanda - quanti trade chiusi (chiamiamoli così) ci sono stati nella storia (per una particolare coppia o periodo non è importante, la cosa principale è il principio). Da quanto ho capito non è un compito banale in mql5. Non ho nemmeno un nome per questa entità))
 
Evgeny Dyuka:
Avete una soluzione pronta senza dover reinventare la ruota?
Abbiamo bisogno di rispondere a una semplice domanda - quanti trade chiusi (chiamiamoli così) ci sono stati nella storia (per una certa coppia o periodo non è importante, la cosa principale è il principio). Da quanto ho capito non è un compito banale in mql5. Non abbiamo nemmeno un nome per questa entità))

Perché no?

bool  HistorySelect(
   datetime  from_date,     // с даты
   datetime  to_date        // по дату
   );

E poi in un ciclo setacciamo quello che ci serve.

O per una posizione specifica.

bool  HistorySelectByPosition(
   long   position_id     // идентификатор позиции - POSITION_IDENTIFIER
   );
Документация по MQL5: Торговые функции / HistorySelect
Документация по MQL5: Торговые функции / HistorySelect
  • www.mql5.com
Функция HistorySelect() создает в mql5-программе список ордеров и список сделок для дальнейшего обращения к элементам списка посредством соответствующих функций. Размер списка сделок можно узнать с помощью функции HistoryDealsTotal(), размер списка ордеров в истории можно получить с HistoryOrdersTotal(). Перебор элементов списка ордеров лучше...
Motivazione: