Teoria dell'accelerazione EA quando si usa un indicatore personalizzato (funzione - iCustom) - pagina 7

 
Dennis Kirichenko:

No. C'è una funzione magica che rimescola tutti i tentativi:

Questo meccanismo è incorporato nel terminale linguistico stesso. Anche se l'idea è interessante...

Purtroppo... Continueremo a pensare.

Dennis Kirichenko:

Cosa vuol dire che è finita? :-)

Significa che l'indicatore ha iniziato a restituire zeri invece di cifre.

Dennis Kirichenko, Karputov Vladimir - grazie per le informazioni sulle funzioni!

Solo non capisco, qual è la differenza tra TERMINAL_MEMORY_TOTAL e TERMINAL_MEMORY_AVAILABLE?

TERMINAL_MEMORY_TOTAL è la memoria massima disponibile, e TERMINAL_MEMORY_AVAILABLE è la memoria rimanente, giusto?

 
-Aleks-:

Non capisco la differenza tra TERMINAL_MEMORY_TOTAL e TERMINAL_MEMORY_AVAILABLE?

TERMINAL_MEMORY_TOTAL è la memoria massima disponibile, e TERMINAL_MEMORY_AVAILABLE è la memoria rimanente, giusto?

Ecco il modo migliore per controllarlo da soli: aprite il terminale; aprite Task Manager; eseguite uno script che stampi i valori di TERMINAL_MEMORY_TOTAL, TERMINAL_MEMORY_AVAILABLE e confrontateli con le letture in Task Manager.
 
In quattro, aggiungeremo una cancellazione automatica più aggressiva di tali copie di indicatori.
 
-Aleks-:
Ho provato manualmente, cambiando il template con molti indicatori a quasi vuoto - l'effetto c'è (ma la cache rimane - penso che non sia critico). Ma come fare l'apertura e la chiusura attraverso uno script template - non lo so. Ho capito che il dubbio è che finché lo script è in esecuzione, la memoria non viene cancellata... Andrei, per favore aiuta l'esperimento.

Cosa non funziona? Cosa c'è di utile? Dov'è il tentativo? Dov'è il codice?

ChartOpen per aprire il grafico. Poi su di esso ChartApplyTemplate con il nome di un modello pre-progettato (sarà sempre lo stesso, non c'è bisogno di scriverlo). Poi ChartClose.

Misurare la memoria attraverso la funzione proposta. Oppure puoi scaricare il mio indicatore gratuito iMemory, creato appositamente per questo scopo.

 
Renat Fatkhullin:
In quattro aggiungeremo una cancellazione automatica più aggressiva di tali copie di indicatori.

Urrà! Che bello quando chi è al potere ti ascolta!

E "tali copie indicatrici" sono quelle causate dal primo quando c 'è una carenza di memoria per il secondo, o qualcos'altro?

 
Andrey Khatimlianskii:

Cosa non funziona? Cosa c'è di utile? Dov'è il tentativo? Dov'è il codice?

ChartOpen per aprire il grafico. Poi su di esso ChartApplyTemplate con il nome di un modello pre-progettato (sarà sempre lo stesso, non c'è bisogno di scriverlo). Poi ChartClose.

Misurare la memoria attraverso la funzione proposta. Oppure puoi scaricare il mio indicatore gratuito iMemory, creato appositamente per questo scopo.

Che tipo di programmatore sono? Qui ho iniziato a scrivere lo script - il primo comando per aprire il grafico non dà alcun risultato. Cosa c'è che non va?

//+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



long  ChartOpen(string GBPUSD, ENUM_TIMEFRAMES  PERIOD_H1);

   

void OnStart()

  {

  }

//+------------------------------------------------------------------+

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
-Aleks-:

Che tipo di programmatore sono io.... iniziato a scrivere lo script - il primo comando per aprire il grafico non dà risultati. Cosa c'è che non va?

Quindi volevi dire "fallo per me", non "aiutami"? Questo è quello che si dice.

Non è così - quasi tutto: la funzione ChartOpen deve essere chiamata dal corpo della funzione OnStart. Il primo parametro - stringa, deve essere tra virgolette. Non è necessario specificare il tipo di dati (stringa e ENUM_TIMEFRAMES) quando si chiama).

Cominciate a cercare esempi di utilizzo della funzione o della documentazione (ci sono esempi anche lì).

 
Andrey Khatimlianskii:

Quindi volevi dire "fallo per me", non "aiutami"? Questo è quello che si dice.

Non è così - praticamente tutto: la funzione ChartOpen dovrebbe essere chiamata dal corpo della funzione OnStart. Il primo parametro - stringa, deve essere tra virgolette. Non è necessario specificare il tipo di dati (stringa e ENUM_TIMEFRAMES) quando si chiama).

Cominciate a cercare esempi di utilizzo della funzione o della documentazione (ci sono esempi anche lì).

Questo è il punto, non c'è un esempio adeguato nella guida.

Secondo i vostri commenti, l'ho rifatto:

 //+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



   

void OnStart()

  {

   long  ChartOpen("GBPUSD",   PERIOD_H1);

  }

//+------------------------------------------------------------------+


Ricevo degli errori durante il clmping, cosa c'è che non va?

'Scripts.mq4' Scripts.mq4 1 1

'ChartOpen' - la funzione può essere dichiarata solo nell'ambito globale Scripts.mq4 21 10

'GBPUSD' - dichiarazione senza tipo Scripts.mq4 21 20

'GBPUSD' - virgola prevista Scripts.mq4 21 20

'PERIOD_H1' - dichiarazione senza tipo Scripts.mq4 21 32

4 errore(i), 0 avviso(i) 5 1

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
-Aleks-:

Questo è il punto, non c'è un esempio adeguato nella guida.

L'ho rifatto secondo i vostri commenti:

 //+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



   

void OnStart()

  {

   long  ChartOpen("GBPUSD",   PERIOD_H1);

  }

//+------------------------------------------------------------------+


Ricevo degli errori durante il clmping, cosa c'è che non va?

'Scripts.mq4' Scripts.mq4 1 1

'ChartOpen' - la funzione può essere dichiarata solo nell'ambito globale Scripts.mq4 21 10

'GBPUSD' - dichiarazione senza tipo Scripts.mq4 21 20

'GBPUSD' - virgola prevista Scripts.mq4 21 20

'PERIOD_H1' - dichiarazione senza tipo Scripts.mq4 21 32

4 errore(i), 0 avviso(i) 5 1

Ci vuole troppo tempo per spiegare cosa c'è di sbagliato :)

void OnStart()

  {

   ChartOpen("GBPUSD",   PERIOD_H1);

  }
 
-Aleks-:

Questo è il punto: non c'è un esempio adeguato nell'helpdesk.

Oltre alla helpline, c'è un codobase e un forum. La ricerca funziona.

ps: ugh, l'inserimento del link nel post è rotto =(

https://www.mql5.com/ru/search#!keyword=ChartOpen&page=2