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

Programování v MT4


BigBull

Doporučené příspěvky

  • 2 months later...
  • Odpovědí 583
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

Zdravím,
v hlave mám predstavu ako by asi mal fungovať môj AOS alebo EA ale treba to naprogramovať.
Princíp je veľmi jednoduchý založený na break out. systéme, takže EA by som zvládol možno aj sám. Ale najprv by som ho chcel ručne backtestovať. Predpokladám že percentuálna úspešnosť by mohla byť celkom slušná.
V prvej fáze by mi pomohlo keby mi nejaký indikátor (alebo script) dokázal vykresliť priamo do cenového grafu
čiary OHLC za zvolené obdobie. Neobchodoval by som celý deň ale len v pevne určenom čase od - do,(zatiaľ asi od
14:00 do 18:00. ) prípadne po dosiahnutí určitého zisku by som by som nastavil TrailingStop a potom by to šlo koľko by to vydalo.
Našiel by sa niekto kto by mi takýto alebo podobný identifikátor mohol poskytnúť na inšpiráciu?

Link to comment
Sdílet pomocí služby

  • 2 týdny později...
  • 1 month later...

Ahojte,

potreboval by som pomôcť s jednou vecou, ktorá čiastočne súvisí s problematikou, ktorá tu už bola spomenutá (iné TF). Konkrétne by som potreboval konvertovať súbor s príponou "hst", ktorý sa mi vytvorí v historii po "vytvorení" iného TF na "csv" alebo tomu podobný formát, s ktorým budem môcť ďalej pracovať podľa potreby.

Taktiež by som sa chcel spýtať či môžem v tomto vlákne (alebo v ktorom) nadhodiť tému AOS-iek, ktoré sú dostupné/predávané kade-tade na nete. Lebo uvažujem, žeby som moje portfolio funkčných ASO rozšíril o nejaké AOS-ky, ktoré som ja nevytvoril a nemajú môj rukopis. Všetky moje AOS vychádzajú z mojich znalostí/skúseností a samozrejme psychologického profilu a toto všetko vnímam ako určité riziko, ktoré by som chcel odstrániť/znížiť, ale neviem sa nejako vymotať z toho kvanta AOS. Preto by som uvítal (určite nie iba JA) pomoc skúsenejších, najmä čo sa týka výberu AOS (ako spoznať dobrý systém, kedže tam nie je komplexne popísaný), reálneho očakávaného výnosu (nie to čo tam nakreslia), férovej ceny (kedže dve najpodstatnejšie premenné - obchodný systém a reálny výnos sú nejasné) a iných oblastí.

Vopred ďakujem za pomoc :)

Link to comment
Sdílet pomocí služby

Nakoniec som sa lepšie pozrel na iMA a spichol zatiať dosť natvrdo asi toto:

//+------------------------------------------------------------------+
//| Test_iMA.mq4 |
//| Copyright 2015, MetaQuotes Software Corp. |
//| www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
int i,h,m,countBar;
double MA6,HighMA6,LowMA6;

h=TimeHour(TimeCurrent());
m=TimeMinute(TimeCurrent());
if (MathMod(m,30) > 0)
countBar =(24+h)*2+m/30+1;
else
countBar =(24+h)*2+m/30;

for(i=0;i {
MA6 = iMA(Symbol(),PERIOD_M30,6,0,MODE_EMA,PRICE_CLOSE,countBar-i);
if(i==0)
{
HighMA6=MA6;
LowMA6=MA6;
}
else
if(MA6>HighMA6)
{ HighMA6 = MA6;}
if(MA6 { LowMA6 = MA6; }


}

Alert(HighMA6,":",LowMA6);


}

//+------------------------------------------------------------------+

Link to comment
Sdílet pomocí služby

  • 9 months later...

Ahoj všem,

měla bych zatím takový začátečnický dotaz. Učím se programování v MT4 a zároveň už si i nějaké strategie testuji a pak upravuji atd. Ale teď jsem se dostala k bodu kdy se chci poradit. Nevím zda mám dále testovat na nějakých datech co mám či je vždy potřeba spíš testovat jen na datech brookra u kterého pak budu live obchodovat?

Neboť jsem snad 2 měsíce ladila jednu strategii na datech co mám u volně dostupného MT4. Pak jsem si stáhla historická data že si to otestuji i na datech z roku 2015. A to byl mega propadák.

Tak teď nevím jestli vynaložit úsilí a zjistit jak tu strategii optimalizovat a nebo by to nakonec bylo jen vyhozené úsilí protože na jiných datech to opět dopadne zase zcela jinak.

Mám tedy otázku na jakých datech správně ladit a optimalizovat strategie? Na jakýchkoliv z kvalitních zdrojů a nebo jen na datech od mého brookra?

předem obrovské díky za Vaše názory a praxi :o)

Veronika

Link to comment
Sdílet pomocí služby

To hodně záleží na strategii. MT4 používají převážně forexoví brokeři a ti s daty zejména v demo platformách s daty pěkně manipulují. Stačí si je poctivě projít a zjistíš, že jim tam občas nějaká svíčka chybí, či má úplně nesmyslné údaje. To potom samozřejmě hodně ovlivňuje strategie a pokud jsou strategie hodně otimalizované, tak pak v reálu má kvůli tomu podstatně horší výsledky. Data musí být z opravdu kvalitních zdrojů, kterým věříš. Testuje se pak tak, že strategii vyladíš na cca 2/3 dat histore a pak takto odladěnou strategii pustíš na následující 1/3 dat, která se ladění neúčastnila, aby jsi viděla nakolik je strategie robusní. Hodně také záleží na tom zda obchoduješ intradenně a pozici držíš jen relativně krátkou dobu (tady se každá manipulace s daty extrémně projeví na výsledku, protože bereš malý zisk, který i malá manipulace výrazně zkresluje), nebo swingově, kde se sice také manipulace projeví, ale ne už tak moc - bereš totiž velký zisk (řekněme v řádu několika procent), který malá manipulace (řekněme v řádu desetiny procenta) tolik nezkreslí, ale pochopitelně ovlivní.

Link to comment
Sdílet pomocí služby

Naprostý souhlas + dodám, že je třeba taky vědět logiku vstupů, myslím jak vstupuješ - market/limit/stop + v jaké fázi svíčky zadáváš pokyn. Od toho se pak odvíjí to, jak kvalitní data je potřeba mít, aby výsledky byly věrohodné. Demo data a real data - je skutečně někdy dost rozdíl. Stejně jako jeden a druhý broker s ohledem na časové posuny GMT. A opět - záleží na čem je postavena myšlenka strategie. Musíš o vidět v širších souvislostech.... Hodně štěstí.

Link to comment
Sdílet pomocí služby

  • 3 týdny později...

Zdravím.
Vracím se ke svému dřívějšímu dotazu ohledně automatického uzavření ručně otevřeného pokynu.
Stále jsem to nedal dokupy.Prosím tedy o pomoc.
Potřebuji aby mi na serveru běžela strategie,skrip,nebo já nevím co,která by mi podle nastavení uzavřela pokyn.
Takový neviditelný SL.Napsal jsem si prográmek jako strategii,ale tam to funguje jen v té strategii-tedy pokud v ní otevřu pokyn třeba vloženým příkazem s podmínkou.Jakmile pokyn otevřu ručně,nefunguje to.Myslím si že je to dáno tím,že řučně otevřený pokyn to nevidí,nebo to nemůže být jako strategie.Ale v každém případě nevím jak na to.Poradí někdo?Určitě je to jen jednoduchá blbůstka.Díky.Já sepsal toto:
//+-----------------------------------------------------------------------------+
//| 1) Neviditelný SL |
//| |
//+-----------------------------------------------------------------------------+
#property copyright "m"
#property link ""
//
////////////////////////////////////////////
//---- input parameters
extern int SL=100;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
//////////////////////////////////////////////////////////////////////

int start()
{
int close;
/////////////////////////////////////pro sell///////////////////////////////////////
if(OrderType()==OP_SELL)
{
if (((Ask-OrderOpenPrice())*100000)>SL)
{ close=OrderClose(OrderTicket(),OrderLots(),Ask,2,Yellow); }
}
/////////////////////////////////////pro buy//////////////////////////////////////////
if(OrderType()==OP_BUY)
{
if (((OrderOpenPrice()-Bid)*100000)>SL)
{ close=OrderClose(OrderTicket(),OrderLots(),Bid,2,Yellow); }
}
return(0);
}

Link to comment
Sdílet pomocí služby

1) Voláš funkci OredrOpenPrice(), ale cenu jakého pokynu má vrátit? Studuj OrderSelect() v helpu.
2) Když nevíš proč to dělá, to co dělá, použij Alert a vypisuj si hodnoty stavů/proměnných
3) Souvisí s ad2) ověř si podmínku před OrderClose() - pro mne tedy zrovna čitelná není, zakomponoval bych tam Point, resp. pro jistotu, co kdyby jsi to pustil na jiném grafu než je OrderSymbol() pokynu, popř. jsi změnil symbol v grafu apod.
MarketInfo(OrderSymbol(), MODE_POINT). jsou to sice už takové "o krok dál věci"... ale jsem už tak zvyklý kodovat, protože obecně trader může udělat jakoukoliv operaci a ta může mít vliv na EA, indikátor.

Zdravím, za FXAlgo

Link to comment
Sdílet pomocí služby

  • 2 týdny později...

×
×
  • Vytvořit...