Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

MetaTrader 4


Volf

Doporučené příspěvky

Prave jsem dokoncil (nebo spis jeste dokoncuju) takovou vecicku v MT4, ktera maximalne usnadnuje backtesting - aspon si to myslim. Zadavaji se Linie trendu (Trend lines), ktere znazornuji obchody. Ceny a casy jsou pak automaticky ulozeny v txt souboru, ktery se naimportuje do xls (ale umi to vic:)

Je to ke stazeni tady:

kopetom.webgarden.cz/download
soubor: kop_backtest.zip

Je v tom i DOC s napovedou tak to tu nebudu moc rozvadet.

tomas

Link to comment
Sdílet pomocí služby

  • Odpovědí 4,3k
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

japapatramtara (ale i ostatni):
prece jenom bych te poprosil jestli bys byl tak hodny a na kousinek kodu se kouknul.
Mam problem se Screen shotama.

Vytvarim je takto:

int shift = ObjectGetShiftByValue(DoubleToStr(tradeNameInx, 0), AllTradesArr[i][ARR_OBJPROP_PRICE1]);
WindowScreenShot(TradeName, 1500, 1000, shift+20, 5, -1);

Zatim se to chova nespolehlive - nektere screen shoty jsou z praveho konce grafu (kde ten "obchod" vubec neni).
Problem je s urcenim hodnoty "shift" kterou ziskavam pomoci fce "ObjectGetShiftByValue".

Nenasel jsem zadnou moznost jak to udelat jinak, nenapada te neco?

tom

Link to comment
Sdílet pomocí služby

kopeckyt:

to je finta, na kterou kdybych neprisel, tak by me MT4 uz davno omrzelo.. MT4 dokaze pomoci #import prilinkovat knihovny.. treba nativne uz je primo od metaquotes udelany wrapper na zakladni API fce(koukni do WinUser32.mqh).. no a od toho uz je jenom krucek k vlastni implementaci.... Staci si vytvorit dynamickou knihovnu v nejakem "dospelem" jazyce a tu nakopirovat do experts/libraries, pak v MT4 povolit importDLL a pak uz jen pres #import uplne stejne jako win knihovny(user32, ...) prilinkovat i tu svoji a muzes hned pouzivat jeji fce.. To vsechno se jevi jako zbytecna ztrata casu a i by to i byla ztrata casu, takze ted to hlavni, proc celou tuhle saskarnu: Ty si totiz tu knihovnu muzes vygenerovat i se symboly(tzn pristupovymi body do kodu[nechytejte me za slovo.. vim ze je to hlubsi nora, pro nase ucely to vysvetleni staci] :) .. A ted kdyz mas tohle vsechno za sebou, tak se da(mluvim o visual studiu) nastavit v project properties "attach process".. to udelas, zapnes projekt a ono se nic nedeje.. zdanlive.. ted kdyz zapnes MT4 a pustis ten indi/EA/cokoliv v cem je nainkludovana ta knihovna, tak to vsechno zacina.. kdykoliv si totiz nejsi jisty tim co ten skript dela(coz je teda u me docela casto), muzes si hodit break kamkoliv do fce v te knihovne a ve chvili volani dane fce z MT4, se skript i MT4 zastavi a skoci do visual studia a ty si muzes v klidu krokovat co se kde deje.. Ma to samozrejme nekolik bottlenecku, ale uz tak jsem to tady zatapetoval dost.. kdyby byl zajem, tak se ozvi a muzu se ti to pokusit popsat trochu lepe.. (tu) Lidi si maji pomahat

Link to comment
Sdílet pomocí služby

kopeckyt:

Zivil? Jak dlouho? Tak to ja tady radim takovemu odbornikovi? To si zase nenech radit od smrkace :) Ale jinak v kostce:

aby to slo debugovat, musis mit verzi MT4 218.. tzn stahnout si ji od brokera, ale jeste pred spustenim smazat liveupdte.exe, aby se neupnul na 223 ve ktere to pada(jenom attach.. knihovna funguje).. a potom uz na tom skutecne nic neni.. je dulezite zacit s takovou tou dummy fci void foo() { /* place hello world code here*/} a na to nabalovat, pac tam jsou rozdily v sizeofech typu c++ a MT4.. taky pole se predavaji jenom pres* atp... to uz si odzkousis.

Jo a pri vytvareni te knihovny ve visual studiu bud odklikni ze ji chces mit jako C style(coz je fuj), nebo si udelej definicni soubor.. Samozrejme to vis, ale spis pro zopakovani a jako zajimavost pro ostatni... je to proto, ze C++ resi pretezovani fci tak, ze z nich pro OS dela fce s jinym nazvem takze z foo(int) a foo(string) udela 23423foo43 a 222foo666 a tudiz aby jsi je mohl volat z "venku", musis udelat definicni soubor, kde reknes jak se ta fce jmenuje, coz sebou samozrejme nese problem, ze v te chvili nemuze mit pretize fce, ale to je jedno protoze tech par global fci jsou jenom get bridge.. Set zpetne nejde.. uz jsem videl wrap na MT4 api, ale nezdal se mi pouzitelny...

Link to comment
Sdílet pomocí služby

Návštěvník
Téma je uzavřené.

×
×
  • Vytvořit...