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

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

Astăzi vom vorbi despre robotul Trade Scheduler, care are o caracteristică 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 aduc adesea pierderi? De exemplu, în prima zi a săptămânii, consilierul deschide foarte puține tranzacții, iar majoritatea sunt și neprofitabile. În astfel de cazuri, este logic să opriți consilierul înainte de sâmbătă și să îl activați marți. Puteți efectua această operațiune simplă manual, dar este ușor să uitați să dezactivați sau să activați consilierul în la fix.

Soluția la această problemă (și la alte câteva) poate fi utilizarea robotului Trade Scheduler, care nu tranzacționează singur, dar vă permite să limitați timpul de lucru al altor consilieri experți conform programului, pe baza analizei muncii acestor consilieri experți.

Înainte de a face ajustări la modul temporar de funcționare, este necesar să aflați în ce momente se tranzacționează adesea în roșu. În acest caz, serviciul MyFXbook va fi de ajutor, unde sunt prezentate statistici detaliate ale tranzacționării sistemului pe zile ale săptămânii și ore. Perioada optimă de tranzacționare pentru analiza funcționării sistemului este de 3 luni. Pentru a o efectua, trebuie să începeți monitorizarea serviciului. Puteți citi despre instalarea unui robot pe MyFXbook. Ca exemplu, să luăm în considerare rezultatele muncii consilierului expert, a căror monitorizare poate fi găsită făcând clic pe imagine:

Orez. 1. Monitorizarea funcționării consilierului expert Transient Zones 2.0 pe serviciul MyFXbook.

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

După încărcarea și procesarea monitorizării, trebuie să mergeți la secțiunea de statistici extinse, fila Zilnic. Aici puteți găsi informații despre suma relativă pe zi a săptămânii. În exemplul nostru, cel mai mare număr de tranzacții în pierdere cade joi și vineri, ceea ce înseamnă că ar fi rezonabil să suspendăm expertul în aceste zile. Motivul acestui comportament poate sta în starea pieței, care în prezent nu este potrivită pentru strategia robotului, iar calculele sale sunt mai puțin precise:


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

După ce ați analizat pe zi, puteți analiza munca efectivă pe ore. Pentru a face acest lucru, accesați fila Orară și vedeți când numărul relativ de tranzacții pierdute este mai mare:


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

Concluzie: ar fi înțelept să ne oprim procesul de tranzacționare joi, vineri și în restul zilelor își blochează funcționarea în primele două ore ale noii zile și în timpul zilei în acele ore când pierderea tranzacțiilor predomină - în special, la 12, 13, 14 ore din zi. Adică lăsați-l să lucreze noaptea de la 2 la 8 dimineața inclusiv, și de la 13 la 21 după-amiaza. 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 despre acest lucru sunt scrise în . Puteți descărca arhiva împreună cu expertul din linkul de mai jos:

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

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

Când instalați un Expert Advisor pe o diagramă, timpul necesar de lucru este setat în fereastra de setări pe zile ale săptămânii și ore. Ora este setata in functie de ora terminalului, este si ora. Există 3 parametri de intrare pentru fiecare zi. Primul parametru este responsabil pentru activarea/dezactivarea robotului într-o anumită zi a săptămânii, al doilea parametru este pentru ora de începere a tranzacționării, iar al treilea este ora de oprire. Ora este specificată în formatul ore: minute:


Orez. 4. Parametrii de intrare setati dupa analiza Expert Advisor.

De asemenea, în setări există un parametru suplimentar CloseBeforeSwitchOFF . Dacă setați la CloseAll, toate tranzacțiile vor fi închise automat înainte ca robotul să fie oprit. Dacă CloseAllProfitable - numai ordinele profitabile vor fi închise, dacă Nu - tranzacțiile nu vor fi închise. Parametrul Alunecare este responsabil pentru alunecarea maximă admisă.

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

Concluzie.

Vreau să îmbunătăți performanța consilierul tau? Încercați metoda de limitare a activității sale și analizați rezultatele. Dacă statisticile arată că Expert Advisor „conectează în mod constant” la un anumit moment al zilei, înseamnă că există un model pe piață pe care nu îl poate gestiona. Opriți tranzacționarea în această perioadă nefavorabilă și creșteți-i profitabilitatea!

Acest expert consilier este ideal pentru cei care tranzacționează pe niveluri și orice strategii folosind ordine limită în așteptare. EA va plasa comenzi la momentul potrivit, la distanța potrivită de prețul 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 limita de cumpărare, limita de vânzare sau ambele comenzi împreună!

EA 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 ele, setându-le pe fiecare cu numărul magic și setările de timp. După aceea, fiecare pereche va lucra strict individual. Dacă încă lucrezi manual cu comenzi limită, acest robot este pentru tine!

  • BUY_limit- Dacă să plasați o comandă pentru a cumpăra o limită.
  • lot_buy_limit- Limită de cumpărare a comenzilor 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 loturi.
  • 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.
  • alunecarea- 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- Stabiliți comenzile la timp?
  • Time_Hour- Ora deschiderii comenzilor 0-23
  • Timp_minut- Minutul comenzilor de deschidere 0 - 59. De exemplu, ora = 5, minut 40, deci la 5.40 se vor plasa comenzi din pretul din acel moment.
  • Expert_I- număr magic pentru a determina comenzile și tranzacționarea cu mai multe valute.

Dacă ale tale sistem comercial nu se bazează pe sărituri de știri, poate fi foarte util pentru sănătatea financiară și mintală să oprească activitatea consilierului înainte de lansarea de ș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 locul în care automatizarea este utilă.

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 este posibil să se lucreze și când nu. Tutorialul MQL4 oferă un exemplu de lucru cu un fișier text csv, pe care îl vom lua ca bază, scăpând 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ă - ar trebui să nu cred orbește pe nimeni, greșelile se întâmplă întotdeauna).

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

2016.04.01 14:00;USD;Indexul activității ISM în sectorul prelucrător 2016.04.01 14:00;USD;Indexul de accelerare treptată a inflației din ISM 2016.04.04 09:00;EUR;Indicele prețurilor de producție (mamă) 2016.04. 09:00;EUR;Indexul prețurilor producătorului (YoY) 05.04.2016 04:30;AUD;Decizie Banca de Rezervă Australia la rata dobânzii 2016.04.05 04:30;AUD;Reserve Bank of Australia Declarație însoțitoare 2016.04.06 07:00;EUR;Reuniunea BCE 2016.04.06 18:00;USD;Procesul-verbal al reuniunii Comitetului privind piețe deschise Rezerva Federală SUA 07.04.2016 11:30;EUR;Informații despre reuniunea BCE privind politica monetară

Să-l scriem în fișierul ht-news.csv și să-l plasăm în directorul necesar \MQL4\Files\ht-news.csv, de unde EA-ul 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; //Activează șirul de intrare pentru constrângeri NewsEventFileName="ht-news.csv"; //Programează introducerea fișierului 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 X ore după eveniment extern șir stopNewsEvent="----------------";

Următoarea structură ne va ajuta să accesăm descrierea evenimentului gestionat:

Struct NEWS_EVENT ( datetime EventTime; //ora evenimentului șir Instrument; //event instrument șir EventComment; //event comment );

Funcție personalizată pentru citirea informațiilor dintr-un fișier

Bool LoadNews() ( mâner int; // Instrument de tip șir de descriptor de fișier, // Nume monedă eveniment firstInstrument,secondInstrument, // Prima și a doua parte a numelui perechii curente eventComment, // Descrierea evenimentului text șirDateTime; // Expresie șir a datei și orei evenimentului datetime eventDateTime; // Data și ora evenimentului în format datetime handle=FileOpen(NewsEventFileName,FILE_CSV|FILE_READ,";");// Deschideți fișierul 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, iar dacă timpul este găsit, vom obține descrierea acestuia din matricea structurii NewsEvent

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

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

//verificați dacă este necesar să dezactivați consilierul la știri Adevărat - lucrăm Fals - ne odihnim bool CheckEnableNewsWork() ( dacă (ArraySize(NewsEventTime)==0) returnează adevărat; //din anumite motive, programul matricea sa dovedit a fi goală, așa că lucrăm //acum trebuie să găsiți cea mai apropiată dată în NewsEventTime înainte de care trebuie să opriți lucrul pentru StopPriorEventHours ore datetime timeCurrent =TimeCurrent(); datetime timeStopWork=timeCurrent+StopPriorEventHours*3600; / /Dacă NewsEventTime are un timp mai mic decât timeStopWork, atunci nu mai funcționează int dateindex= ArrayBsearch(NewsEventTime,timeStopWork,WHOLE_ARRAY,0,MODE_ASCEND); datetime foundEventTime=NewsEventTime; timeStopWork=foundEventTime-StopPriorEventHours; /*3600 the stop the time; ora găsită datetime timeStartWork=foundEventTime+StartAfterEventHours*3600; //acesta este timpul de odihnă / /acum verificați dacă suntem acum timeCurrent între timeStopWork și timeStartWork, dacă da, atunci nu funcționează dacă (timeCurrent>=timeS topWork && timeCurrent<=timeStartWork) { DrawLabel("EnableNewsWork","Не работаем, новость: "+GetEventInfo(foundEventTime)+"",5,80,Red); return false; } else { DrawLabel("EnableNewsWork","Нормальная работа, новостей нет",5,80,Green); return true; } }

Pentru a citi periodic din fișierul de 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 cu știri prin timer void OnTimer() ( dacă (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 de știri ( bool tm=EventSetTimer(LoadNewsEventTimerInDay*86400); //porniți cronometrul pentru a încărca fișierul de programare dacă (!tm) Alert("EventSetTimer) eroare :",GetLastError()); OnTimer();//Prima rulare imediată)

În 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ă pentru știri, verificați timpul ) if (HaveMoney && enableNewsWork) Traiding(Pairs); //verificarea condițiilor și deschiderea unei tranzacții pe 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 mă voi uita în viața reală, în noua versiune” Forex Graal 1.11”, unde am încorporat codul de mai sus.

În viitor, poate fi necesar să se realizeze 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 o pierdere. De exemplu, pot fi tranzacții de vineri seara, al căror rezultat, atunci când este transferat în weekend, este adesea imprevizibil. Cum să fii? Activați și dezactivați manual consilierul? Acest lucru nu este foarte convenabil și toți suntem oameni - puteți uita să o faceți.

Rezolvarea problemelor - consilier asistent Programator de comerț, care vă permite să limitați timpul de lucru al altor Consilieri Experti conform programului stabilit de comerciant. De exemplu, puteți restricționa tranzacționarea cu robot de la 7 a.m. până la 11 a.m. luni. Această dezvoltare este de la prietenii noștri din ArgoLab și astăzi ne vom familiariza cu el în detaliu.

Analiza statistica

Înainte de a limita munca consilierului, trebuie mai întâi să stabiliți la ce oră renunță strategia. Pentru a face acest lucru, puteți utiliza unul dintre serviciile de monitorizare, cum ar fi myfxbook, care oferă statistici detaliate de tranzacționare în timp. Pentru ca analiza să fie fiabilă, este de dorit să existe statistici de tranzacționare pentru cel puțin trei luni.

Deci, pentru început, trebuie să începeți monitorizarea pe myfxbook. Pentru informații despre cum să faceți acest lucru, consultați site-ul nostru web. . De exemplu, să luăm monitorizarea unui consilier Forex Hunter.

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

În plus, după ce monitorizarea a fost încărcată și procesată, mergeți la secțiunea de statistici extinse, la fila „Zilnic”. Afișează numărul de tranzacții profitabile și cu pierderi în funcție de ziua săptămânii. 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 de piață din zilele noastre nu sunt potrivite pentru această strategie, previziunile sunt mai puțin precise și EA pierde bani. Pentru a îmbunătăți eficiența strategiei automate, este rezonabil să eliminați aceste zile de la tranzacționare.

Apoi ne uităm la statistici pe oră. Săgețile din captură de ecran marchează orele cu cel mai mare număr de tranzacții pierdute. Pe lângă faptul că î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 Expert Advisor joi și vineri, lăsând-o să lucreze în alte zile de la 11:00 la 19:00, rezultatul este garantat să se îmbunătățească.

Setările EA pentru modificări din acest exemplu vor arăta astfel:


Instalare și configurare

Consilierul este instalat într-un mod standard. Deschideți directorul de date terminal prin File - Open data directory și accesați directorul MQL4 - Experts. Aici copiem fișierul Expert Advisor descărcat anterior cu extensia „.ex4”. Pentru a face ca Expert Advisor să apară în fereastra Navigator, 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 - pentru sfârșitul tranzacționării. Timpul poate fi specificat la cel mai apropiat minut. Ora de început poate fi mai mare decât ora de încheiere, cum ar fi 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 funcțiile de tranzacționare automată și de import din bibliotecile DLL.

Trebuie specificată ora, concentrându-se pe ora terminalului, care este afișată în titlul ferestrei Market Watch. Este 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 fuzionează în mod constant de la 4 la 8, atunci există un model diferit pe piață, pe care robotul nu îl poate procesa. Doar că nu tranzacționați în această perioadă - creșteți profitabilitatea generală și descărcați depozitul din tranzacții inutile.

Firul forumului

Cu stimă, Alexey Vergunov
TradeLikeaPro.ru

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

Veți fi, de asemenea, interesat de:

Caut un proiect de investitii
Cum să-ți faci propunerea de afaceri atractivă și să găsești un investitor privat? Unde si cum...
Depuneri în banca VTB 24 pentru astăzi
Dobânda la depozitele persoanelor fizice în VTB 24 pentru 2016 variază de la 3,23 la 11,75% în ...
Cât de mult pentru primul copil?
Situația demografică din țara noastră s-a îmbunătățit simțitor în ultimii ani. Conform...
Sub capital de maternitate ce poate fi cumpărat, vândut, ipotecat, indemnizație lunară
Capitalul de maternitate în 2019 este asigurat în conformitate cu noua Lege federală nr. 418. Legea prevede...
Procedura de organizare a unei asociații de proprietari într-un bloc de locuințe
Asociația proprietarilor de case (abreviată ca HOA) este o organizație non-profit...