Per favore consigliate come aumentare (ricaricare) una posizione in un EA basato su MQL5 Wizard, dove le posizioni sono aperte usando
virtual int LongCondition(); virtual int ShortCondition();
Ho scritto un robot basato sul seguente articolo
https://www.mql5.com/ru/articles/367"Create a trading robot in 6 steps" e funziona bene, ma ogni tentativo di influenzare la dimensione della posizione
(se aumenta o diminuisce) attraverso la generazione ripetuta della condizione in , per esempio
LongCondition();
La posizione già aperta rimane invariata, può essere cancellata solo con l'attivazione di sl , tp.
Mi piace MQL5 Wizard, è veloce e facile da 'costruire' un EA multi-indicatore, cambiare il modulo di tracciamento sl, cambiare il modulo di gestione del denaro.
Ma il mio tentativo di scrivere un EA che apre una posizione minima se un indicatore condiziona e aumenta (aumenta) la posizione se il trend è confermato da un altro indicatore
mi sono imbattuto nel problema precedentemente descritto - una posizione già aperta non cambia quando si riemette un segnale di apertura tramite, ad esempio,LongCondition();
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
Per favore consigliate come aumentare (ricaricare) una posizione in un Expert Advisor che è basato su MQL5 Wizard e dove le posizioni sono aperte tramite
Purtroppo, il caso che descrivi rientra nella categoria del "miglioramento" qui (nel Forum).
Per risolvere il problema, è necessario cambiare il comportamento dell'Expert Advisor. Per fare questo:
1. Dobbiamo creare una nuova classe (per esempio CMyExpert) che eredita dalla classe CExpert.
2. Ricarica il metodo Processing in esso, cambiando il suo comportamento.
3. Sostituire (manualmente) il file include nel codice sorgente di Expert Advisor.
#include <Expert\Expert.mqh>
a
#include <Expert\MyExpert.mqh>
4. Sostituisci (manualmente) il nome della classe nel codice sorgente di Expert Advisor.
CExpert ExtExpert;
a
CMyExpert ExtExpert;
L'esempio di classe è allegato. L'uscita dal metodo se c'è una posizione aperta e non ci sono operazioni su di essa è commentata (linea 53).
Non dimenticare di seguire i punti 3 e 4 dopo ogni "rigenerazione" dell'Expert Advisor nel Wizard.
Salve, potreste dirmi perché non riesco ad accedere al terminale. Inserisco il server, il numero di account e la password, ma nel log appare la seguente voce: 2013.04.05 12:51:20 Network'68712': connection to 208.64.66.68:443 lost
Ho provato un altro server, stessa cosa, cosa sto facendo di sbagliato?
Sfortunatamente, il caso che descrivi rientra nella categoria di ciò che qui (nel Forum) si chiama "messa a punto".
Per risolvere il problema, è necessario cambiare il comportamento dell'esperto. Per fare questo:
1. Dovete creare una nuova classe (per esempio CMyExpert) che eredita dalla classe CExpert.
2. Ricarica il metodo Processing in esso, cambiando il suo comportamento.
3. Sostituire (manualmente) il file include nel codice sorgente di Expert Advisor.
a
4. Sostituisci (manualmente) il nome della classe nel codice sorgente di Expert Advisor.
a
Un esempio di classe è allegato. L'uscita dal metodo se c'è una posizione aperta e non ci sono operazioni su di essa è commentata (linea 53).
Ricordati di seguire i passi 3 e 4 dopo ogni "rigenerazione" dell'Expert Advisor nel Wizard.
PS Se avete delle domande, non esitate a contattarmi.
Grazie mille, tutto funziona! Aggiunge lo stesso volume quando il trend è confermato da un altro indicatore.
Ora abbiamo un'altra domanda: è possibile cambiare la dimensione dell'"add"? Per esempio, la dimensione standard della posizione nel modulo di gestione del denaro è 0,1, mentre io voglio aggiungere ("add") 0,3 o 0,35, ecc. calcolato dall'Expert Advisor.
Come posso passare la dimensione "refill" dalla subroutineLongCondition() al modulo commerciale?
Grazie mille, funziona! Aggiunge lo stesso volume alla conferma del trend da un altro indicatore.
Ora ho un'altra domanda - è possibile cambiare la dimensione della "quota"? Per esempio, la dimensione standard della posizione nel modulo di gestione del denaro è 0,1, mentre io voglio aggiungere ("add") 0,3 o 0,35, ecc. calcolato dall'Expert Advisor.
Come posso passare la dimensione "refill" dalla subroutineLongCondition() al modulo commerciale?
//+------------------------------------------------------------------+//| Long position open or limit/stop order set |//+------------------------------------------------------------------+bool CExpert::OpenLong(double price,double sl,double tp)
{
if(price==EMPTY_VALUE) return(false);
//--- get lot for opendouble lot=LotOpenLong(price,sl);
//--- check lot for openif(lot==0.0) return(false);
//---return(m_trade.Buy(lot,price,sl,tp));
}
//+------------------------------------------------------------------+//| Short position open or limit/stop order set |//+------------------------------------------------------------------+bool CExpert::OpenShort(double price,double sl,double tp)
{
if(price==EMPTY_VALUE) return(false);
//--- get lot for opendouble lot=LotOpenShort(price,sl);
//--- check lot for openif(lot==0.0) return(false);
//---return(m_trade.Sell(lot,price,sl,tp));
}
Sovraccarica nella tua classe (simile a Processing) e cambia l'algoritmo di determinazione del lotto.
felidae:
Нет, всё в порядке, просто я дал случайно свою ссылку. Ваша должна быть по идее такая: https://www.mql5.com/ru/users/vik1991/accounting/chooseout
Grazie per la risposta, c'è un modo per aumentare i guadagni o semplicemente aspettare che la domanda aumenti?
Per favore consigliate come aumentare (ricaricare) una posizione in un EA basato su MQL5 Wizard, dove le posizioni sono aperte usando
virtual int LongCondition();
virtual int ShortCondition();
Ho scritto un robot basato sul seguente articolo
https://www.mql5.com/ru/articles/367"Create a trading robot in 6 steps" e funziona bene, ma ogni tentativo di influenzare la dimensione della posizione
(se aumenta o diminuisce) attraverso la generazione ripetuta della condizione in , per esempio
LongCondition();
La posizione già aperta rimane invariata, può essere cancellata solo con l'attivazione di sl , tp.
Mi piace MQL5 Wizard, è veloce e facile da 'costruire' un EA multi-indicatore, cambiare il modulo di tracciamento sl, cambiare il modulo di gestione del denaro.
Ma il mio tentativo di scrivere un EA che apre una posizione minima se un indicatore condiziona e aumenta (aumenta) la posizione se il trend è confermato da un altro indicatore
mi sono imbattuto nel problema precedentemente descritto - una posizione già aperta non cambia quando si riemette un segnale di apertura tramite, ad esempio,LongCondition();
Voglio lasciare solo strumenti forex nel mercato, il codice funziona bene
Ma appena lo eseguo nel tester, carica la storia per il seguente strumento; non può essere caricato. Come posso disabilitarlo per il tester????????
2013.04.04 14:09:21 Core 1 GBOTEURUSD17DEC2012: sincronizzazione della storia iniziata
Per favore consigliate come aumentare (ricaricare) una posizione in un Expert Advisor che è basato su MQL5 Wizard e dove le posizioni sono aperte tramite
Purtroppo, il caso che descrivi rientra nella categoria del "miglioramento" qui (nel Forum).
Per risolvere il problema, è necessario cambiare il comportamento dell'Expert Advisor. Per fare questo:
1. Dobbiamo creare una nuova classe (per esempio CMyExpert) che eredita dalla classe CExpert.
2. Ricarica il metodo Processing in esso, cambiando il suo comportamento.
3. Sostituire (manualmente) il file include nel codice sorgente di Expert Advisor.
#include <Expert\Expert.mqh>a
#include <Expert\MyExpert.mqh>4. Sostituisci (manualmente) il nome della classe nel codice sorgente di Expert Advisor.
a
L'esempio di classe è allegato. L'uscita dal metodo se c'è una posizione aperta e non ci sono operazioni su di essa è commentata (linea 53).
Non dimenticare di seguire i punti 3 e 4 dopo ogni "rigenerazione" dell'Expert Advisor nel Wizard.
PS Se avete delle domande, contattatemi.
Sfortunatamente, il caso che descrivi rientra nella categoria di ciò che qui (nel Forum) si chiama "messa a punto".
Per risolvere il problema, è necessario cambiare il comportamento dell'esperto. Per fare questo:
1. Dovete creare una nuova classe (per esempio CMyExpert) che eredita dalla classe CExpert.
2. Ricarica il metodo Processing in esso, cambiando il suo comportamento.
3. Sostituire (manualmente) il file include nel codice sorgente di Expert Advisor.
a
4. Sostituisci (manualmente) il nome della classe nel codice sorgente di Expert Advisor.
a
Un esempio di classe è allegato. L'uscita dal metodo se c'è una posizione aperta e non ci sono operazioni su di essa è commentata (linea 53).
Ricordati di seguire i passi 3 e 4 dopo ogni "rigenerazione" dell'Expert Advisor nel Wizard.
PS Se avete delle domande, non esitate a contattarmi.
Grazie mille, tutto funziona! Aggiunge lo stesso volume quando il trend è confermato da un altro indicatore.
Ora abbiamo un'altra domanda: è possibile cambiare la dimensione dell'"add"? Per esempio, la dimensione standard della posizione nel modulo di gestione del denaro è 0,1, mentre io voglio aggiungere ("add") 0,3 o 0,35, ecc. calcolato dall'Expert Advisor.
Come posso passare la dimensione "refill" dalla subroutineLongCondition() al modulo commerciale?
Grazie mille, funziona! Aggiunge lo stesso volume alla conferma del trend da un altro indicatore.
Ora ho un'altra domanda - è possibile cambiare la dimensione della "quota"? Per esempio, la dimensione standard della posizione nel modulo di gestione del denaro è 0,1, mentre io voglio aggiungere ("add") 0,3 o 0,35, ecc. calcolato dall'Expert Advisor.
Come posso passare la dimensione "refill" dalla subroutineLongCondition() al modulo commerciale?
La classe CExpert ha dei metodi:
Sovraccarica nella tua classe (simile a Processing) e cambia l'algoritmo di determinazione del lotto.
La classe CExpert ha dei metodi:
Overload nella vostra classe (simile a Processing) e cambiate l'algoritmo di rilevamento dei lotti.
C'è un indicatore che dice che funziona al prezzo di apertura
codice