Robot completo per MT5 - pagina 6

 
ElenaFxPro4:

Non l'ho vista in questo modo. Non ho bisogno di confrontare le strategie - ne ho una = "ottenere il massimo dal mercato" :) Ecco perché c'è un tester incorporato. Permette non solo di valutare la redditività e la qualità del lavoro, ma anche di eseguire il debug in modalità passo dopo passo, prendendo le budella degli algoritmi :) Ho postato qui il codice per riunire il tutto per eseguire la "strategia" specificata.

Ci sono sottosistemi per determinare il bordo di tendenza (a proposito, ancora una volta, solo è ora incluso nel lavoro), i tre loop, i modelli, il commercio nella tendenza, la definizione del movimento laterale che non dà profitto, ma solo per drenare, il determinatore di attività di mercato (quando il mercato è passivo non scambia), determinatore super attività (di solito l'inizio della sessione americana) quando anche la pausa sostenuta, il sistema si chiude sullo stato del mercato, e molto altro ancora ... Ogni algoritmo richiede miglioramenti e perfezionamenti, e bisogna commerciare per guadagnarsi da vivere e continuare la ricerca... questa è la storia. Spero che ti ci troverai bene e tutto andrà più veloce... :)

Sì, c'è ancora del lavoro da fare in esso, si può già approssimare il suo rendimento. Quindi l'Expert è ottimo, non dà nessun errore di test, bisogna solo trovare la vena di tuning per lui.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Se arrivate alla fine del test, possiamo discutere di cosa ho sbagliato.

- Con le impostazioni come sono ora, sta camminando.

 
SanAlex:

Sì, c'è ancora del lavoro da fare su di esso, si può già avere un'idea approssimativa di come funziona. Quindi l'Expert è ottimo, non fa errori di test, bisogna solo trovare la vena di tuning per lui.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Se arrivate alla fine del test, possiamo discutere di cosa ho sbagliato.

- Non so quali siano le IMPOSTAZIONI sbagliate, si blocca.

Non so di quali impostazioni stai parlando? Tutte le impostazioni sono incorporate nel codice. Si regola per il mercato "da solo", tenendo conto di ampiezze, volatilità, rumore, movimenti piatti e di tendenza (tendenze), inoltre, ci sono diverse statistiche giornaliere (ci sono 7 giorni impostati) per massimo, minimo e media di questi indicatori, che consente di costruire sulla storia e non troppo "adattarsi" a un mercato morto o paura di troppo attivo. Come e cosa stai testando?

 

Ecco il risultato - da quanto ho capito, non si potrà ritirare, ma si potrà anche fare un po' di soldi, ma non molti.

impostazioni

opzioni

backtest

Orario

 
SanAlex:

Ecco il risultato - capisco che non si può perdere, ma si può anche guadagnare, ma non molto.

Scommetti su 10-12 coppie e vai avanti.

 
Vitaly Muzichenko:

Scommetti su 10-12 coppie e vai avanti.

Controllerò di più sul conto dei 5 minuti e del rublo

rublo

backtest del rublo

programma del rublo

 
SanAlex:

Ecco il risultato - da quanto ho capito, non si potrà ritirare, ma si potrà anche fare un po' di soldi, ma non molti.


Esaminiamo i "parametri"

//Trade: CAPITAL ON POST in % ! (L'ho evidenziato! come percentuale) del capitale. Questo è un pezzo di gestione del capitale che non è stato ancora elaborato. MA qui 0=minlote, 0,01=del capitale si prende 0,01 PERCENTUALE e su questo IMPORTO si calcola un LOTTO. Il valore predefinito per il capitale è impostato all'1%. La mia impostazione predefinita è 0=minlot, poiché sto testando su un conto reale, non su un demo.

//TESTING: TakePROFIT a 3000 che hai impostato = stop e take esorbitanti, ma questo non è importante, perché vengono poi impostati come richiesto dal sistema di chiusura.

STOPLOSS in PUNKs //TRADE: StopLOSS in PUNKs

//--------------------------  рыночная визиулизация ситуаций //=ЭТО только отображение на графике разной информации из кишочков алгоритмов.
   input bool     showNeedAlerts          = false; //РЫНОК: Алерты РЫНОЧНЫЕ
   input bool     ONblinkTrink            = true;  //РЫНОК: Вкл моргатель-бренчатель
   input bool     SoundCandles            = true;  //РЫНОК: Звук бренчателя=ТИКАЕТ когда открывает позу.
   input bool     OnViewLabel             = true;  //РЫНОК: Вкл ЛЕЙБЛЫ
   input bool     OnViewAnalyz            = true;  //РЫНОК: ВИДЕТЬ АНАЛИЗАТОР
   ======================ЭТО ВАЖНО, нужно убрать чтобы случайно не установили  false
   input bool     UseSignalFiltering      = true;  //РЫНОК: ФИЛЬТР: ВКЛЮЧИТЬ  =ФОРМИРОВАТЕЛЬ СИГНАЛОВ
   input bool     OnCloseSystem           = true;  //РЫНОК: ЗАКРЫТИЕ: ВКЛЮЧИТЬ =СИСТЕМА ЗАКРЫТИЯ
//-------------------------- ЗАКРЫТИЕ --------------------------
      = false; //ЗАКРЫТИЕ: ДАННЫЕ ВИДЕТЬ=ЭТО ТОЛЬКО ДЛЯ ОБЗОРА НА ГРАФИКЕ
      = false; //ЗАКРЫТИЕ: ВЫВОД в принт  =ЭТО ТОЛЬКО ДЛЯ ОБЗОРА В "ЭКСПЕРТАХ"
//-------------------------- ФИЛЬТРАЦИЯ -------------------------- Это не влияет ни на что, только на вывод инфо про работу алгоритмов
   input bool     ViewPARAM_FLTP          = true;  //ФИЛЬТР: ДАННЫЕ ВИДЕТЬ
   input bool     OnviewCHNL              = true;  //ФИЛЬТР: КАНАЛЫ ВИДЕТЬUSE
   input bool     OnviewTRNdk_FLTR        = false; //ФИЛЬТР: ТРЕНДИКИ ВИДЕТЬ
   input bool     OnviewBTR5flt           = true;  //ФИЛЬТР: BTR5 ВИДЕТЬ
   input bool     OnviewBTR5_MSPD         = true;  //ФИЛЬТР: BTR5_MSPD ВИДЕТЬ
   input bool     wantseeAllPrints        = false; //ФИЛЬТР: ВЫВОД в принт
   input bool     wantseeEveryoneSignal   = false; //ФИЛЬТР: ВСЕ СИГНАЛЫ ВИДЕТЬ
//-------------         // АДАПТАЦИЯ для всех систем //----------------- Это не влияет ни на что, только на вывод инфо про работу алгоритмов
   input bool     ViewPARAM_ADPT          = true;  //АДАПТАЦИЯ: ДАННЫЕ ВИДЕТЬ
//--------------------- ИСТОРИЯ паттернов --------------------------
!!! ВАЖНО  ИСТОРИЯ:
   Вкл Поиск ПАТТЕРНОВ= TRUE включает режим теста по истории!!!
                                         Для работы и внешнего тестера нужно ставить false
                                         input bool     ONpttrHistory        = true;                 //ИСТОРИЯ: Вкл Поиск ПАТТЕРНОВ
   input int      ArrPttrTime          = 0;                    //ИСТОРИЯ: Массив ПОИСКА (в часах)
   input int      ONpointSTOP          = 0;                    //ИСТОРИЯ: Шаг в БАРАХ 0=ВСЯ
   input string   PttrCanlesTime       = "2021.03.04 01:00";   //ИСТОРИЯ: ВРЕМЯ начала ОСМОТРА
   input string   PttrENDTime          = "2021.03.05 23:00";   //ИСТОРИЯ: ВРЕМЯ КРАЙ сессии
//--------------------- АНАЛИЗАТОР СИСТЕМ ANLZ--------------------------
   НА РАБОТУ НЕ ВЛИЯЕТ, ТОЛЬКО НА ВЫВОД РЕЗУЛЬТАТОВ И ПОЗВОЛЯЕТ ПРИ АНАЛИЗЕ ОБСАСЫВАТЬ КАЖДУЮ ПОЗОЧКУ
   input color kljhuh123 = clrBlack; //===  АНАЛИЗАТОР ===
   input bool     OnANALYZER           = true;     //АНАЛИЗАТОР: ВИДЕТЬ все сделки
   input bool     OnANALYZERprint      = false;    //АНАЛИЗАТОР: ВЫВОД в принт
   input bool     comparisonVs         = false;    //АНАЛИЗАТОР: Вкл СРАВНЕНИЕ
   input bool     OnViewPttrnAnalyz    = false;    //АНАЛИЗАТОР: Вкл ОСМОТР поз и "линий жизни"
   input bool     OnPRKviewing         = false;    //АНАЛИЗАТОР: Вкл ОСМОТР с ПРК "жизни позы"
   input int      NnPattern            = 0;        //АНАЛИЗАТОР: НОМЕР паттерна на ОСМОТР
//input int      TMPovajaInta         = 13;       //АНАЛИЗАТОР: ВСЕГО ПОЗ НА ОСМОТР
   input bool     OnlyBADpos           = false;    //АНАЛИЗАТОР: УБЫТОЧНЫЕ ПОЗЫ
   input bool     CalcPttrTimes        = false;    //АНАЛИЗАТОР: Вкл ОСМОТР Свечи по ВРЕМЕНИ
//--------------------------- ВКЛЮЧЕНИЕ ПАТТЕРНОВ --------------------------НА РАБОТУ НЕ ВЛИЯЕТ
   input bool     ONViewPATTRN      = true;  //ПАТТЕРН: Вкл окраску
   input bool     OnLYSUYpttrn      = true;  //1: ЛЫСЫЙ: Вкл
   input bool     OnSTRONGpttrn     = true;  //2: CИЛЬНЫЙ: Вкл
   input bool     On2HAMMpttrn      = true;  //3: 2й МОЛОТ: Вкл
   input bool     On3HAMMpttrn      = true;  //4: 3й МОЛОТ: Вкл
   input bool     OnHAMMERpttrn     = true;  //5: МОЛОТ: Вкл
   input bool     OnACCELERpttrn    = true;  //6: УСКОРЕНИЕ: Вкл
   input bool     OnABSORPTpttrn    = true;  //7: ПОГЛОЩЕНИЕ: Вкл
   input bool     On2BALDSpttrn     = true;  //8: 2ЛЫСЫХ: Вкл
   input bool     OnREVERSpttrn     = true;  //9: РЕВЕРС: Вкл
   input bool     showTuningAlerts        = false; //НАСТРОЙКА: Алерты НАСТРОЙКИ
   input bool     showAlerts1             = false; //НАСТРОЙКА: Алерты SENDERa
Управление капиталом по Винсу. Реализация в виде модуля Мастера MQL5
Управление капиталом по Винсу. Реализация в виде модуля Мастера MQL5
  • www.mql5.com
Статья написана на основе книги Р.Винса "Математика управления капиталом". В ней рассматриваются эмпирические и параметрические методы нахождения оптимального размера торгового лота, на основе которых написаны торговые модули управления капиталом для мастера MLQ5.
 
ElenaFxPro4:

Esaminiamo i "parametri"

Proverò di nuovo con le impostazioni come hai descritto

 

Ecco il risultato - da quanto ho capito, non potrai ritirare, ma potrai anche fare un po' di soldi, ma non molti.

=============================================================================

Il codice non è per far funzionare il robot sul tester. Per farlo, è sufficiente mettere un exeshnik.

Ci sono in totale 2 approcci ai robot:

1. L'approccio valutativo, o si potrebbe chiamare "l'approccio dello staffer", o l'approccio del consumatore. Si prende un eseguibile, lo si esegue e si assume quello che piace. Questo è l'approccio del consumatore alla selezione del prodotto.

Si crea un prodotto che sarà poi valutato da qualcuno che utilizza l'approccio1. Questo approccio è la raccolta in IDEAS e la loro attuazione.

Il codice è postato per raccogliere i "fan" del secondo approccio :)

Подготовка торгового счета к миграции на виртуальный хостинг
Подготовка торгового счета к миграции на виртуальный хостинг
  • www.mql5.com
Клиентский терминал MetaTrader идеально подходит для автоматизации торговых стратегий. Для разработчиков торговых роботов в нем есть всё ‒ мощный язык программирования MQL4/MQL5 на основе C++, удобная среда разработки MetaEditor, многопоточный тестер стратегий с поддержкой распределенных вычислений в MQL5 Cloud Network. В этой статье вы узнаете, как перенести свой клиентский терминал со всеми разработками в виртуальную среду.
 
ElenaFxPro4:

Ecco il risultato - da quanto ho capito, non potrai ritirare, ma potrai anche fare un po' di soldi, ma non molti.

=============================================================================

Il codice non è per far funzionare il robot sul tester. Per farlo, è sufficiente mettere un exeshnik.

Ci sono in totale 2 approcci ai robot:

1. L'approccio valutativo, o si potrebbe chiamare "l'approccio dello staffer", o l'approccio del consumatore. Si prende un eseguibile, lo si esegue e si assume quello che piace. Questo è l'approccio del consumatore alla selezione del prodotto.

Si crea un prodotto che sarà poi valutato da qualcuno che utilizza l'approccio1. Questo approccio è la raccolta in IDEAS e la loro attuazione.

Il codice è postato per raccogliere gli "amanti" del secondo approccio :)

Buona salute a noi.

quindi per entrare nel merito - voglio capire il significato della strategia nel tester. per migliorarla, devi capire cosa fa e cosa devi aggiungere o sottrarre nelle funzioni.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

quando non capisco cosa fa - risulta essere un pensiero vuoto

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Quando si crea qualcosa da soli - capisco cosa mi serve da ogni funzione.

 
SanAlex:

Quindi, per entrare nel merito, voglio capire il significato della strategia nel tester. Per migliorarla, bisogna capire cosa fa e cosa bisogna aggiungere o sottrarre alle funzioni.

A questo serve il "System run and analysis", dove puoi vedere, analizzare e correggere tutti i dettagli dell'algoritmo. Altrimenti, è una perdita di tempo gestire un cat in a poke...

Guarda - è incluso solo l'algoritmo "capriola". Questo algoritmo determina il BORDER (un analogo della parola "fine", che non mi piace :)) della tendenza e forma una posizione contro la tendenza.

Il successo di questo algoritmo, espresso in denaro, dipende dal successo nel determinare il BRAIN e nel formare una posizione contro la tendenza, non in modo ottuso, ma tenendo conto dello stato del mercato dopo la tendenza.

Tu e il tester esterno valutate il risultato "finale" in "denaro" e questo è tutto. Il tester incorporato permette non solo di valutare il risultato in denaro, ma anche di valutare la QUALITÀ del rilevamento del bordo del mercato e l'algoritmo di apertura delle posizioni post-trend. Posso ottenere risultati in "denaro" sullo stesso intervallo di test da risultati da capogiro a meno a causa del FITTAMENTO delle impostazioni alla natura del mercato su quell'intervallo di test. Ne abbiamo bisogno? No. Ecco perché usiamo un algoritmo che adatta le impostazioni alle condizioni di mercato. Ed è estremamente difficile valutare il successo di questa impostazione, a maggior ragione se si esegue questa impostazione in un tester esterno.