Credite auto. Stoc. Bani. Credit ipotecar. Împrumuturi. Milion. Bazele. Investiții

Cum să limitați timpul de tranzacționare al consilierilor Forex? Trade Scheduler - limitarea operațiunii consilierului Instalarea și configurarea expertului

Astăzi vom vorbi despre robotul Trade Scheduler, care are o funcție foarte interesantă. Când utilizați sisteme automate în tranzacționarea Forex, ați observat că în anumite zile ale săptămânii sau ore sunt mai susceptibile de a genera pierderi? De exemplu, în prima zi a săptămânii, consilierul deschide foarte puține tranzacții, iar cele mai multe dintre ele sunt, de asemenea, neprofitabile. În astfel de cazuri, este logic să dezactivați consilierul înainte de sâmbătă și să îl activați marți. Puteți efectua această operațiune simplă manual, dar puteți uita cu ușurință să dezactivați sau să activați consilierul în la fix.

Soluția la această problemă (și la alte câteva) ar putea fi folosind robotul Trade Scheduler, care nu tranzacționează singur, dar vă permite să limitați timpul de lucru al altor consilieri conform unui program, întocmit pe baza unei analize a muncii acestor consilieri.

Înainte de a face ajustări ale modului de funcționare în timp, trebuie să aflați în ce momente se tranzacționează cel mai des în roșu. În acest caz, serviciul MyFXbook vă va ajuta, care oferă statistici detaliate de tranzacționare ale sistemului în funcție de ziua săptămânii și de oră. Perioada optimă de tranzacționare pentru analiza funcționării sistemului este de 3 luni. Pentru a o realiza, trebuie să începeți monitorizarea serviciului. Puteți citi despre instalarea robotului pe MyFXbook. De exemplu, să ne uităm la rezultatele muncii expertului, a cărui monitorizare poate fi găsită făcând clic pe imagine:

Orez. 1. Monitorizarea activității consilierului Transient Zones 2.0 pe serviciul MyFXbook.

Ca o opțiune pentru cei care nu au încă un istoric de tranzacționare suficient al robotului pentru analiza pe un cont real, dar în același timp poate fi testat, apoi nu ezitați să încărcați raportul primit de la serviciu în serviciu.

După descărcarea și procesarea monitorizării, trebuie să mergeți la secțiunea de statistici avansate, fila Zilnic. Aici puteți găsi informații despre cantitățile relative în funcție de ziua săptămânii. În exemplul nostru, cel mai mare număr de tranzacții cu pierderi are loc joi și vineri, ceea ce înseamnă că în aceste zile ar fi rezonabil să suspendăm activitatea Expert Advisor. Motivul acestui comportament poate sta în condițiile pieței, care în zilele noastre nu sunt potrivite pentru strategia robotului, iar calculele acestuia sunt mai puțin precise:


Orez. 2. Raportul dintre tranzacțiile profitabile și neprofitabile ale consilierului Transient Zones 2.0 pentru săptămână.

După ce ați analizat pe zi, puteți analiza eficiența muncii pe oră. Pentru a face acest lucru, trebuie să mergeți la fila Orară și să vedeți când numărul relativ de tranzacții pierdute este mai mare:


Orez. 3. Numărul relativ de neprofitabile și meserii profitabile cu oră.

Concluzie: ar fi înțelept să ne oprim procesul de tranzacționare joi, vineri și în alte zile își blochează activitatea în primele două ore ale noii zile și în timpul zilei la acele ore când pierderea tranzacțiilor predomină - în special, la 12, 13, 14 după-amiaza. Adică lăsați-l să funcționeze noaptea de la 2 până la 8 inclusiv, și de la 13 până la 21 ziua. Rezultatul muncii consilierului ar trebui să se îmbunătățească semnificativ.

Instalarea și configurarea expertului.

Instalarea consilierului auxiliar Trade Scheduler se realizează prin analogie cu orice alt consilier; mai multe detalii despre acesta sunt scrise în. Din linkul de mai jos puteți descărca arhiva împreună cu expertul:

Descarca trade-scheduler.rar (descărcări: 147)

Dezarhivați arhiva trade-scheduler.rar și copiați fișierul expert TradeScheduler v2.3.ex4 în folderul data_directory\MQL4\Experts\. Pentru a deschide directorul de date, selectați Open Data Directory din meniul Fișier. Apoi terminalul repornește și după aceea consilierul poate fi găsit în fereastra Navigator - Advisors.

Când instalați Expert Advisor pe o diagramă, timpul de funcționare necesar este specificat în fereastra de setări în funcție de zi a săptămânii și oră. Ora este setată în funcție de ora terminalului, care este și ora. Pentru fiecare zi există 3 parametri de intrare. Primul parametru este responsabil pentru pornirea/oprirea robotului într-o anumită zi a săptămânii, al doilea parametru este pentru ora de începere a tranzacționării, al treilea este ora de oprire. Ora este indicată în formatul ore: minute:


Orez. 4. Parametrii de intrare specificati in urma analizei functionarii consilierului.

Există, de asemenea, un parametru suplimentar CloseBeforeSwitchOFF în setări. Când este setată la CloseAll, toate tranzacțiile vor fi închise automat înainte ca robotul să fie oprit. Când CloseAllProfitable - numai comenzile profitabile vor fi închise, când Nu - tranzacțiile nu vor fi închise. Parametrul de alunecare este responsabil pentru alunecarea maximă admisă.

Asigurați-vă că tranzacționarea automată și importul de funcții din DLL-uri sunt permise în terminal. O versiune a consilierului este instalată pentru un terminal.

Concluzie.

Vreau să îmbunătăți performanța consilierul tău? Încercați metoda de limitare a funcționării acesteia și analizați rezultatele. Dacă statisticile arată că expertul tău „pierde în mod constant” la un anumit moment al zilei, atunci există un model pe piață pe care nu îl poate procesa. Suspendați tranzacționarea în această perioadă nefavorabilă și creșteți-i profitabilitatea!

Acest consilier este ideal pentru cei care tranzacționează pe niveluri și orice strategii care utilizează ordine limită în așteptare. Consilierul va plasa comenzi la momentul potrivit la distanta potrivita de pretul curent! În setările robotului, puteți seta stop losss, prelua profituri din comenzi, precum și lotul fiecărei comenzi. Totul este stabilit pentru fiecare comandă separat. Puteți plasa doar o limită de cumpărare, sau o limită de vânzare sau ambele comenzi împreună!

Consilierul este gata să lucreze pe orice instrument de tranzacționare, în orice terminal de tranzacționare Metatrader 4. Robotul este, de asemenea, gata să lucreze pe mai multe perechi valutare pe loc. Adică, puteți deschide orice număr de perechi și puteți instala un consilier pe acestea, oferindu-le fiecăruia propriul număr magic și setări de timp. După care, fiecare cuplu va lucra strict individual. Dacă încă lucrezi manual cu comenzi limită, acest robot este pentru tine!

  • BUY_limit- Dacă să setați un ordin de cumpărare limită.
  • Lot_buy_limit- Limită de cumpărare pentru ordine de lot.
  • R_buy_limit- Distanța de la prețul curent la ordinul limită de cumpărare în puncte.
  • Stop_Loss_buy_limit- Ordine limită de cumpărare stop loss.
  • Take_Profit_buy_limit - Ia profit cumpăra ordine limită.
  • SELL_limit- Dacă să setați un ordin limită de vânzare.
  • Lot_sell_limit- Limita de vânzare a comenzilor de lot.
  • R_sell_limit- Distanța de la prețul curent la ordinul limită de vânzare în puncte.
  • Stop_Loss_sell_limit- Limita de vânzare a ordinelor stop loss.
  • Take_Profit_sell_limit- Limita de vânzare a comenzilor de profit.
  • Alunecare- Alunecare maximă în puncte.
  • Închide_Comenzi- Închiderea celei de-a doua comenzi la deschiderea primei.
  • Times- Durata de viață a comenzii în minute.
  • Time_Start- Plasați comenzi în funcție de timp?
  • Time_Hour- Orar de deschidere a comenzii 0-23
  • Timp_minut- Minutul pentru deschiderea comenzilor 0 - 59. De exemplu, ora = 5, minut 40, ceea ce înseamnă la 5.40 comenzile vor fi plasate în funcție de prețul din acel moment.
  • Expert_I- număr magic pentru determinarea comenzilor și tranzacționarea cu mai multe valute.

Dacă ale tale sistem comercial nu se bazează pe curse de știri, poate fi foarte util pentru sănătatea financiară și mintală să oprească munca consilierului înainte de lansarea unor știri importante. Și după ce volatilitatea se stabilește, după câteva ore, porniți-l din nou. Este bine dacă aveți acces la un terminal funcțional la îndemână. Și dacă nu? Aici este utilă automatizarea unor astfel de activități.

Una dintre opțiunile pentru rezolvarea problemei noastre este să compilați un fișier cu un program de evenimente importante. Citirea acestui fișier de către expertul nostru și stabilirea când puteți lucra și când nu. Manualul MQL4 oferă un exemplu de lucru cu un fișier text CSV și îl vom lua ca bază, scăpând simultan de câteva greșeli pe care autorii le-au făcut neintenționat sau pentru a ne testa atenția (despre care ei înșiși ne avertizează - nu ar trebui să avem încredere orbește în nimeni, greșelile se întâmplă întotdeauna).

Deci, haideți să facem un program al evenimentelor importante săptămâna viitoare în următorul format:
Data și ora evenimentului; instrument; descrierea evenimentului

2016.04.01 14:00;USD;Indicele activității ISM în sectorul prelucrător 2016.04.01 14:00;USD;Indicele accelerației treptate a inflației din ISM 2016.04.04 09:00;EUR;Indicele prețurilor de producție (l/l) ) 2016.04.04 09:00;EUR;Indexul prețurilor de producător (YoY) 2016.04.05 04:30;AUD;Decizie Banca de Rezervă Australia la rata dobânzii 2016.04.05 04:30;AUD;Declarația însoțitoare a Băncii de Rezervă a Australiei 2016.04.06 07:00;EUR;Reuniunea BCE 2016.04.06 18:00;USD;Proces-verbal al reuniunii Comitetului privind piețe deschise Rezerva Federală SUA 07.04.2016 11:30;EUR;Informații despre reuniunea BCE asupra politicii monetare

Să-l scriem în fișierul ht-news.csv și să-l plasăm în directorul necesar \MQL4\Files\ht-news.csv, de unde consilierul nostru îl poate citi.

Mai întâi, să setăm variabile externe pentru configurare; comentariile explică scopul lor:

Extern string startNewsEvent="Restricționarea lucrărilor la știri"; input bool StopOnNewsEvent=true; //Activați șirul de intrare de restricție NewsEventFileName="ht-news.csv"; //Fișier cu introducerea programului uint LoadNewsEventTimerInDay=7;//Cât de des în zile se reîncarcă fișierul de intrare uint StopPriorEventHours=2; //Oprire cu X ore înainte de intrarea evenimentului uint StartAfterEventHours=3; //Începe la X ore după eveniment extern șir stopNewsEvent="----------------";

Următoarea structură ne va ajuta să accesăm descrierea evenimentului în curs de procesare:

Struct NEWS_EVENT (datetime EventTime; //event time string Instrument; //event instrument string EventComment; //event comment);

Funcție personalizată pentru a citi informații dintr-un fișier

Bool LoadNews() ( int handle; // Instrumentul șir de descriptor de fișier, // Numele monedei evenimentului firstInstrument,secondInstrument, // Prima și a doua parte a numelui perechii curente eventComment, // Textul descrierii evenimentului șirDateTime; // Expresia șir a datei și orei evenimentului datetime eventDateTime; // Data și ora evenimentului în format datetime handle=FileOpen(NewsEventFileName,FILE_CSV|FILE_READ,";");// Deschiderea unui fișier if(handle<0) // Неудача при открытии файла { int lastError=GetLastError(); if(lastError==4103) // Если файла не существует, сообщим Alert("Нет файла с именем ",NewsEventFileName); else // При любой другой ошибке Alert("Ошибка при открытии файла ",NewsEventFileName," :",lastError); PlaySound("Bzrrr.wav"); // Громко ругнемся и вернем фалсе return false; } int cnt=0; while(FileIsEnding(handle)==false) { stringDateTime =FileReadString(handle);// Дата и время события instrument=FileReadString(handle); //Инструмент eventComment =FileReadString(handle);// Текст описания события, может не быть eventDateTime =StrToTime(stringDateTime); // Преобразование типа данных firstInstrument=StringSubstr(Symbol(),0,3);// Извлекаем первые 3 символа secondInstrument=StringSubstr(Symbol(),3,3);// Извлекаем вторые 3 символа if(StringCompare(instrument,firstInstrument,false)!=0 && StringCompare(instrument,secondInstrument,false)!=0) { continue; //не наши инструменты } cnt++; ArrayResize(NewsEvent,cnt,1000); //изменяем размер массива с запасом для ускорения ArrayResize(NewsEventTime,cnt,1000); NewsEvent.EventTime= eventDateTime; NewsEvent.Instrument=instrument; NewsEvent.EventComment=eventComment; NewsEventTime=eventDateTime; //удобнее искать в одномерном массиве } FileClose(handle); // Закрываем файл ArraySort(NewsEventTime,WHOLE_ARRAY,0,MODE_ASCEND); //сортируем массив для последующего поиска return true; }

Căutăm timpul necesar în matricea NewsEventTime și, dacă timpul este găsit, obținem descrierea acesteia a matricei structurii NewsEvent.

String GetEventInfo(datetime data) ( for(int i=0;i

Funcție de ajutor pentru a determina dacă ora curentă se încadrează în timpul inactiv

//verifică dacă trebuie să dezactivăm consilierul de știri True - work False - rest bool CheckEnableNewsWork() (dacă (ArraySize(NewsEventTime)==0) returnează adevărat; //din anumite motive, matricea cu programul era goală, ceea ce înseamnă lucrăm //acum trebuie să găsim cea mai apropiată dată în NewsEventTime înainte de care trebuie să oprim lucrul pentru StopPriorEventHours ore datetime timeCurrent =TimeCurrent(); datetime timeStopWork=timeCurrent+StopPriorEventHours*3600; //Dacă există o oră în NewsEventTime adică mai puțin decât timeStopWork, apoi încetăm să lucrăm int dateindex= ArrayBsearch(NewsEventTime,timeStopWork,WHOLE_ARRAY,0,MODE_ASCEND); datetime foundEventTime=NewsEventTime; timeStopWork=foundEventTime-StopPriorEventHours*3600; ora găsită data de oprire; //cal. timeStartWork=foundEventTime+StartAfterEventHours*3600; //acesta este ora de încheiere a odihnei / /acum să verificăm dacă acum suntem timeCurrent între timeStopWork și timeStartWork. Dacă da, atunci nu lucrăm dacă (timeCurrent>=timeStopWork && timeCurrent<=timeStartWork) { DrawLabel("EnableNewsWork","Не работаем, новость: "+GetEventInfo(foundEventTime)+"",5,80,Red); return false; } else { DrawLabel("EnableNewsWork","Нормальная работа, новостей нет",5,80,Green); return true; } }

Pentru a citi periodic dintr-un fișier cu un program, avem nevoie de un cronometru care rulează, de exemplu, o dată pe săptămână, așa cum este configurat

//Verificați prezența unui fișier de știri folosind timer void OnTimer() (if (StopOnNewsEvent) ( LoadNews(); //citește fișierul) )

Când inițializați consilierul, trebuie să porniți cronometrul și să citiți știrile pentru prima dată

OnInit() .... if (StopOnNewsEvent) //Dacă este setat, încărcați fișierul cu știrile ( bool tm=EventSetTimer(LoadNewsEventTimerInDay*86400); //porniți cronometrul pentru a încărca fișierul cu programul dacă (!tm) Alert(„Eroare EventSetTimer :”,GetLastError()); OnTimer();//Prima lansare imediată)

La fiecare bifă verificăm dacă putem deschide poziții. Apropo, acest lucru nu ar trebui să afecteze trasarea.

OnTick() .... bool enableNewsWork=true; //puteți lucra la evenimente de știri dacă (StopOnNewsEvent) ( enableNewsWork=CheckEnableNewsWork(); //Dacă există o limită de știri, verificați timpul) if (HaveMoney && enableNewsWork) Traiding(Pairs); //verificați condițiile și deschideți tranzacția pe o pereche

Asta e tot. Din păcate, încă nu am testat acest cod pe un cont real, de când l-am scris în weekend, am emulat tick-urile cu un cronometru și am schimbat manual ora curentă, care se oprește în weekend. Dar săptămâna viitoare îl voi urmări în viața reală, într-o nouă versiune” Forex Graal 1.11", unde am încorporat codul de mai sus.

În viitor, poate fi necesar să creați un utilitar convenabil pentru generarea fișierului ht-news.csv, de exemplu în același

Probabil ați observat că tranzacțiile în anumite zile sau chiar ore aduc pierderi. De exemplu, acestea ar putea fi tranzacții de vineri seara, al căror rezultat, atunci când sunt transferate în weekend, este adesea imprevizibil. Ce ar trebuii să fac? Activați și dezactivați manual consilierul? Acest lucru nu este foarte convenabil și toți suntem oameni - pur și simplu puteți uita să o faceți.

Rezolvarea problemei - consilier auxiliar Programator de comerț, care vă permite să limitați timpul de lucru al altor experți în funcție de programul stabilit de comerciant. De exemplu, puteți limita tranzacțiile cu robot de la 7 la 11 a.m. luni. Această dezvoltare vine de la prietenii noștri din ArgoLab și astăzi îl vom cunoaște în detaliu.

Analiza statistică

Înainte de a limita munca consilierului, trebuie mai întâi să determinați în ce moment strategia devine slabă. Pentru a face acest lucru, puteți utiliza unul dintre serviciile de monitorizare, cum ar fi myfxbook, care oferă statistici detaliate de tranzacționare de-a lungul timpului. Pentru ca analiza să fie de încredere, este indicat să aveți statistici de tranzacționare pentru cel puțin trei luni.

Deci, mai întâi, trebuie să începeți monitorizarea pe myfxbook. Există informații despre cum să faceți acest lucru pe site-ul nostru. . Să luăm ca exemplu monitorizarea consilierului. Forex Hunter.

De asemenea, puteți descărca pe site un raport de la testerul de strategie. Acest lucru este necesar în primul rând pentru cei care nu au încă o cantitate suficientă de istoric acumulat pe un cont real, dar au un robot care poate fi testat într-un tester. Cum să faceți acest lucru, citiți din nouarticol separat .

În continuare, după ce monitorizarea a fost descărcată și procesată, mergeți la secțiunea de statistici avansate, la fila „Zilnic”. Numărul de tranzacții profitabile și neprofitabile pe zi a săptămânii este afișat aici. După cum puteți vedea, joi și vineri cel mai mare număr relativ de tranzacții în pierdere este de 73%, respectiv 74%. Aceasta înseamnă că condițiile pieței din zilele noastre nu sunt potrivite pentru această strategie, previziunile sunt mai puțin precise și consilierul pierde bani. Pentru a îmbunătăți eficacitatea strategiei automate, este înțelept să eliminați aceste zile de la tranzacționare.

Apoi ne uităm la statisticile pe oră. Săgețile din captură de ecran marchează orele cu cel mai mare număr de tranzacții pierdute. În plus, în perioada nopții (în principal sesiunea asiatică) nu doar că sunt mult mai puține tranzacții decât în ​​mijlocul zilei, dar și calitatea intrărilor lasă de dorit.

Aceasta înseamnă că dacă blocăm munca consilierului joi și vineri, lăsându-l să lucreze în alte zile de la 11 la 19 ore, rezultatul este garantat să se îmbunătățească.

Setările consilierului pentru modificări din exemplul de mai sus vor arăta astfel:


Instalare și configurare

Consilierul este instalat în mod standard. Deschideți directorul de date terminal prin File - Deschideți directorul de date și accesați directorul MQL4 - Experți. Aici copiem fișierul EA descărcat anterior cu extensia „.ex4”. Pentru ca consilierul să apară în fereastra navigatorului, reporniți terminalul.

În setări trebuie să specificați timpul de funcționare în funcție de zilele săptămânii. Există trei parametri de intrare pentru fiecare zi. Primul este responsabil pentru activarea/dezactivarea tranzacționării într-o anumită zi, al doilea - pentru ora de începere a tranzacționării, al treilea - ora de încheiere a tranzacționării. Ora poate fi specificată la cel mai apropiat minut. Ora de început poate fi mai mare decât ora de încheiere, de exemplu, 19:00 și 9:00. În acest caz, tranzacționarea va fi permisă de la 00:00 la 9:00 și de la 19:00 la 24:00.

Parametrul suplimentar CloseBeforeSwitchOFF este responsabil pentru închiderea tuturor pozițiilor imediat înainte de a opri tranzacționarea automată. În total, parametrul poate lua trei valori: Nu - pozițiile nu sunt închise; CloseAllProfitable - doar cele profitabile sunt închise; CloseAll - ieșiți din toate pozițiile deschise. Parametrul de alunecare este responsabil pentru alunecarea maximă.


Nu uitați să activați tranzacționarea automată și importul de funcții din DLL-uri.

Ora trebuie specificată pe baza orei terminalului, care este afișată în antetul ferestrei de prezentare a pieței. Acesta este și timpul brokerului tău.

De asemenea, nu încercați să instalați mai multe instanțe ale consilierului pe un singur cont - este suficientă o singură instanță. În caz contrar, niciunul dintre ele nu va funcționa corect.

Concluzie

Limitarea timpului este cel mai simplu și mai eficient mod de a vă îmbunătăți performanța de tranzacționare. De exemplu, dacă consilierul pierde constant de la 4 la 8, atunci există un alt model pe piață pe care robotul nu este capabil să îl proceseze. Pur și simplu, prin faptul că nu tranzacționați în această perioadă, vă creșteți profitabilitatea generală și vă scutiți depozitul de tranzacții inutile.

Firul forumului

Cu stima, Alexey Vergunov
TradeLikeaPro.ru

Sursa http://tradelikeapro.ru/sovetnik-tradescheduler/

De asemenea poti fi interesat de:

Investiții în imobiliare comerciale
Compania RRG a realizat un studiu al pieței imobiliare comerciale din regiunea capitalei în...
Conceptele de „teritoriu” și „complex turistic și recreativ” în geografie
1 Condițiile moderne de dezvoltare ghidează producătorii de servicii turistice și recreative...
Cum să evitați să vă îndatorați?
Numărul miliardarilor din lume continuă să crească. După cum notează revista Forbes, bogăția totală...
Stabilirea procedurii de utilizare a spațiilor de locuit Procedura stabilită de utilizare a spațiilor de locuit articolul
Timp de citire: 7 minute Cumpărarea unei cote într-un apartament este un fenomen comun în Rusia....