Discussione sull’articolo "Crea il Tuo Robot di Trading in 6 Passaggi!" - pagina 7

 

Ho provato a usare questo articolo per creare il mio programma, ma è troppo complicato per i miei semplici scopi. Ho provato a creare un programma semplice, ma il compilatore ha trovato (solo) un errore: Classe con "nessun tipo". E non importa cosa ho inserito come "tipo" o "nome" della classe, non c'è stato alcun cambiamento.

Ecco l'inizio. Cosa sto sbagliando?


//|KaufVerkauf.mq5 |

//|Copyright ....2012 |
//|http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright .... 2012"
#property link"http://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Include|
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>


//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Inizializzazione dell'oggetto Expert |
//+------------------------------------------------------------------


//---- maniglie per gli indicatori
int RSI_handle = 0;// handle dell'indicatore iRSI
intADX_handle = 0; // handle dell'indicatore iADX
intForce_handle = 0; // handle dell'indicatore iForce
int AD_handle = 0; // handle dell'indicatore iADX // handle dell'indicatore iAD
int Close_handle = 0;
intHigh_handle = 0;
int Low_handle = 0;
int VTick_handle = 0;
int VReal_handle = 0;
int sig =0;


double MqlParams[]; // Array per la memorizzazione dei parametri dell'indicatore

//+------------------------------------------------------------------+
//| Funzione di inizializzazione dell'esperto RSI|
//+------------------------------------------------------------------+

Classe CExpertSignal

{
private:

int OnInit()

//--- creazione dell'indicatore iRSI...........
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 

Grazie mille.

Ho provato a testare questo:

- Scarico il tuo codice, lo copio in MQL5 e lo compilo: nessun errore.

- Ma l'EA non può essere eseguito, genera un errore come sotto:

TestMA_Cross (EURUSD,H1) MA_Cross::CreateFastMA: errore di inizializzazione dell'oggetto della MA veloce

Per favore aiutatemi a capire cosa c'è di sbagliato in questi parametri:

//--- Impostazione dei parametri della MA veloce
   MqlParam parameters[4];
//---
   parameters[0].type=TYPE_STRING;
   parameters[0].string_value="Examples\\Custom Moving Average.ex5";
   parameters[1].type=TYPE_INT;
   parameters[1].integer_value=m_period_fast;      // Periodo
   parameters[2].type=TYPE_INT;
   parameters[2].integer_value=0;                  // Turno
   parameters[3].type=TYPE_INT;
   parameters[3].integer_value=m_method_fast;      // Metodo di calcolo della media
//--- Inizializzazione dell'oggetto
   if(!m_fast_ma.Create(m_symbol.Name(),m_period,IND_CUSTOM,4,parameters))
     {
      printf(__FUNCTION__+": Error initializing the object of the fast MA");
      return(false);
     }

Ancora una volta, grazie mille.

 

Prima di tutto vorrei ringraziare l'autore (o gli autori) per questo articolo.
Sono nuovo di MetaTrader, MQL5 e del trading sul Forex, quindi questi articoli sono davvero utili!

Quando provo questo EA, noto che per chiudere una posizione long, dà un segnale di vendita con un lotto raddoppiato.
Perché non solo chiude la mia posizione long, ma entra direttamente in una short allo stesso segnale?
Come primo test per capire tutta la programmazione, vorrei andare solo long, quindi solo aprire e chiudere una posizione long
senza entrare in una posizione short al segnale di chiusura/vendita.

Grazie in anticipo.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Symbol Properties - Documentation on MQL5
 

Buon pomeriggio,

Vi prego di consigliarmi come aumentare (top up) una posizione in un Expert Advisor, che è scritto sulla base di MQL5 Wizard e dove le posizioni sono aperte tramite

virtual int LongCondition();
virtual int ShortCondition();

Ho scritto il robot seguendo le raccomandazioni dell'articolo

https://www.mql5.com/it/articles/367 "Creare un robot di trading in 6 passi" e funziona bene, ma tenta di influenzare la dimensione della posizione (non importa se per aumentare o diminuire)

(non importa se aumentare o diminuire) attraverso la generazione ripetuta di una condizione in , ad esempio in

LongCondition();

non porta a nulla, la posizione già aperta non viene modificata, può essere eliminata solo eseguendo la condizione di chiusura o attivando sl , tp.

Mi piace il Wizard di MQL5, si può facilmente e rapidamente "costruire" un Expert Advisor multi-indicatore, cambiare il modulo di tracciamento degli sl, cambiare il modulo di gestione del denaro.

Ma il mio tentativo di scrivere un Expert Advisor che apra una posizione minima quando una condizione è formata da un indicatore e aumenti (riempia) la posizione quando la tendenza è confermata da un altro indicatore.

Mi sono imbattuto nel problema sopra descritto - la posizione già aperta non cambia quando viene emesso il segnale per aprirla di nuovo attraverso, ad esempio, LongCondition();

Grazie.

Создай торговый робот за 6 шагов!
Создай торговый робот за 6 шагов!
  • 2012.06.01
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
 

Se eseguo questo esempio nel tester della strategia mt5, e scelgo l'asset come pex. Vale5, algoritmo genetico, d1, ohlc 1 minuto, equilibrio massimo, dà un errore!

Se lo eseguo su una coppia forex, la stessa ottimizzazione sembra completarsi (non mi aspettavo che lo facesse perché richiede troppo tempo sull'agente locale).

L'errore che appare nel diario del tester, in questo caso per Vale5, ha a che fare con OnInit. Qualcuno ha riscontrato lo stesso problema? Se sì, siete giunti a qualche soluzione e/o conclusione?

Grazie se qualcuno può aiutarmi!

 
fspyna:

Se eseguo questo esempio nel tester della strategia mt5, e scelgo l'asset come pex. Vale5, algoritmo genetico, d1, ohlc 1 minuto, equilibrio massimo, dà un errore!

Se lo eseguo su una coppia forex, la stessa ottimizzazione sembra completarsi (non mi aspettavo che lo facesse perché richiede troppo tempo sull'agente locale).

L'errore che appare nel diario del tester, in questo caso per Vale5, ha a che fare con OnInit. Qualcuno ha riscontrato lo stesso problema? Se sì, siete giunti a qualche soluzione e/o conclusione?

Grazie se qualcuno può aiutarmi!

Ciao, per favore fornisci ulteriori informazioni, come un log degli errori o degli screenshot, in modo che possiamo cercare di analizzare meglio il problema.

Una semplice descrizione come quella fornita sopra non aiuta molto a identificare il problema.

Cordiali saluti,
Malacarne

 

Non ho alcuna esperienza (ancora) con la programmazione in MQL, ma ho una certa esperienza nella programmazione in altri linguaggi. Uno degli errori più facili da commettere nella programmazione (il mio corso specifico era Java, che è molto simile nello stile a C++ e apparentemente a MQL) è quello di non chiudere correttamente le parentesi graffe. È uno degli errori più facili da commettere e, viceversa, anche uno dei più difficili da trovare.KJG, per quanto riguarda la chiusura di una posizione lunga e l'entrata in una corta, è probabilmente ciò che questo stile di EA è stato progettato per fare. Ho visto molti stili di trading con questo tipo di impostazione, credo che siano stati progettati per un mercato che ha molta volatilità e ampie oscillazioni di prezzo che si verificano in continuazione, come qualcosa che probabilmente accadrebbe su un grafico a tempo minuto.

Anche questo è un buon articolo. Sicuramente farò uso di questo e di molti altri.

 
Ho seguito le istruzioni dei punti 1 e 2, ma il segnale non compare nell'elenco Wizard dei segnali disponibili. Ho provato con altri segnali e nessuno funziona. Forse c'è una limitazione nel numero di segnali che possono essere visualizzati nella procedura guidata. Qualcuno può aiutarmi?
 

Buonasera,

Quando si tenta di testare il robot si ottiene il seguente errore.

2017.07.04 18:20:27.404 tester si è fermato perché OnInit non è riuscito.

Sto sbagliando qualcosa o c'è un'impostazione da fare nel robot?

Salute

Carlos F.

 

Le diverse fasi di costruzione sono ben spiegate. Si tratta di un lavoro chiaro e utile, soprattutto per chi non ha mai sviluppato un robot. Grazie