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

Doporučené příspěvky

Odesláno

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

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

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Odesláno

Jasne, me spis jde o to, ze jsem to jeste sam poradne nedodelal tak aby se v tom nevrtalo moc lidi.

Jeste me napada jeden takovy nedostatek - nastaveni textu je delane na petiminutovy TF.
Brzy to dodelam na vsechny.

Odesláno

japapatramtara

ja len k tvojim backtestom uvedenym pred casom... pokial robis backtest zadaj kazdy tick zalozeny na najmensom casovom ramci....a s nacitanymi datami aby sa test vyrovnal 90%tam budes mat ovela presnejsi vykresledok... takto bude velmi skresleny

Odesláno

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

Odesláno

kopeckyt:

no me urcite ne.. screenshoty jsem nikdy nedelal a na posouvani grafu jsem pouzil API fci
PostMessageA .. posouvani s grafem se skryva za konstantou 55 a parametr je v sekundach.. MT4 jsem objevil pred tydnem, takze na co muzu, na to pouzivam c++ a winapi.. stara skola

Odesláno

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

Odesláno

japapatramtara:

no, ja uz to zkousel a bohuzel se mi to zatim nepovedlo. Nejakou dobu jsem se dokonce zivil programovanim v C++ a kdyby se mi to povedlo spojit s MT4 tak to by bylo super.

zatim diky, jsem rad, ze vim koho se zeptat kdyby to neslo.

jdu prochazet diskuzi a zkouset...

tom

Odesláno

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...

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

×
×
  • Vytvořit...