alexey1979621: Grazie, ho smontato il tuo codice. C'è effettivamente un errore all'apertura (il mio occhio è già fradicio). Ho messo l'EA modificato in una demo dove ci sono già posizioni aperte sul nostro Meijic con totale profitto positivo. Tuttavia, la posizione non è stata chiusa.
Vedo che nel nuovo codice (che è sotto nel post) il parametro di default passato alla funzione è cambiato:
int NumberOfPositions(string sy="", int op=-1, int mn=1114)
La versione originale aveva una Magik diversa. Ho corretto il riferimento a questa funzione nel mio codice. Guarda sotto quali ordini Magik sono aperti ora e imposta questo numero di Magik nel tuo EA.
P.S. E usare codifiche diverse quando si nominano le variabili non è un segno di buona forma... Voglio dire:
Vedo che nel nuovo codice (che è sotto nel post) il parametro di default passato alla funzione è cambiato:
La versione originale aveva una Magik diversa. Ho corretto il riferimento a questa funzione nel mio codice. Guarda sotto quale Magik gli ordini sono aperti ora e metti questo numero di Magik nel tuo EA.
No, il magik è corretto, quello per EURAUDUSD è 1111 e quello per EURUSD_GBPUSD è 1114 (un'altra persona mi ha aiutato a correggerlo). Entrambi gli scambi non si chiudono. Sto guardando i profitti totali di EURUSD_GBPUSD, ma il mio Expert Advisor non riesce a chiuderlo. Ho rivisto la tua versione per EURAUD_AUDUSD - 1111 per EURUSD_GBPUSD - 1114, ancora non chiude le operazioni. La caratteristica del gufo è che non è possibile testarlo nel tester (perché due coppie sono scambiate) - solo su una demo.
No, il mage è corretto, quello per EURAUD_AUDUSD è 1111 e quello per EURUSD_GBPUSD è 1114 (un'altra persona mi ha aiutato a correggerlo). Entrambi gli scambi non si chiudono. Sto guardando i profitti totali di EURUSD_GBPUSD, ma il mio Expert Advisor non riesce a chiuderlo. Ho rivisto la tua versione per EURAUD_AUDUSD - 1111 per EURUSD_GBPUSD - 1114, ancora non chiude le operazioni. La caratteristica del gufo è che non è possibile testarlo nel tester (perché due coppie sono scambiate) - solo su una demo.
No secondo il majik tutto è corretto, quello per EURAUD_AUDUSD è 1111 e quello per EURUSD_GBPUSD è 1114 (un'altra persona ha aiutato a sistemarlo). Entrambi gli scambi non si chiudono. Sto guardando i profitti totali di EURUSD_GBPUSD, ma il mio Expert Advisor non riesce a chiuderlo. Ho rivisto la tua versione per EURAUD_AUDUSD - 1111 per EURUSD_GBPUSD - 1114, ancora non chiude le operazioni. La caratteristica del gufo è che non posso testarlo nel tester (perché due coppie sono scambiate) - solo su una demo.
In primo luogo, non state affrontando correttamente l'indicatore. Questo indicatore ha molti parametri esterni:
externstring Symbol1.Name = "EURUSD";// Название инструмента 1externbool Symbol1.Reverse = false; // Является ли инструмент 1 реверсивным (с обратной корреляцией) // по отношению к остальным инструментамexternstring Symbol2.Name = "USDCHF";// Название инструмента 2externbool Symbol2.Reverse = false; // Является ли инструмент 2 реверсивным (с обратной корреляцией) // по отношению к остальным инструментамexternstring ___MISC___ = " == Прочие настройки ==========";
externbool UseVolatility = True ; //отрисовка с учетом волатильностиexternbool Triangle = True ; // Рисовать треугольник?externcolor Triangle.Color = DarkSalmon; // Цвет треугольникаexterndoubleAlert.ChannelMore = EMPTY; // Если ширина канала больше указанной, включается сигнал// -1 - контроль выключен.externdoubleAlert.ChannelLess = EMPTY; // Если ширина канала меньше указанной, включается сигнал// -1 - контроль выключен.externstring __VOL___ = " == Расчет объемов ====";
externint VOL.Mode = 3; // Режим расчета объемов для торговли// 1 - по ценам открытия// 2 - по волатильности, а если невозможно - по ценам открытия// 3 - по волатильности (если возможно) и ценам открытияexternint VOL.PeriodATR = 144; // Период усреднения ATR externstring ___MA___ = " == Параметры МА ценовых линий ====";
externint MA.Slow = 21; // Период медленной МАexternint MA.Fast = 8; // Период быстрой МАexternint MA.Method = 2; // Метод аппроксимации// - MODE_SMA=0 Простое скользящее среднее // - MODE_EMA=1 Экспоненциальное скользящее среднее // - MODE_SMMA=2 Сглаженное скользящее среднее // - MODE_LWMA=3 Линейно-взвешенное скользящее среднее externint MA.Price = 6; // Расчетная цена:// - PRICE_CLOSE=0 Цена закрытия // - PRICE_OPEN=1 Цена открытия // - PRICE_HIGH=2 Максимальная цена // - PRICE_LOW=3 Минимальная цена // - PRICE_MEDIAN=4 Средняя цена, (high+low)/2 // - PRICE_TYPICAL=5 Типичная цена, (high+low+close)/3 // - PRICE_WEIGHTED=6 Взвешенная цена закрытия, (high+low+close+close)/4
e devono essere elencati quando si chiama l'indicatore. Se li ometti, i parametri saranno presi per default, e dato che vuoi usarlo per diverse coppie di valute, questa opzione non è adatta. E tutto il resto può essere fatto tenendo conto dei cambiamenti dei parametri all'inizio dell'EA:
eseguire l'EA, impostare il profitto a zero e vedere cosa è uscito e cosa c'è nei log.
Il risultato è brutto. Con le tue modifiche e il profitto uguale a 0, l'Expert Advisor ha chiuso tutte le posizioni su Meijic 1111, 1112, 1113, 1114, 1115. Poi, dopo 5 secondi, sono stati aperti nuovi ordini per questi simboli Meijic e dopo 10 secondi, sono stati tutti chiusi e la stessa cosa è successa di nuovo. Le posizioni non sono state aperte a coppie, ma in modo caotico.
Questo si è rivelato spaventoso. Con le tue modifiche e il profitto uguale a 0, l'EA ha chiuso tutte le posizioni su Majic 1111, 1112, 1113, 1114, 1115 a tutti. Poi, dopo 5 secondi, sono stati aperti nuovi ordini per questi simboli Meijic e dopo 10 secondi, sono stati tutti chiusi e la stessa cosa è successa di nuovo. Le posizioni non sono state aperte a coppie, ma in modo caotico.
La mia domanda guida è: quanti EAs hai in questo conto?
E tu avevi una condizione: chiudere tutti gli ordini in profitto.
PS Hai visto il trabocchetto che hai con questo EA - continuerà ad aprire ordini dopo la chiusura, che alla fine porterà ad una perdita. Quindi devi mettere una bandiera che proibisca di piazzare nuovi ordini fino a quando le condizioni non passano e si ripresentano.
In primo luogo, non state affrontando correttamente l'indicatore. Questo indicatore ha molti parametri esterni:
e devono essere elencati quando si chiama l'indicatore. Se li ometti, i parametri saranno presi per default, e dato che vuoi usarlo per diverse coppie di valute, questa opzione non è adatta. E tutto il resto può essere fatto considerando i cambiamenti dei parametri all'inizio dell'EA:
Grazie. So della chiamata dell'indicatore. Ma i parametri regolabili dell'indicatore dovrebbero essere elencati quando li applichiamo in test o in funzione. Dato che questo EA non può essere testato nel tester (perché vengono scambiate due coppie), è impossibile scegliere questi parametri sullo storico. La tua ultima variante è già stata implementata in una demo. Vedrò come si chiuderanno i trade. Un'altra piccola domanda, per due strumenti i trade si aprono o in Buy o in Sell. Se abbiamo bisogno di aprire in Sell per uno strumento e in Buy per un altro, come dovremmo aprirlo? Ho cercato in giro, senza fortuna ..... Ancora una volta grazie mille per il vostro duro lavoro.
La mia domanda guida è: quanti EAs hai in questo conto?
E tu avevi una condizione: chiudere tutti gli ordini in profitto.
PS Hai visto il trabocchetto che hai con questo EA - continuerà ad aprire ordini dopo la chiusura, che alla fine porterà ad una perdita. Quindi devi mettere una bandiera che proibisca di piazzare nuovi ordini fino a quando le condizioni non passano e si ripresentano.
C'erano 5 Expert Advisors al lavoro (fratelli gemelli - per coppie diverse), naturalmente con Meijic diversi.
Sì, avevamo la condizione di profitto per chiudere gli ordini ma gli ordini erano legati a un certo EA, per esempio, con MAJIC 1114. L'ho scritto fin dall'inizio e credevo che il gufo non vedesse i propri ordini alla chiusura; si scopre che vede tutti gli ordini e vuole tanto chiuderli ma non ci servono tutti ma alcuni specifici.
Se prendiamo il periodo H4, quando le linee dell'indicatore sono superiori a 0.1 e inferiori a -0.1, la condizione è soddisfatta e le operazioni vengono aperte, cioè è possibile prendere diversi profitti in un solo segnale (anche se c'è un'opzione per chiudere le operazioni quando le linee dell'indicatore convergono).
Grazie, ho smontato il tuo codice. C'è effettivamente un errore all'apertura (il mio occhio è già fradicio). Ho messo l'EA modificato in una demo dove ci sono già posizioni aperte sul nostro Meijic con totale profitto positivo. Tuttavia, la posizione non è stata chiusa.
Vedo che nel nuovo codice (che è sotto nel post) il parametro di default passato alla funzione è cambiato:
La versione originale aveva una Magik diversa. Ho corretto il riferimento a questa funzione nel mio codice. Guarda sotto quali ordini Magik sono aperti ora e imposta questo numero di Magik nel tuo EA.
P.S. E usare codifiche diverse quando si nominano le variabili non è un segno di buona forma... Voglio dire:
Guarda questa linea
else if (order_type = OP_SELL()
E questo.
Vedo che nel nuovo codice (che è sotto nel post) il parametro di default passato alla funzione è cambiato:
La versione originale aveva una Magik diversa. Ho corretto il riferimento a questa funzione nel mio codice. Guarda sotto quale Magik gli ordini sono aperti ora e metti questo numero di Magik nel tuo EA.
No, il magik è corretto, quello per EURAUDUSD è 1111 e quello per EURUSD_GBPUSD è 1114 (un'altra persona mi ha aiutato a correggerlo). Entrambi gli scambi non si chiudono. Sto guardando i profitti totali di EURUSD_GBPUSD, ma il mio Expert Advisor non riesce a chiuderlo. Ho rivisto la tua versione per EURAUD_AUDUSD - 1111 per EURUSD_GBPUSD - 1114, ancora non chiude le operazioni. La caratteristica del gufo è che non è possibile testarlo nel tester (perché due coppie sono scambiate) - solo su una demo.
No, il mage è corretto, quello per EURAUD_AUDUSD è 1111 e quello per EURUSD_GBPUSD è 1114 (un'altra persona mi ha aiutato a correggerlo). Entrambi gli scambi non si chiudono. Sto guardando i profitti totali di EURUSD_GBPUSD, ma il mio Expert Advisor non riesce a chiuderlo. Ho rivisto la tua versione per EURAUD_AUDUSD - 1111 per EURUSD_GBPUSD - 1114, ancora non chiude le operazioni. La caratteristica del gufo è che non è possibile testarlo nel tester (perché due coppie sono scambiate) - solo su una demo.
Facciamo qualche cambiamento. Invece di
mettere
eseguire l'EA, impostare il profitto a zero e vedere cosa è uscito e cosa c'è nei log.Guarda questa linea
else if (order_type = OP_SELL()
grazie!)
No secondo il majik tutto è corretto, quello per EURAUD_AUDUSD è 1111 e quello per EURUSD_GBPUSD è 1114 (un'altra persona ha aiutato a sistemarlo). Entrambi gli scambi non si chiudono. Sto guardando i profitti totali di EURUSD_GBPUSD, ma il mio Expert Advisor non riesce a chiuderlo. Ho rivisto la tua versione per EURAUD_AUDUSD - 1111 per EURUSD_GBPUSD - 1114, ancora non chiude le operazioni. La caratteristica del gufo è che non posso testarlo nel tester (perché due coppie sono scambiate) - solo su una demo.
In primo luogo, non state affrontando correttamente l'indicatore. Questo indicatore ha molti parametri esterni:
e devono essere elencati quando si chiama l'indicatore. Se li ometti, i parametri saranno presi per default, e dato che vuoi usarlo per diverse coppie di valute, questa opzione non è adatta. E tutto il resto può essere fatto tenendo conto dei cambiamenti dei parametri all'inizio dell'EA:
Leggi qui la chiamata dell'indicatore.
Facciamo qualche cambiamento. Invece di
mettere
eseguire l'EA, impostare il profitto a zero e vedere cosa è uscito e cosa c'è nei log.Il risultato è brutto. Con le tue modifiche e il profitto uguale a 0, l'Expert Advisor ha chiuso tutte le posizioni su Meijic 1111, 1112, 1113, 1114, 1115. Poi, dopo 5 secondi, sono stati aperti nuovi ordini per questi simboli Meijic e dopo 10 secondi, sono stati tutti chiusi e la stessa cosa è successa di nuovo. Le posizioni non sono state aperte a coppie, ma in modo caotico.
Questo si è rivelato spaventoso. Con le tue modifiche e il profitto uguale a 0, l'EA ha chiuso tutte le posizioni su Majic 1111, 1112, 1113, 1114, 1115 a tutti. Poi, dopo 5 secondi, sono stati aperti nuovi ordini per questi simboli Meijic e dopo 10 secondi, sono stati tutti chiusi e la stessa cosa è successa di nuovo. Le posizioni non sono state aperte a coppie, ma in modo caotico.
La mia domanda guida è: quanti EAs hai in questo conto?
E tu avevi una condizione: chiudere tutti gli ordini in profitto.
PS Hai visto il trabocchetto che hai con questo EA - continuerà ad aprire ordini dopo la chiusura, che alla fine porterà ad una perdita. Quindi devi mettere una bandiera che proibisca di piazzare nuovi ordini fino a quando le condizioni non passano e si ripresentano.
In primo luogo, non state affrontando correttamente l'indicatore. Questo indicatore ha molti parametri esterni:
e devono essere elencati quando si chiama l'indicatore. Se li ometti, i parametri saranno presi per default, e dato che vuoi usarlo per diverse coppie di valute, questa opzione non è adatta. E tutto il resto può essere fatto considerando i cambiamenti dei parametri all'inizio dell'EA:
Potete leggere come chiamare l'indicatore qui.
La mia domanda guida è: quanti EAs hai in questo conto?
E tu avevi una condizione: chiudere tutti gli ordini in profitto.
PS Hai visto il trabocchetto che hai con questo EA - continuerà ad aprire ordini dopo la chiusura, che alla fine porterà ad una perdita. Quindi devi mettere una bandiera che proibisca di piazzare nuovi ordini fino a quando le condizioni non passano e si ripresentano.
C'erano 5 Expert Advisors al lavoro (fratelli gemelli - per coppie diverse), naturalmente con Meijic diversi.
Sì, avevamo la condizione di profitto per chiudere gli ordini ma gli ordini erano legati a un certo EA, per esempio, con MAJIC 1114. L'ho scritto fin dall'inizio e credevo che il gufo non vedesse i propri ordini alla chiusura; si scopre che vede tutti gli ordini e vuole tanto chiuderli ma non ci servono tutti ma alcuni specifici.
Se prendiamo il periodo H4, quando le linee dell'indicatore sono superiori a 0.1 e inferiori a -0.1, la condizione è soddisfatta e le operazioni vengono aperte, cioè è possibile prendere diversi profitti in un solo segnale (anche se c'è un'opzione per chiudere le operazioni quando le linee dell'indicatore convergono).