Discussione sull’articolo "Il Wizard MQL5 per principianti"

 

Il nuovo articolo Il Wizard MQL5 per principianti è stato pubblicato:

All'inizio del 2011 abbiamo rilasciato la prima versione del Wizard MQL5. Questa nuova applicazione fornisce uno strumento semplice e conveniente per generare automaticamente robot di trading. Qualsiasi utente MetaTrader 5 può creare un Expert Advisor personalizzato senza nemmeno sapere come programmare in MQL5.

Pertanto, abbiamo delineato i parametri di base per il nostro Expert Advisor. Ora possiamo iniziare a lavorare nel wizard MQL5. Per avviare il programma, apri il programma MetaEditor e clicca su "Create" nella scheda "File" del menu principale. Nella finestra visualizzata, seleziona "Genera Expert Advisor":

Generate Expert Advisor

Autore: MetaQuotes

 

Domande per gli sviluppatori:

1. Perché non è possibile utilizzare altri segnali?

Ad esempio,"Segnali basati sull'incrocio di due EMA".

https://www.mql5.com/ru/forum/2935/page1

2. La libreria di segnali sarà aggiornata?

3. Sarà possibile creare classi di segnali personalizzate utilizzando il "Wizard"?

4. Sarà possibile creare indicatori basati su array di indicatori utilizzando il "Wizard"?

5. Sarà possibile salvare le impostazioni della procedura guidata per un'ulteriore regolazione della strategia/indicatore creato direttamente nella procedura guidata.

A mio parere, i punti da 3 a 5 3-5 renderebbero la vita dei trader "non programmatori" molto più semplice.

E una "fantasia" completa sarebbe la possibilità di creare le proprie cassette di segnali per qualsiasi indicatore con l'aiuto della procedura guidata, come scrivere equazioni in Excel :)

Come è implementato in Metaquots e CQG.

Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних
Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних
  • www.mql5.com
В статье Создание эксперта без программирования с помощью Мастера MQL5 описаны шаги по автоматическому созданию кода советника при помощи Мастера MQL5.
 
Sto scrivendo il mio modulo di segnali, in cui la funzione di test è la seguente:
//+------------------------------------------------------------------+
//| Verifica se la condizione per la vendita è stata soddisfatta.
//| INPUT:nessuno|
//| USCITA: Peso della voce da 0 a 100|
//| NOTA: No.|
//+------------------------------------------------------------------+
int CInnerBarSignal::ShortCondition(){
//--- la condizione è verificata dalla barra chiusa precedente

  
   Print("call short condition");
   if(  Low(1) < Low(2) && High(2)<High(3) && Low(2)>Low(3) && Close(3)<Open(3) ){
     return(100);
   }
//--- condizione non soddisfatta
   return(0);
  }

quando si esegue l'EA generato in modalità "all ticks", si può vedere che la funzione viene eseguita due volte all'apertura della barra

2011.06.07 11:42:15 Core 1 connessione chiusa

2011.06.07 11:42:15 Core 1 file di log "D:\metatrader5\Tester\Agent-127.0.0.0.1-3000\logs\20110607.log" scritto

2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 ticks (24 barre) generati in 62 ms (barre totali nella storia 8814, tempo totale 312 ms)

2011.06.07 11:42:15 Core 1 Risultato OnTester 0

2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00 chiamata condizione short

2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00:00 chiamata condizione short

2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00 chiamata condizione breve

2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 chiamata condizione breve

2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 19:00:00 call short condition

È questo il modo in cui è stato progettato e l'elaborazione postica non è disponibile nel modulo di segnale?

Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования
  • 2010.12.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
 
gdtt:
Sto scrivendo il mio modulo di segnali, in cui la funzione di test è la seguente:

quando si esegue l'EA generato in modalità "all ticks", si può vedere che la funzione viene eseguita due volte all'apertura della barra

2011.06.07 11:42:15 Core 1 connessione chiusa

2011.06.07 11:42:15 Core 1 file di log "D:\metatrader5\Tester\Agent-127.0.0.0.1-3000\logs\20110607.log" scritto

2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 ticks (24 barre) generati in 62 ms (barre totali nella cronologia 8814, tempo totale 312 ms)

2011.06.07 11:42:15 Core 1 Risultato OnTester 0

2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00 chiamata condizione short

2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00:00 chiamata condizione short

2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00 chiamata condizione breve

2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 chiamata condizione breve

2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition

2011.06.07 11:42:15 Core 1 2011.06.02 19:00:00 call short condition

È questo il modo in cui è stato progettato e l'elaborazione postica non è disponibile nel modulo di segnale?

Per impostazione predefinita, l'Expert Advisor viene generato dalla procedura guidata per lavorare sui prezzi di apertura.

Nel codice sorgente dell'Expert Advisor, sostituire:

//--- Inizializzazione dell'esperto
   if(!Ext_Expert.Init(...,...,false,...))

a:

//--- Inizializzazione dell'esperto
   if(!Ext_Expert.Init(...,...,true,...))
 

All'inizio del 2011 abbiamo rilasciato la prima versione di Wizard MQL5. Questo passo ha fornito ai trader uno strumento semplice e chiaro per la creazione automatica di robot di trading. Qualsiasi utente di MetaTrader 5 è stato in grado di scrivere il proprio Expert Advisor senza conoscere la programmazione in MQL5.


Questo è un bene, ma non è sufficiente per i principianti per scrivere i propri robot, cioè è possibile scriverli, ma solo utilizzando la propria libreria. E se un principiante avesse bisogno di scrivere un Expert Advisor con i propri segnali? Ecco...

Se volete che un principiante sia in grado di scrivere il proprio Expert Advisor, dovete aggiungere un visualizzatore. Questo è implementato, ad esempio, in Trade Navigator. È possibile aggiungere segnali alla libreria selezionando una sezione del grafico. Il visualizzatore trasferisce tutto nel linguaggio di programmazione. E tiene conto di tutto, candele, indicatori e linee grafiche sul grafico. In altre parole, è possibile creare qualsiasi libreria. E poi si può costruire qualsiasi Expert Advisor a partire da questi segnali. Questo è ciò a cui dovremmo aspirare.

Saluti!

 
NGN:


Questo è un bene, ma non è sufficiente per i principianti per scrivere i propri robot, cioè, naturalmente, è possibile scrivere, ma solo utilizzando la propria libreria. E se un principiante avesse bisogno di scrivere un esperto dei propri segnali? Ecco...

Se volete che un principiante sia in grado di scrivere il proprio Expert Advisor, dovete aggiungere un visualizzatore. Questo è implementato, ad esempio, in Trade Navigator. È possibile aggiungere segnali alla libreria selezionando una sezione del grafico. Il visualizzatore trasferisce tutto nel linguaggio di programmazione. E tiene conto di tutto, candele, indicatori e linee grafiche sul grafico. In altre parole, è possibile creare qualsiasi libreria. E poi si può costruire qualsiasi Expert Advisor a partire da questi segnali. Questo è ciò a cui dovremmo aspirare.

Saluti!

Non conoscete ancora questi articoli?

1. MQL5 Wizard: Come scrivere il proprio modulo per la manutenzione delle posizioni aperte

2. MQL5 Wizard: Come scrivere il proprio modulo di gestione del capitale e del rischio

3. MQL5 Wizard: Come scrivere il modulo per i segnali di trading

4. MQL5 Wizard: Creare un Expert Advisor senza programmazione

5. MQL5 Wizard: Nuova versione

 

Potete dirmi come inserire gli ordini pendenti nella procedura guidata?

Un'altra domanda: questo codice è corretto?

//+------------------------------------------------------------------+
//|L'oggetto esperto globale|
//+------------------------------------------------------------------+
CExpert ExtExpert;
CExpert ExtExpert1;

//+------------------------------------------------------------------+
//| Funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Inizializzazione dell'esperto
   if(!ExtExpert.Init("GBPCHF",Period(),Expert_EveryTick,Expert_MagicNumber) || 
      !ExtExpert1.Init("GBPJPY",Period(),Expert_EveryTick,Expert_MagicNumber))
     {
      //--- fallito
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      ExtExpert1.Deinit(); 
      return(-1);
     }

E quale simbolo/periodo impostare nel tester in questo caso?

2011.06.16 10:15:25     Core 1  2011.06.01 00:00:00   CExpert::Init: wrong symbol or timeframe (must be GBPCHF:PERIOD_H1)
 
beginner:

Potete dirmi come inserire ordini pendenti nella procedura guidata?

Nell'Expert Advisor generato c'è un parametro Inp_Signal_PricrLivel. è impostato in 2/4 punti significativi.

Valore 0 - entrata nel mercato.

Valore maggiore di 0 - l'entrata è migliore del mercato (secondo l'ordine limite).

Valore inferiore a 0 - l'entrata è peggiore del mercato (secondo l'ordine di stop).

Non sono pronto a rispondere subito alla seconda domanda.
 

Ecco i parametri

//+------------------------------------------------------------------+
//| Ingressi|
//+------------------------------------------------------------------+
//--- input per l'esperto
input string Expert_Title         ="2";   // Nome del documento
int          Expert_MagicNumber   =13179; // 
bool         Expert_EveryTick     =false; // 
//--- ingressi per il segnale principale
input int    Signal_ThresholdOpen =10;    // Valore di soglia del segnale da aprire [0...100].
input int    Signal_ThresholdClose=10;    // Valore di soglia del segnale da chiudere [0...100].
input double Signal_PriceLevel    =0.0;   // Livello di prezzo per l'esecuzione di una transazione
input double Signal_StopLevel     =50.0;  // Livello di stop loss (in punti)
input double Signal_TakeLevel     =50.0;  // Livello di take profit (in punti)
input int    Signal_Expiration    =4;     // Scadenza degli ordini pendenti (in barre)
input double Signal__Weight       =1.0;   // Peso della barra interna [0...1.0]
//--- input in cambio di denaro
input double Money_FixLot_Percent =10.0;  // Percentuale.
input double Money_FixLot_Lots    =0.1;   // Volume fisso
Come devo eseguire per poter entrare a mercato su una qualsiasi delle opzioni.
 
beginner:

Ecco i parametri

Come devo formattarmi per poter entrare nel mercato su una delle due opzioni.

Per entrare meglio del mercato (sul rimbalzo):

input double Signal_PriceLevel    =50.0;   // Livello di prezzo per l'esecuzione di una transazione

Per entrare peggio del mercato (sul breakout):

input double Signal_PriceLevel    =-50.0;   // Livello di prezzo per l'esecuzione di una transazione

Ma è possibile rilevarlo nel tester eseguendo l'ottimizzazione sul parametro da -50,0 a 50,0 con incrementi di 1,0(5,0).

 
uncleVic:
Non sono pronto a rispondere subito alla seconda domanda.

Oppure ditemi come fare trading su 2 strumenti.