Pátek 29. březen 2024 14:26
reklama
Purple trading AI
reklama
Dukascopy new
reklama
CapXmaster srovnani
reklama
CapXmaster

EA - Posunutie SL na 1/2 a následne na BE

Pozdravujem všetkých,

potreboval by som poradiť. Chcem si spraviť EA na posúvanie SL pri dosiahnutí určitého zisku. Klasické posunutie SL na BE pri dosiahnutí určitého zisku mi je celkom jasné a EA s touto funkciou nie je problém na webe nájsť.
Rovnako som našiel aj EA pre Trailing stop.
Ja však chcem posunúť SL len dvakrát a to:
1. krát chcem SL posunúť na 1/2 pri dosiahnutí zisku 1:1
2. krát chcem SL posunúť na BE pri dosiahnutí zisku 1:2

Upravil som EA na klasické posúvanie SL na BE tak, aby fungovalo popísaným spôsobom, avšak funguje len pre jeden otvorený obchod na danom menovom páre.

--------------------------------------------------

extern bool x = true;   //keď x = true, vykoná sa posunutie na 1/2 SL v prípade, že sú splenné podmienky
                                  //keď x = false, vykoná sa posunutie na BE v prípade, že sú splnené podmienky 

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if(Symbol()=="USDJPY" || Symbol()=="EURJPY" || Symbol()=="GBPJPY")
      return(0);

   int type;
   int ticket;
   int total = OrdersTotal();
   double openPrice, stopPrice;

   for(int i=total-1;i>=0;i--)
   {
      for(int j=i;j>=0;j--)
      if(OrderSelect(i, SELECT_BY_POS))
      {
         ticket = OrderTicket();
         type = OrderType();
         openPrice = OrderOpenPrice();
         stopPrice = OrderStopLoss();
         if(x = true && type == OP_SELL && stopPrice > openPrice && Ask <= (openPrice-(stopPrice-openPrice)) && OrderSymbol()==Symbol())
            OrderModify(ticket,OrderOpenPrice(),(openPrice+(stopPrice-openPrice)/2),OrderTakeProfit(),0,Red);
            x = false;
         if(x = true && type == OP_BUY && stopPrice < openPrice && Bid >= (openPrice+(openPrice-stopPrice)) && OrderSymbol()==Symbol())
            OrderModify(ticket,OrderOpenPrice(),(openPrice-(openPrice-stopPrice)/2),OrderTakeProfit(),0,Blue);
            x = false;
         if(x = false && type == OP_SELL && stopPrice > openPrice && Ask <= (4*(openPrice-(openPrice-stopPrice))) && OrderSymbol()==Symbol())
            OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red);
            x = true;
         if(x = false && type == OP_BUY && stopPrice < openPrice && Bid >= (4*(openPrice+(openPrice-stopPrice))) && OrderSymbol()==Symbol())
            OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
            x = true;
      }
   }

//----
   return(0);
  }

-------------------------------------------------------------------------------------------

Potrebujem, aby posúvanie SL fungovalo aj pre viac otvorených obchodov na jednom páre.
Obchody budú mať rôzne veľkosti SL a budú sa zadávať priebežne aj počas chodu EA.

Viete mi s tým niekto pomôcť?
Vopred ďakujem za každú radu.

Jste na diskusním fóru jako nepřihlášený uživatel a Vaše funkce jsou tak omezené. Pro neomezený přístup je nutné být registrovaný a přihlášený uživatel. Nejste-li registrován/a klikněte pro bezplatnou registraci. Jednoduchá registrace vám otevře cestu k profesionálním informacím.

Registrací na FXstreet.cz můžete získat:

  • Možnost diskutovat s ostatními tradery.
  • Vkládání nových příspěvků a zakládání nových témat v diskusním fóru.
  • Možnost vyhledávání v tomto velmi rozsáhlém diskusním fóru.
  • Přístup k uzamčeným odborným článkům, sekcím a školy forexu.
  • Ebooky, manuály a obchodní systémy zdarma.
  • Zasílání newsletterů a informací o nových akcích a aktivitách portálu FXstreet.cz
  • Možnost psát vlastní blogy a články.
  • Možnost objednání tradingových knih, seminářů nebo VIP zóny.
  • Další přínosné informace z oblasti obchodování na forexu.
Autor EA - Posunutie SL na 1/2 a následne na BE (30 odpovědí)
Kovac
Veteran member
avatar
Příspěvky: 21514
Více informací o uživateli >>
EA - Posunutie SL na 1/2 a následne na BE 19.05.2017 12:28

Toto by mela byt hracka pro: Vykuk

Broker: Purple Trading (forex) | XTB (akcie) | Swissquote Bank (indexy a komodity). Obchodní systém: Price Action, S/R, VIP zóna.
walto
Nováček v diskuzi
avatar
Příspěvky: 9
Více informací o uživateli >>
Re: EA - Posunutie SL na 1/2 a následne na BE 20.05.2017 17:04
Odpověď na: Kovac

Toto by mela byt hracka pro: Vykuk

Áno? :) Je fakt, že Vykuk mi už v jednom prípade radil.

Skúšal som to ešte tak, že som do premennej typu pole vklada čísla objednávok OrderTicket (), ktoré už mali posunutý SL na 1/2, tým pádom sa ich už týkalo len prípadné posunutie na BE, ale zamotal som sa v tom a okrem iného, neviem čo s už uzatvorenými objednávkami. Ich čísla mi stále "vysia" v premennej typu pole. Takže toto asi nie je správna cesta.

Uvažoval som ešte nad tým, vložiť objednávke, ktorej SL už bol posunutý na 1/2, nejaký príznak, ako napr. magic number, ale na fórach som sa dočítal, že magic number nie je možné meniť a objednávka zadaná priamo v platforme má asi štandardne magic = 0. Čiže každá zadaná objednávka už nejaké to magic number má a nie je možné ho zmeniť.

Takže ani týmto spôsobom to asi nepôjde.

Vykuk
Veteran member
avatar
Příspěvky: 1271
Více informací o uživateli >>
Re: Re: EA - Posunutie SL na 1/2 a následne na BE 21.05.2017 14:49
Odpověď na: walto

Áno? :) Je fakt, že Vykuk mi už v jednom prípade radil.

Skúšal som to ešte tak, že som do premennej typu pole vklada čísla objednávok OrderTicket (), ktoré už mali posunutý SL na 1/2, tým pádom sa ich už týkalo len prípadné posunutie na BE, ale zamotal som sa v tom a okrem iného, neviem čo s už uzatvorenými objednávkami. Ich čísla mi stále "vysia" v premennej typu pole. Takže toto asi nie je správna cesta.

Uvažoval som ešte nad tým, vložiť objednávke, ktorej SL už bol posunutý na 1/2, nejaký príznak, ako napr. magic number, ale na fórach som sa dočítal, že magic number nie je možné meniť a objednávka zadaná priamo v platforme má asi štandardne magic = 0. Čiže každá zadaná objednávka už nejaké to magic number má a nie je možné ho zmeniť.

Takže ani týmto spôsobom to asi nepôjde.

Jdeš na to dobře. Největší problém je rozpoznat pozice kde už došlo k posunu sl. Na BE je to snadný, ale ta polovina je oříšek. Takže jedna varianta je pole, ale musel by jsi ho pravidelně "čistit" od pozic, který tě už nezajímají (jsou zavřený). Další varianta, co mě napadá, je použít global variables. Tam můžeš vytvářet proměnný typu double, který si ale můžeš pojmenovat (třeba podle ticketu). Tyto proměnný se časem samy mažou, když k nim nepřistupuješ. Ale moc šetrné na paměť to není, protože ti stačí bool a máš double.

| Broker: IC Markets (live) | FX od 2012 |
Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Výběr podle symbolu a více obchodů na symbolu 21.05.2017 20:31

Já to mám napsané takto a funguje to na několika instrumentech (cca 20 současně) a několika otevřených obchodech (cca 30) současně. Je to platné i pro páteční verzi 1090:

double openPrice, stopPrice; // TVOJE

// sem vložit

int Vyber1=0; // tento výběr spočítá počet otevřených obchodů

for(int y=0; Vyber1<OrdersTotal(); y++)
if(OrderSelect(y,SELECT_BY_POS,MODE_TRADES))
{
Vyber1++;
if(OrderSymbol()==Symbol())
{
int Vyber2=0; // spočítá počet otevřených obchodů u určitého instrumentu
for(int x=0; Vyber2<OrdersTotal(); x++)
if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES))
{

Vyber2++;

for(int i=total-1;i>=0;i--) // TVOJE

Dále si na konci doplň složené závorky.

Kdyby něco napiš.

Vykuk
Veteran member
avatar
Příspěvky: 1271
Více informací o uživateli >>
Re: Výběr podle symbolu a více obchodů na symbolu 22.05.2017 07:42
Odpověď na: Fil

Já to mám napsané takto a funguje to na několika instrumentech (cca 20 současně) a několika otevřených obchodech (cca 30) současně. Je to platné i pro páteční verzi 1090:

double openPrice, stopPrice; // TVOJE

// sem vložit

int Vyber1=0; // tento výběr spočítá počet otevřených obchodů

for(int y=0; Vyber1<OrdersTotal(); y++)
if(OrderSelect(y,SELECT_BY_POS,MODE_TRADES))
{
Vyber1++;
if(OrderSymbol()==Symbol())
{
int Vyber2=0; // spočítá počet otevřených obchodů u určitého instrumentu
for(int x=0; Vyber2<OrdersTotal(); x++)
if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES))
{

Vyber2++;

for(int i=total-1;i>=0;i--) // TVOJE

Dále si na konci doplň složené závorky.

Kdyby něco napiš.

Ale na projetí všech obchodů stačí jedna smyčka. Není potřeba několik vnořených. Navíc tohle podle mě neřeší hlavní problém. Pokud má na jenom páru 2 a více pozic, tak potřebuje filtrovat kde už k posunu na 1/2 jednou došlo.

| Broker: IC Markets (live) | FX od 2012 |
Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Výběr podle symbolu a více obchodů na symbolu 22.05.2017 08:14
Odpověď na: Vykuk

Ale na projetí všech obchodů stačí jedna smyčka. Není potřeba několik vnořených. Navíc tohle podle mě neřeší hlavní problém. Pokud má na jenom páru 2 a více pozic, tak potřebuje filtrovat kde už k posunu na 1/2 jednou došlo.

Záleží jak přemýšlíš a jak používáš AOS. Pokud má AOS spuštěn na několika instrumentech současně, tak je potřeba toho zjistit více:

1. Musí zjistit počet otevřených obchodů - nejde o počet, ale kolikrát se má spustit smyčka po každém ticku. Program neví kolik je teď zrovna otevřených obchodů, jak zjistit kolik je otevřených obchodů a kolikrát se má smyčka opakovat? Když dám podmínku na výběr ihned podle instrumentu, tak je ten problém, že když první obchod nebude ten instrument, který já chci, tak mi bude program čekat na další tick a dokud nebude první otevřený obchod podle instrumentu, tak se mi další podmínky nespustí.

2. Musí spočítat počet obchodů u jednotlivého instrumentu a tím kolikrát se bude měnit SL

3. Může dát další smyčku, která mu vybere ty obchody, které ještě nemají posunutý SL nebo BE - fantazii se meze nekladou

To co jsi navrhoval ty, nevím, ale vůbec jsi to nenapsal, aby si to mohl zkopírovat do AOS, takže teorie a ani nevědět jestli to funguje je opravdu pomocné. Zkus vyzkoušet moje a potom teoretizuj.

Toto je postup, jak to každý den používám a to současně na 12 instrumentech a současně otevřených i 12 obchodech na jednom instrumentu. Několik smyček mám při otevření obchodu (už je otevřen obchod, jak veliký, není již otevřen korelující obchod, buy nebo sell a další data co potřebuji zjistit už z otevřených nebo i uzavřených pozic) a pak při jakékoliv změně obchodu zjistit co potřebuji a to zase ze všech i klidně 100 otevřených pozic a to po každém ticku. 

Jestli to umíš naprogramovat jinak a lépe, tak jo, ale zatím jsi neporadil, jen teoretizoval s nějakými variables, "čištěním" a bool. Toto nikomu nepomůže a problém to asi nevyřeší. 

Mně to funguje a pokud si to kdokoliv na fxstreet vezme a pomůžemu to, tak jsem rád. Teoretiků je tady jak hub po dešti.

 

Vykuk
Veteran member
avatar
Příspěvky: 1271
Více informací o uživateli >>
Re: Re: Re: Výběr podle symbolu a více obchodů na symbolu 22.05.2017 08:20
Odpověď na: Fil

Záleží jak přemýšlíš a jak používáš AOS. Pokud má AOS spuštěn na několika instrumentech současně, tak je potřeba toho zjistit více:

1. Musí zjistit počet otevřených obchodů - nejde o počet, ale kolikrát se má spustit smyčka po každém ticku. Program neví kolik je teď zrovna otevřených obchodů, jak zjistit kolik je otevřených obchodů a kolikrát se má smyčka opakovat? Když dám podmínku na výběr ihned podle instrumentu, tak je ten problém, že když první obchod nebude ten instrument, který já chci, tak mi bude program čekat na další tick a dokud nebude první otevřený obchod podle instrumentu, tak se mi další podmínky nespustí.

2. Musí spočítat počet obchodů u jednotlivého instrumentu a tím kolikrát se bude měnit SL

3. Může dát další smyčku, která mu vybere ty obchody, které ještě nemají posunutý SL nebo BE - fantazii se meze nekladou

To co jsi navrhoval ty, nevím, ale vůbec jsi to nenapsal, aby si to mohl zkopírovat do AOS, takže teorie a ani nevědět jestli to funguje je opravdu pomocné. Zkus vyzkoušet moje a potom teoretizuj.

Toto je postup, jak to každý den používám a to současně na 12 instrumentech a současně otevřených i 12 obchodech na jednom instrumentu. Několik smyček mám při otevření obchodu (už je otevřen obchod, jak veliký, není již otevřen korelující obchod, buy nebo sell a další data co potřebuji zjistit už z otevřených nebo i uzavřených pozic) a pak při jakékoliv změně obchodu zjistit co potřebuji a to zase ze všech i klidně 100 otevřených pozic a to po každém ticku. 

Jestli to umíš naprogramovat jinak a lépe, tak jo, ale zatím jsi neporadil, jen teoretizoval s nějakými variables, "čištěním" a bool. Toto nikomu nepomůže a problém to asi nevyřeší. 

Mně to funguje a pokud si to kdokoliv na fxstreet vezme a pomůžemu to, tak jsem rád. Teoretiků je tady jak hub po dešti.

 

Ok

| Broker: IC Markets (live) | FX od 2012 |
Vykuk
Veteran member
avatar
Příspěvky: 1271
Více informací o uživateli >>
Re: Re: Re: Výběr podle symbolu a více obchodů na symbolu 22.05.2017 08:50
Odpověď na: Fil

Záleží jak přemýšlíš a jak používáš AOS. Pokud má AOS spuštěn na několika instrumentech současně, tak je potřeba toho zjistit více:

1. Musí zjistit počet otevřených obchodů - nejde o počet, ale kolikrát se má spustit smyčka po každém ticku. Program neví kolik je teď zrovna otevřených obchodů, jak zjistit kolik je otevřených obchodů a kolikrát se má smyčka opakovat? Když dám podmínku na výběr ihned podle instrumentu, tak je ten problém, že když první obchod nebude ten instrument, který já chci, tak mi bude program čekat na další tick a dokud nebude první otevřený obchod podle instrumentu, tak se mi další podmínky nespustí.

2. Musí spočítat počet obchodů u jednotlivého instrumentu a tím kolikrát se bude měnit SL

3. Může dát další smyčku, která mu vybere ty obchody, které ještě nemají posunutý SL nebo BE - fantazii se meze nekladou

To co jsi navrhoval ty, nevím, ale vůbec jsi to nenapsal, aby si to mohl zkopírovat do AOS, takže teorie a ani nevědět jestli to funguje je opravdu pomocné. Zkus vyzkoušet moje a potom teoretizuj.

Toto je postup, jak to každý den používám a to současně na 12 instrumentech a současně otevřených i 12 obchodech na jednom instrumentu. Několik smyček mám při otevření obchodu (už je otevřen obchod, jak veliký, není již otevřen korelující obchod, buy nebo sell a další data co potřebuji zjistit už z otevřených nebo i uzavřených pozic) a pak při jakékoliv změně obchodu zjistit co potřebuji a to zase ze všech i klidně 100 otevřených pozic a to po každém ticku. 

Jestli to umíš naprogramovat jinak a lépe, tak jo, ale zatím jsi neporadil, jen teoretizoval s nějakými variables, "čištěním" a bool. Toto nikomu nepomůže a problém to asi nevyřeší. 

Mně to funguje a pokud si to kdokoliv na fxstreet vezme a pomůžemu to, tak jsem rád. Teoretiků je tady jak hub po dešti.

 

A nebo ne... musím reagovat.... Nejde mi to jen tak vydejchat, aby mi někdo takhle hnul žlučí hned po ránu, to se dlouho nikomu nepovedlo... Myslím, že tady na fóru jsem pomohl dost lidem, tak si laskavě nech ty keci o teoretizování na koledu. Já na to rozhodně zvědavej nejsem.

Z vlastní zkušenosti vím, že když si s nečím nevím rady, tak mi stačí nasměrovat. S tím, co jsem napsal, tak si programátor poradí. Já nejsem u pc, abych mu vysypal celej kód, ale doteď jsem si myslel, že i tak můžu poradit a pomoct řešit problém. Bohatá to zkušenost do budoucna, dík...

K te smyčce stačí pouze jeden tick, který rovnou vyfiltruje žádané obchody - projde všechny a akci provede jen tam kde chce:

for( int pos = 0; pos < OrdersTotal(); pos++ )
{
if( OrderSelect( pos, SELECT_BY_POS ) == false )
continue;

if( Symbol() != OrderSymbol() )
continue;

//if( MagicNumber != OrderMagicNumber() )
// continue;

//tady můžeš provádět s příkazem od kterého máš orderticket co chceš
}

| Broker: IC Markets (live) | FX od 2012 |
Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Re: Re: Výběr podle symbolu a více obchodů na symbolu 22.05.2017 09:35
Odpověď na: Vykuk

A nebo ne... musím reagovat.... Nejde mi to jen tak vydejchat, aby mi někdo takhle hnul žlučí hned po ránu, to se dlouho nikomu nepovedlo... Myslím, že tady na fóru jsem pomohl dost lidem, tak si laskavě nech ty keci o teoretizování na koledu. Já na to rozhodně zvědavej nejsem.

Z vlastní zkušenosti vím, že když si s nečím nevím rady, tak mi stačí nasměrovat. S tím, co jsem napsal, tak si programátor poradí. Já nejsem u pc, abych mu vysypal celej kód, ale doteď jsem si myslel, že i tak můžu poradit a pomoct řešit problém. Bohatá to zkušenost do budoucna, dík...

K te smyčce stačí pouze jeden tick, který rovnou vyfiltruje žádané obchody - projde všechny a akci provede jen tam kde chce:

for( int pos = 0; pos < OrdersTotal(); pos++ )
{
if( OrderSelect( pos, SELECT_BY_POS ) == false )
continue;

if( Symbol() != OrderSymbol() )
continue;

//if( MagicNumber != OrderMagicNumber() )
// continue;

//tady můžeš provádět s příkazem od kterého máš orderticket co chceš
}

Přeji Ti klidné ráno, když jsem Ti tak krásně probral vnitřnosti.

Ale teď vážně, nikdy a nikomu, vůbec né Tobě, jsem nenadával do teoretiků. Jen jsem se obecně vyjádřil, že to tady dost upadá, že to jsou tady hlavně teoretici (i ti co se honosí u nicku titulem Veteran), co si své tajemství nechávají pro sebe, jako by na tom stálo bohatství lidstva.

Tak a teď prakticky a na to sis dost dobře naběhl. Když už se vymlouváš, že nejsi u počítače, tak dobrá. Ale když už tu něco rychle zkusíš naprogramovat, tak by to mělo fungovat. Zkoušel jsi to vůbec, měl jsi tu odvahu to vyzkoušet nebo jsi jen co nejrychleji chtěl odpovědět, aby si "VYHRÁL"?

Ne, NEFUNGUJE TO!!!!!! Je to přesně jak jsem říkal. Já jsem to vložil do mého kódu pro TS ten tvůj výběr obchodů a nic, teda skoro. Jo, on najde první obchod instumentu a tam udělá co potřebuji, ale že jsou otevřené i další obchody na stejném instrumentu ho už nezajímá. Jak by mohlo, protože jsi mu řekl, že jak najde otevřený obchod s tímto instrumentem, tak to má udělat a on to udělá, ale nikdo mu jaksi neřekl, že tam dole pod ním, ještě něco může být. Na demu jsem to vyzkoušel, otevřel na 4 instrumentech různě po sobě 2xbuy a 2x sell a čekal, co se bude měnit. Zkus to, třeba Tě to překvapí, ale opravdu to nefunguje!!!!!!!!

Takže to zkus ještě jednou, já mám času dost. U PC budu sedět do 15, pak si dám pauzu asi hodinu a pak asi do 22, takže času máme dost. Jo a k tomu, že to umíš jinak, tak ano. 100 programátorů má 100 různých názorů a 100 různých způsobů to nějak udělat. Proto nikdo nemá rád programovat něco po někom nebo zjišťovat, jak to ten člověk myslel. V době kdy jsem začínal na ZX Spectrum, Didaktiku a IQ151, to bylo snažší.

 

 

 

Vykuk
Veteran member
avatar
Příspěvky: 1271
Více informací o uživateli >>
Re: Re: Re: Re: Re: Výběr podle symbolu a více obchodů na symbolu 22.05.2017 10:03
Odpověď na: Fil

Přeji Ti klidné ráno, když jsem Ti tak krásně probral vnitřnosti.

Ale teď vážně, nikdy a nikomu, vůbec né Tobě, jsem nenadával do teoretiků. Jen jsem se obecně vyjádřil, že to tady dost upadá, že to jsou tady hlavně teoretici (i ti co se honosí u nicku titulem Veteran), co si své tajemství nechávají pro sebe, jako by na tom stálo bohatství lidstva.

Tak a teď prakticky a na to sis dost dobře naběhl. Když už se vymlouváš, že nejsi u počítače, tak dobrá. Ale když už tu něco rychle zkusíš naprogramovat, tak by to mělo fungovat. Zkoušel jsi to vůbec, měl jsi tu odvahu to vyzkoušet nebo jsi jen co nejrychleji chtěl odpovědět, aby si "VYHRÁL"?

Ne, NEFUNGUJE TO!!!!!! Je to přesně jak jsem říkal. Já jsem to vložil do mého kódu pro TS ten tvůj výběr obchodů a nic, teda skoro. Jo, on najde první obchod instumentu a tam udělá co potřebuji, ale že jsou otevřené i další obchody na stejném instrumentu ho už nezajímá. Jak by mohlo, protože jsi mu řekl, že jak najde otevřený obchod s tímto instrumentem, tak to má udělat a on to udělá, ale nikdo mu jaksi neřekl, že tam dole pod ním, ještě něco může být. Na demu jsem to vyzkoušel, otevřel na 4 instrumentech různě po sobě 2xbuy a 2x sell a čekal, co se bude měnit. Zkus to, třeba Tě to překvapí, ale opravdu to nefunguje!!!!!!!!

Takže to zkus ještě jednou, já mám času dost. U PC budu sedět do 15, pak si dám pauzu asi hodinu a pak asi do 22, takže času máme dost. Jo a k tomu, že to umíš jinak, tak ano. 100 programátorů má 100 různých názorů a 100 různých způsobů to nějak udělat. Proto nikdo nemá rád programovat něco po někom nebo zjišťovat, jak to ten člověk myslel. V době kdy jsem začínal na ZX Spectrum, Didaktiku a IQ151, to bylo snažší.

 

 

 

Co na to říct. Je to jednoduchá smyčka, kterou jsem na rychlo napsal už před několika lety, zřejmě abych už tehdy vyhrál, a její modifikace používám ve všech aosech. A kupodivu, mě funguje. Každý máme jiný pohled na věc a já nemám za potřeby někoho přesvědčovat o mém názoru. Takže jistě máš pravdu a tímto bych to uzavřel.

| Broker: IC Markets (live) | FX od 2012 |
walto
Nováček v diskuzi
avatar
Příspěvky: 9
Více informací o uživateli >>
Posunutie SL 22.05.2017 22:53

Chlapi veľká vďaka za každý nápad a radu. Bol by som však nerád, keby tu vznikali zbytočné konflikty :)
Každá rada, nápad, navedenie na správnu cestu, alebo názor môže byť užitočný. Neočakávam, že to niekto spraví za mňa :)
Dosť som rozmýšľal nad tým, ako by sa to dalo vyriešiť a preštudoval som pár príspevok na rôznych fórach a nakoniec som skončil na tom, že to budem musieť riešiť pomocou poľa, kde budem vkladať čísla objednávok, ktoré majú posunutý SL na 1/2 a pravidelne ho čistiť od uzatvorených objednávok. Nie som skúsený programátor, takže toto riešenie je pre mňa dosť komplikované, preto som tajne dúfal, že existuje niečo jednoduchšie, ale Vykuk len potvrdil to, čo som si aj myslel a čomu som sa chcel vyhnúť :) Ale každopádne to bola pre mňa prínosná informácia, pretože ma utvrdila v tom, že neuvažujem zle.

Fil však prišiel s tým, že sa to dá spraviť aj inak, ale nejak tomu nerozumiem. Zrejme to bude tým nedostatkom skúseností.
Nedal by sa cyklus for pre zistenie počtu obchodov (Vyber1) jednoducho nahradiť funkciou OrdersTotal()?
Spočítaniu otvorených obchodov pre daný menový pár (Vyber2) rozumiem, len neviem, či je tento údaj dôležitý. Nestačí menový pár vyfiltrovať len v momente, kedy chcem posúvať SL?

Vykuk
Veteran member
avatar
Příspěvky: 1271
Více informací o uživateli >>
Re: Posunutie SL 23.05.2017 09:55
Odpověď na: walto

Chlapi veľká vďaka za každý nápad a radu. Bol by som však nerád, keby tu vznikali zbytočné konflikty :)
Každá rada, nápad, navedenie na správnu cestu, alebo názor môže byť užitočný. Neočakávam, že to niekto spraví za mňa :)
Dosť som rozmýšľal nad tým, ako by sa to dalo vyriešiť a preštudoval som pár príspevok na rôznych fórach a nakoniec som skončil na tom, že to budem musieť riešiť pomocou poľa, kde budem vkladať čísla objednávok, ktoré majú posunutý SL na 1/2 a pravidelne ho čistiť od uzatvorených objednávok. Nie som skúsený programátor, takže toto riešenie je pre mňa dosť komplikované, preto som tajne dúfal, že existuje niečo jednoduchšie, ale Vykuk len potvrdil to, čo som si aj myslel a čomu som sa chcel vyhnúť :) Ale každopádne to bola pre mňa prínosná informácia, pretože ma utvrdila v tom, že neuvažujem zle.

Fil však prišiel s tým, že sa to dá spraviť aj inak, ale nejak tomu nerozumiem. Zrejme to bude tým nedostatkom skúseností.
Nedal by sa cyklus for pre zistenie počtu obchodov (Vyber1) jednoducho nahradiť funkciou OrdersTotal()?
Spočítaniu otvorených obchodov pre daný menový pár (Vyber2) rozumiem, len neviem, či je tento údaj dôležitý. Nestačí menový pár vyfiltrovať len v momente, kedy chcem posúvať SL?

A co zkusit ty global variables? https://docs.mql4.com/globals

Můžeš mezi global variables přidat proměnou, která se bude jmenovat jako ticket orderu, kde jsi posunul SL na 1/2. Následně budeš ověřovat jen existenci takovéto proměnné a pokud existuje, tak sl na 1/2 neposuneš. Naopak tuto proměnou můžeš vymazat při posunu sl na be. Jednou za čas pak můžeš projít smyčku všechny global variables a odstranit ty, kde už je obchod uzavřen (třeba podle order close time). To pro to, aby se ti global variables zbytečně moc neplnily.

Výhoda tohoto řešení je v tom, že si aos bude pamatovat tickety obchodů, kde byl sl posunut na 1/2 i po vypnutí/restartu/pádu mt4.

| Broker: IC Markets (live) | FX od 2012 |
walto
Nováček v diskuzi
avatar
Příspěvky: 9
Více informací o uživateli >>
Re: Re: Posunutie SL 23.05.2017 11:25
Odpověď na: Vykuk

A co zkusit ty global variables? https://docs.mql4.com/globals

Můžeš mezi global variables přidat proměnou, která se bude jmenovat jako ticket orderu, kde jsi posunul SL na 1/2. Následně budeš ověřovat jen existenci takovéto proměnné a pokud existuje, tak sl na 1/2 neposuneš. Naopak tuto proměnou můžeš vymazat při posunu sl na be. Jednou za čas pak můžeš projít smyčku všechny global variables a odstranit ty, kde už je obchod uzavřen (třeba podle order close time). To pro to, aby se ti global variables zbytečně moc neplnily.

Výhoda tohoto řešení je v tom, že si aos bude pamatovat tickety obchodů, kde byl sl posunut na 1/2 i po vypnutí/restartu/pádu mt4.

Global variables budem musieť ešte naštudovať.

Skúsil som to spraviť pomocou toho poľa, len neviem, či je to správne napísané:

---------------------------------------------------------------------------------------------------------

#property copyright ""
#property link ""

extern string EnterBEPips = "";

int array = 30; // veľkosť poľa, do ktorého sa budú ukladať čísla objednávok OrderTicket(), ktorých SL bol už posunutý na 1/2
int order_ticket_array[30]; // Číslo objednávky na určitej pozícii v poli
int ticket, total;
int i, j;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
if(Symbol()=="USDJPY" || Symbol()=="EURJPY" || Symbol()=="GBPJPY")
return(0);

ticket_delete();

int type;
total = OrdersTotal();
int q; // pole ticket čísel objednávok
int r;
double openPrice, stopPrice;



for(i=total-1;i>=0;i--)
{
for(j=i;j>=0;j--)
if(OrderSelect(i, SELECT_BY_POS))
{
ticket = OrderTicket();
type = OrderType();
openPrice = OrderOpenPrice();
stopPrice = OrderStopLoss();
int k=0;

// Zistí, či sa v poli nachádza táto objednávka. Ak áno, znamená to, že jej SL bol už posununutý na 1/2------ //
for(r=0; r<=array; r++)
{
if(ticket==order_ticket_array[r])
k=k+1;
}
// ---------------------------------------------------------------------------------------------------------- //

if(k==0 && type == OP_SELL && stopPrice > openPrice && Ask <= (openPrice-(stopPrice-openPrice)) && OrderSymbol()==Symbol())
{
OrderModify(ticket,OrderOpenPrice(),(openPrice+(stopPrice-openPrice)/2),OrderTakeProfit(),0,Red);
Comment("SL obchodu: ",ticket, " bol posunutý na 1/2");
ticket_add();
}

if(k==0 && type == OP_BUY && stopPrice < openPrice && Bid >= (openPrice+(openPrice-stopPrice)) && OrderSymbol()==Symbol())
{
OrderModify(ticket,OrderOpenPrice(),(openPrice-(openPrice-stopPrice)/2),OrderTakeProfit(),0,Blue);
Comment("SL obchodu: ",ticket, " bol posunutý na 1/2");
ticket_add();
}

if(k>0 && type == OP_SELL && stopPrice > openPrice && Ask <= (4*(openPrice-(openPrice-stopPrice))) && OrderSymbol()==Symbol())
{
OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red);
Comment("SL obchodu: ",ticket, " bol posunutý na BE");
}


if(type == OP_BUY && stopPrice < openPrice && Bid >= (4*(openPrice+(openPrice-stopPrice))) && OrderSymbol()==Symbol())
{
OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
Comment("SL obchodu: ",ticket, " bol posunutý na BE");
}

}
}
return(0);
}
//+------------------------------------------------------------------------------+

// Funkcia na mazanie čísel objednávok z poľa objednávok ---------------------- //
void ticket_delete () {
int k;
total = OrdersTotal();

for (int m = 0; m <= array; m++)
{
k = 0;
int ticket_array = order_ticket_array[m];

for(i=total-1;i>=0;i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
ticket = OrderTicket();
if (ticket_array == ticket)
{
k = k+1;
}
}
}
if(k==0)
order_ticket_array[m]=0;
}
}
// ---------------------------------------------------------------------------- //

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

// Funkcia na zapísanie čísla objednávky s posunutým SL na 1/2 na voľnú pozíciu do poľa ---------------------- //
void ticket_add () {

for (int m = 0; m <= array; m++)
{
int ticket_array = order_ticket_array[m];
if(ticket_array == 0)
{
order_ticket_array[m] = ticket; // premenná ticket bude naplnená číslom objednávky v cykle, do ktorého bude funkcia ticket_add zavolaná
break;
}
}
}
// ---------------------------------------------------------------------------------------------------------- //

---------------------------------------------------------------------------------------------------------

 

Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Re: Posunutie SL 23.05.2017 12:16
Odpověď na: walto

Global variables budem musieť ešte naštudovať.

Skúsil som to spraviť pomocou toho poľa, len neviem, či je to správne napísané:

---------------------------------------------------------------------------------------------------------

#property copyright ""
#property link ""

extern string EnterBEPips = "";

int array = 30; // veľkosť poľa, do ktorého sa budú ukladať čísla objednávok OrderTicket(), ktorých SL bol už posunutý na 1/2
int order_ticket_array[30]; // Číslo objednávky na určitej pozícii v poli
int ticket, total;
int i, j;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
if(Symbol()=="USDJPY" || Symbol()=="EURJPY" || Symbol()=="GBPJPY")
return(0);

ticket_delete();

int type;
total = OrdersTotal();
int q; // pole ticket čísel objednávok
int r;
double openPrice, stopPrice;



for(i=total-1;i>=0;i--)
{
for(j=i;j>=0;j--)
if(OrderSelect(i, SELECT_BY_POS))
{
ticket = OrderTicket();
type = OrderType();
openPrice = OrderOpenPrice();
stopPrice = OrderStopLoss();
int k=0;

// Zistí, či sa v poli nachádza táto objednávka. Ak áno, znamená to, že jej SL bol už posununutý na 1/2------ //
for(r=0; r<=array; r++)
{
if(ticket==order_ticket_array[r])
k=k+1;
}
// ---------------------------------------------------------------------------------------------------------- //

if(k==0 && type == OP_SELL && stopPrice > openPrice && Ask <= (openPrice-(stopPrice-openPrice)) && OrderSymbol()==Symbol())
{
OrderModify(ticket,OrderOpenPrice(),(openPrice+(stopPrice-openPrice)/2),OrderTakeProfit(),0,Red);
Comment("SL obchodu: ",ticket, " bol posunutý na 1/2");
ticket_add();
}

if(k==0 && type == OP_BUY && stopPrice < openPrice && Bid >= (openPrice+(openPrice-stopPrice)) && OrderSymbol()==Symbol())
{
OrderModify(ticket,OrderOpenPrice(),(openPrice-(openPrice-stopPrice)/2),OrderTakeProfit(),0,Blue);
Comment("SL obchodu: ",ticket, " bol posunutý na 1/2");
ticket_add();
}

if(k>0 && type == OP_SELL && stopPrice > openPrice && Ask <= (4*(openPrice-(openPrice-stopPrice))) && OrderSymbol()==Symbol())
{
OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red);
Comment("SL obchodu: ",ticket, " bol posunutý na BE");
}


if(type == OP_BUY && stopPrice < openPrice && Bid >= (4*(openPrice+(openPrice-stopPrice))) && OrderSymbol()==Symbol())
{
OrderModify(ticket,OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
Comment("SL obchodu: ",ticket, " bol posunutý na BE");
}

}
}
return(0);
}
//+------------------------------------------------------------------------------+

// Funkcia na mazanie čísel objednávok z poľa objednávok ---------------------- //
void ticket_delete () {
int k;
total = OrdersTotal();

for (int m = 0; m <= array; m++)
{
k = 0;
int ticket_array = order_ticket_array[m];

for(i=total-1;i>=0;i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
ticket = OrderTicket();
if (ticket_array == ticket)
{
k = k+1;
}
}
}
if(k==0)
order_ticket_array[m]=0;
}
}
// ---------------------------------------------------------------------------- //

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

// Funkcia na zapísanie čísla objednávky s posunutým SL na 1/2 na voľnú pozíciu do poľa ---------------------- //
void ticket_add () {

for (int m = 0; m <= array; m++)
{
int ticket_array = order_ticket_array[m];
if(ticket_array == 0)
{
order_ticket_array[m] = ticket; // premenná ticket bude naplnená číslom objednávky v cykle, do ktorého bude funkcia ticket_add zavolaná
break;
}
}
}
// ---------------------------------------------------------------------------------------------------------- //

---------------------------------------------------------------------------------------------------------

 

Zdravím, vy to ještě pořád řešíte? Hele, můj postup funguje, ale jak chceš. Rozumím tomu, že to chceš pochopit a sám si to vymyslet.

Mám otázku, jak se pomocí variables a jiných vábles a dalších věcí dá zjistit, jestli jsem si ten SL neposunul sám, protože jsem to tam viděl a jak program zjistí, že teď to má posunou hned na BE a ne zase o další 1/2 SL?

Chlapi zkuste přemýšlet, jinak. S tím "array" bych to zase nepřeháněl, podívejte se na MT fórum a tam si hodně uživatelů stěžuje, že jim to přestává fungovat a blbne, protože MetaQ... za poslední 3 měsíce udělal 5 verzí MT4, poslední v pátek 1090. 

Mám nápad jak to lehce a selsky udělat, aby program vždy zjistil, jestli je SL (jedno jak veliký) posunut i klidně o 1 bod a pak si obchodu nevšímat a nebo ho posunout přímo na BE. Pomůže ti to i pro zpětnou analýzu všech obchodů, jestli ty SL moc neutahuješ. Mám ale jednu otázku, obchody otevíráš ručně nebo to dělá AOS nebo pomocí scriptu (klávesové zkratky)?

Dej mi vědět, pak to rozlousknem.

Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Re: Re: Posunutie SL 23.05.2017 13:46
Odpověď na: Fil

Zdravím, vy to ještě pořád řešíte? Hele, můj postup funguje, ale jak chceš. Rozumím tomu, že to chceš pochopit a sám si to vymyslet.

Mám otázku, jak se pomocí variables a jiných vábles a dalších věcí dá zjistit, jestli jsem si ten SL neposunul sám, protože jsem to tam viděl a jak program zjistí, že teď to má posunou hned na BE a ne zase o další 1/2 SL?

Chlapi zkuste přemýšlet, jinak. S tím "array" bych to zase nepřeháněl, podívejte se na MT fórum a tam si hodně uživatelů stěžuje, že jim to přestává fungovat a blbne, protože MetaQ... za poslední 3 měsíce udělal 5 verzí MT4, poslední v pátek 1090. 

Mám nápad jak to lehce a selsky udělat, aby program vždy zjistil, jestli je SL (jedno jak veliký) posunut i klidně o 1 bod a pak si obchodu nevšímat a nebo ho posunout přímo na BE. Pomůže ti to i pro zpětnou analýzu všech obchodů, jestli ty SL moc neutahuješ. Mám ale jednu otázku, obchody otevíráš ručně nebo to dělá AOS nebo pomocí scriptu (klávesové zkratky)?

Dej mi vědět, pak to rozlousknem.

Doplnění, že složitě neznamená vždy lépe.

Včera jsem začal testovat u jednoho brokera STP(ECN) účet. Má variabilní spread a poplatky navíc. Přemýšlel jsem, jestli je výhodnější účet bez poplatků nebo s poplatky. U poplatků jsou spredy o cca 75% nižší, ale poplatek vyjde na cca 400% toho malého spreadu. Takže to vypadá, že v tom není rozdíl +- 1 bod, ale jak zjistit pravdu?

Všude se uvádí, že spread je minimální a dle volatility a dalších věcí se může měnit. Kolik to radši nikdo neuvádí. Už mám dlouho naprogramován indikátor, který mi sleduje spread max, min, aktualní, a jejich průměry. Jak si tyto data, ale uchovat a sledovat třeba 24/5? To že indikátor umí ukládat data do excelu není problém, ale chtěl jsem jen data z uzavřené svíčky a to při otevření nové. Všude to programují, že když je volume == 0, tak něco udělá. To už jsem zjistl asi před 8 lety, že to je blbost. Určitě sis už všimnul, že některé svíčky se otevřou již s volume 2,3 i klidně 6. Tak jsem hledal jiný způsob. Čas při otevření svíčky je taky nepoužitelný, protože svíčka se může vytvořit až po 30s a nikdy nevíme, kdy to bude. Na fóru je tolik způsobů a možností, např. číst již uložené data z excelu a pak je porovnávat (kód o velikosti asi 200 řádků). Asi 2h jsem to zkoušel, ale jediný výsledek byl, že mi to řeklo, že data se ukládají (ukládám 12 hodnot) a jsou tam, jen musím přesněji specifikovat co chci najít. Data mi to totiž ukládá po každém ticku (klidně i 100x za svíčku), ale já chci jen 1x za svíčku, jinak bych musel složitě čistit zbytečná data než udělám testy a navíc by byl soubor po 5 dnech obrovský.

Nebudu to prodlužovat. Dnes ve 3 ráno jsem přišel jak to elegantně udělat a to pouze na 2 řádky kódu a za 2 minuty bylo hotovo a stačilo tyto řádky přidat do stávajícího indikátoru. Jen selský rozum a nehledat v tom vědu. 

Pro pointu (data z 8:00 až 12:00), maximální varibilní spread + poplatek je o cca 100 - 150% vyšší než účet bez poplatku a průměrný spread + poplatky je o 0 - 60% vyšší než u účtu bez poplatku. Záleží na instrumentu a volatilitě. V noci 22:00-1:30 byly ty % ještě vyšší. 

walto
Nováček v diskuzi
avatar
Příspěvky: 9
Více informací o uživateli >>
Re: Re: Re: Re: Posunutie SL 23.05.2017 13:53
Odpověď na: Fil

Zdravím, vy to ještě pořád řešíte? Hele, můj postup funguje, ale jak chceš. Rozumím tomu, že to chceš pochopit a sám si to vymyslet.

Mám otázku, jak se pomocí variables a jiných vábles a dalších věcí dá zjistit, jestli jsem si ten SL neposunul sám, protože jsem to tam viděl a jak program zjistí, že teď to má posunou hned na BE a ne zase o další 1/2 SL?

Chlapi zkuste přemýšlet, jinak. S tím "array" bych to zase nepřeháněl, podívejte se na MT fórum a tam si hodně uživatelů stěžuje, že jim to přestává fungovat a blbne, protože MetaQ... za poslední 3 měsíce udělal 5 verzí MT4, poslední v pátek 1090. 

Mám nápad jak to lehce a selsky udělat, aby program vždy zjistil, jestli je SL (jedno jak veliký) posunut i klidně o 1 bod a pak si obchodu nevšímat a nebo ho posunout přímo na BE. Pomůže ti to i pro zpětnou analýzu všech obchodů, jestli ty SL moc neutahuješ. Mám ale jednu otázku, obchody otevíráš ručně nebo to dělá AOS nebo pomocí scriptu (klávesové zkratky)?

Dej mi vědět, pak to rozlousknem.

Ja sa nebránim žiadnemu riešeniu, hlavne nech je čo najjednoduchšie a funguje :) A samozrejme pozeral som aj to, čo si napísal ty, ale neprišiel som na to, ako z toho dostať to, čo potrebujem.
Možno len nemyslíme na rovnaký výsledok. Skúsim to popísať ešte raz.

Obchody sú zadávané ručne.
Po nastavení PT a SL sa už s obchodom zaoberať nebudem a riadenie prenechávam na AOS.
AOS by mal bežať vo viacerých oknách (menových pároch). Každé okno bude iný menový pár.
Obchody budú zadávané priebežne, vždy, keď príde signál na vstup. Nebude sa čakať na skončenie zadaných obchodov. Tie budú uzatvárané automaticky buď na SL alebo PT.

AOS by mal posunúť SL v prípade priaznivého vývoja ceny 2x.
Prvýkrát na 1/2 (pri 1:1) a ak pôjde cena aj naďalej naším smerom, posunie SL na BE (pri 1:2).

Príklad:
Vstúpim do obchodu na nejakej cene a nastavim SL a PT.
SL: 10 pips
PT: 50 pips
Pokiaľ pôjde cena naším smerom a spraví 10 pips od vstupnej ceny, posunie sa SL na 1/2 (SL bude teraz: 5 pips)
Pokiaľ pôjde cena aj naďalej v našom smere a spraví 20 pips od vstupnej ceny (čo je 1:2), posunie sa SL na BE.
Keď bude SL posunutý na BE, nebude do tohto obchodu viac zasahované ani zo strany AOS.
Ak by došlo k nejakému nepriaznivému vývoju na trhoch (fundamenty), obchody by sa samozrejme uzatvárali ručne.

Bežne bude dochádzať k situáciám, kedy jeden obchod už bude mať posunutý SL na 1/2, takže bude čakať na posunutie na BE, ale medzitým sa splní podmienka inému obchodu na posun SL na 1/2.

Toto potrebujem vyriešiť a je mi v podstate jedno akým spôsobom :)
Kľudne budem študovať aj kód niekoho iného a snažiť sa mu porozumieť, nepotrebujem to vymyslieť sám, pretože nie som natoľko skúsený, aj keď určite by to človeka potešilo :)
Ide o to, že som tu nechcel niekoho obťažovať s tým, nech to celé vymyslí a naprogramuje, keď inde sa za to platí.

Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Re: Re: Re: Posunutie SL 23.05.2017 14:20
Odpověď na: walto

Ja sa nebránim žiadnemu riešeniu, hlavne nech je čo najjednoduchšie a funguje :) A samozrejme pozeral som aj to, čo si napísal ty, ale neprišiel som na to, ako z toho dostať to, čo potrebujem.
Možno len nemyslíme na rovnaký výsledok. Skúsim to popísať ešte raz.

Obchody sú zadávané ručne.
Po nastavení PT a SL sa už s obchodom zaoberať nebudem a riadenie prenechávam na AOS.
AOS by mal bežať vo viacerých oknách (menových pároch). Každé okno bude iný menový pár.
Obchody budú zadávané priebežne, vždy, keď príde signál na vstup. Nebude sa čakať na skončenie zadaných obchodov. Tie budú uzatvárané automaticky buď na SL alebo PT.

AOS by mal posunúť SL v prípade priaznivého vývoja ceny 2x.
Prvýkrát na 1/2 (pri 1:1) a ak pôjde cena aj naďalej naším smerom, posunie SL na BE (pri 1:2).

Príklad:
Vstúpim do obchodu na nejakej cene a nastavim SL a PT.
SL: 10 pips
PT: 50 pips
Pokiaľ pôjde cena naším smerom a spraví 10 pips od vstupnej ceny, posunie sa SL na 1/2 (SL bude teraz: 5 pips)
Pokiaľ pôjde cena aj naďalej v našom smere a spraví 20 pips od vstupnej ceny (čo je 1:2), posunie sa SL na BE.
Keď bude SL posunutý na BE, nebude do tohto obchodu viac zasahované ani zo strany AOS.
Ak by došlo k nejakému nepriaznivému vývoju na trhoch (fundamenty), obchody by sa samozrejme uzatvárali ručne.

Bežne bude dochádzať k situáciám, kedy jeden obchod už bude mať posunutý SL na 1/2, takže bude čakať na posunutie na BE, ale medzitým sa splní podmienka inému obchodu na posun SL na 1/2.

Toto potrebujem vyriešiť a je mi v podstate jedno akým spôsobom :)
Kľudne budem študovať aj kód niekoho iného a snažiť sa mu porozumieť, nepotrebujem to vymyslieť sám, pretože nie som natoľko skúsený, aj keď určite by to človeka potešilo :)
Ide o to, že som tu nechcel niekoho obťažovať s tým, nech to celé vymyslí a naprogramuje, keď inde sa za to platí.

Takže dobře, to jsi mě nepotěšil s tím ručním otevíráním.

Ještě pár otázek:

1. Otevíráš jen na PC nebo i přes mobil (tabet)?

2. Pokud otevíráš u PC, tak přes okno a zrovna zadáváš SL a TP nebo je pak pomocí tažení vytváříš posouváním na určité úrovně?

3. SL je pokaždé jiný a jiný je pokaždé i TP nebo dle SL a poměru RRR zadáváš TP?

4. Máš přesně stanovenou velikost pozice podle % risku? (Ikdyž tato informace mi asi nepomůže, protože je tam více obchodů a tím se účet snižuje, takže odpovědět nemusíš)

Dle toho co jsi napsal, ti ani varibles nepomůžou a to ani OrderTicket, protože když posuneš SL, i tak musíš projít každý obchod jestli není BE. Bát se procházení nemusíš. Když jsem testoval myšlenku, tak se mi otevíralo u 24 instrumentů pokaždé 3 obchody s různým nastavením. Při každé nové svíčce se mi u všech 72 obchodů měnil SL a mezi prvním a posledním obchodem byly změněny všechny SL za asi 8s včetně odpovědi od brokera. Dopadlo to tak, že jsem brokera za měsíc zahltil 65tis příkazy a tak mě zablokoval, musel jem to pak vysvětlovat a dostal napomenutí.

Zkus mi odpovědět, zatím jdu přemýšlet.

walto
Nováček v diskuzi
avatar
Příspěvky: 9
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Posunutie SL 23.05.2017 15:37
Odpověď na: Fil

Takže dobře, to jsi mě nepotěšil s tím ručním otevíráním.

Ještě pár otázek:

1. Otevíráš jen na PC nebo i přes mobil (tabet)?

2. Pokud otevíráš u PC, tak přes okno a zrovna zadáváš SL a TP nebo je pak pomocí tažení vytváříš posouváním na určité úrovně?

3. SL je pokaždé jiný a jiný je pokaždé i TP nebo dle SL a poměru RRR zadáváš TP?

4. Máš přesně stanovenou velikost pozice podle % risku? (Ikdyž tato informace mi asi nepomůže, protože je tam více obchodů a tím se účet snižuje, takže odpovědět nemusíš)

Dle toho co jsi napsal, ti ani varibles nepomůžou a to ani OrderTicket, protože když posuneš SL, i tak musíš projít každý obchod jestli není BE. Bát se procházení nemusíš. Když jsem testoval myšlenku, tak se mi otevíralo u 24 instrumentů pokaždé 3 obchody s různým nastavením. Při každé nové svíčce se mi u všech 72 obchodů měnil SL a mezi prvním a posledním obchodem byly změněny všechny SL za asi 8s včetně odpovědi od brokera. Dopadlo to tak, že jsem brokera za měsíc zahltil 65tis příkazy a tak mě zablokoval, musel jem to pak vysvětlovat a dostal napomenutí.

Zkus mi odpovědět, zatím jdu přemýšlet.

Aby som bol presný, obchody nie sú zadávané pomocou AOS.
Väčšinou je to riešené pomocou čakacích objednávok. Samozrejme niekedy sa vstupuje trhovým príkazom za aktuálnu cenu.

1. Otevíráš jen na PC nebo i přes mobil (tabet)?
Aktuálne sú objednávky otvárané len pomocou PC, ale môže nastať situácia, kedy napríklad vypadne internet na PC a obchod bude potrebné zadať cez mobil (mobilný internet). Samozrejme, ak bude výpadok dlhší, nebude fungovať ani AOS. Do budúcna by sa to mohlo riešiť cez VPS. Ale to je ešte predčasné riešiť.

2. Pokud otevíráš u PC, tak přes okno a zrovna zadáváš SL a TP nebo je pak pomocí tažení vytváříš posouváním na určité úrovně?
Objednávky sú vo väčšine prípadov čakacie, kde je rovno zadaný SL a TP. Ale pri trhových príkazoch je to rôzne. Niekedy sa to vpisuje do okna, inokedy sa vstupuje pomocou tlačidla One Click Trading a SL a TP sa ťahajú.

3. SL je pokaždé jiný a jiný je pokaždé i TP nebo dle SL a poměru RRR zadáváš TP?
Áno, SL je zakaždým iný a TP sa vypočítava na základe RRR tak, ako píšeš.

Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Posunutie SL 23.05.2017 16:41
Odpověď na: walto

Aby som bol presný, obchody nie sú zadávané pomocou AOS.
Väčšinou je to riešené pomocou čakacích objednávok. Samozrejme niekedy sa vstupuje trhovým príkazom za aktuálnu cenu.

1. Otevíráš jen na PC nebo i přes mobil (tabet)?
Aktuálne sú objednávky otvárané len pomocou PC, ale môže nastať situácia, kedy napríklad vypadne internet na PC a obchod bude potrebné zadať cez mobil (mobilný internet). Samozrejme, ak bude výpadok dlhší, nebude fungovať ani AOS. Do budúcna by sa to mohlo riešiť cez VPS. Ale to je ešte predčasné riešiť.

2. Pokud otevíráš u PC, tak přes okno a zrovna zadáváš SL a TP nebo je pak pomocí tažení vytváříš posouváním na určité úrovně?
Objednávky sú vo väčšine prípadov čakacie, kde je rovno zadaný SL a TP. Ale pri trhových príkazoch je to rôzne. Niekedy sa to vpisuje do okna, inokedy sa vstupuje pomocou tlačidla One Click Trading a SL a TP sa ťahajú.

3. SL je pokaždé jiný a jiný je pokaždé i TP nebo dle SL a poměru RRR zadáváš TP?
Áno, SL je zakaždým iný a TP sa vypočítava na základe RRR tak, ako píšeš.

Poslední dotaz:

Je ten RRR přesně daný a pro všechny obchody stejný? Alespoň stejný pro instrument?

Vykuk
Veteran member
avatar
Příspěvky: 1271
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Posunutie SL 23.05.2017 16:41
Odpověď na: walto

Aby som bol presný, obchody nie sú zadávané pomocou AOS.
Väčšinou je to riešené pomocou čakacích objednávok. Samozrejme niekedy sa vstupuje trhovým príkazom za aktuálnu cenu.

1. Otevíráš jen na PC nebo i přes mobil (tabet)?
Aktuálne sú objednávky otvárané len pomocou PC, ale môže nastať situácia, kedy napríklad vypadne internet na PC a obchod bude potrebné zadať cez mobil (mobilný internet). Samozrejme, ak bude výpadok dlhší, nebude fungovať ani AOS. Do budúcna by sa to mohlo riešiť cez VPS. Ale to je ešte predčasné riešiť.

2. Pokud otevíráš u PC, tak přes okno a zrovna zadáváš SL a TP nebo je pak pomocí tažení vytváříš posouváním na určité úrovně?
Objednávky sú vo väčšine prípadov čakacie, kde je rovno zadaný SL a TP. Ale pri trhových príkazoch je to rôzne. Niekedy sa to vpisuje do okna, inokedy sa vstupuje pomocou tlačidla One Click Trading a SL a TP sa ťahajú.

3. SL je pokaždé jiný a jiný je pokaždé i TP nebo dle SL a poměru RRR zadáváš TP?
Áno, SL je zakaždým iný a TP sa vypočítava na základe RRR tak, ako píšeš.

K bodu 3 - sem asi Fil mířil - z toho můžeš zpětně přepočítat jestli už byl posunul SL na 1/2, nebo ne.

Pokud použiješ pro TP RRR 1:3, tak SL je 1/3 TP. Pokud byl posunut na polovinu, tak je nově SL 1/6 TP a není potřeba nikde nic ukládat a "pamatovat". To, že byl SL již posunut dokážeš ověřit jednou podmínkou if, kterou zapojíš do té smyčky, která ti prochází otevřené obchody.

thumbsup

| Broker: IC Markets (live) | FX od 2012 |
walto
Nováček v diskuzi
avatar
Příspěvky: 9
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Re: Posunutie SL 24.05.2017 09:09
Odpověď na: Fil

Poslední dotaz:

Je ten RRR přesně daný a pro všechny obchody stejný? Alespoň stejný pro instrument?

Presne tak, RRR je dané. TP je vždy 3x SL. Vykuk presne trafil aj pomer 1:3 :) A zrejme správne tipol aj to, kam tým smeruješ.
Vidíš, takéto riešenie mi vôbec nenapadlo. Presne ako si písal, stačí používať selský rozum (po našom sedliacky rozum :) ), ale raz darmo, prax a skúsenosti nepustia a vy dvaja už máte toho "odkrútené" až až :)

Veľká vďaka vám obom.

A ešte otázočka.
Do podmienky zrejme nebudem môcť použiť rovnosť if(SL==TP/3) resp. if(SL==TP/6) kvôli prípadnej nepresnosti pri zadávaní objednávky a nastavení SL a TP.
Dá sa to nejak elegantne ošetriť, alebo to riešiť "natvrdo" spôsobom napr. if(SL<TP/2 && SL>TP/4), resp. if(SL< TP/5 && SL>TP/7)?

 

Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Re: Re: Posunutie SL 24.05.2017 10:08
Odpověď na: walto

Presne tak, RRR je dané. TP je vždy 3x SL. Vykuk presne trafil aj pomer 1:3 :) A zrejme správne tipol aj to, kam tým smeruješ.
Vidíš, takéto riešenie mi vôbec nenapadlo. Presne ako si písal, stačí používať selský rozum (po našom sedliacky rozum :) ), ale raz darmo, prax a skúsenosti nepustia a vy dvaja už máte toho "odkrútené" až až :)

Veľká vďaka vám obom.

A ešte otázočka.
Do podmienky zrejme nebudem môcť použiť rovnosť if(SL==TP/3) resp. if(SL==TP/6) kvôli prípadnej nepresnosti pri zadávaní objednávky a nastavení SL a TP.
Dá sa to nejak elegantne ošetriť, alebo to riešiť "natvrdo" spôsobom napr. if(SL<TP/2 && SL>TP/4), resp. if(SL< TP/5 && SL>TP/7)?

 

Šlo mi hlavně o to, najít v tvém systému nějakou pevně danou konstantu (ty máš RRR). Kdyby jsi otevíral obchody přes AOS nebo scriptem, tak do magic čísla můžeš dát velikost SL a pak s tím dále pracovat (porovnávat). Nakonec si udělat výpis, kde uvidíš jak veliký byl původní SL, kolik jich, dle určité velikosti, skončilo na SL, 1/2SL nebo BE a TP. Pak bys zjistil, jak maximální může být SL nebo minimální pro co nejvyšší úspěšnost, to je jen jedna z možností.

Co se týká tvého systému. Já to dělám tak, že si čísla, co potřebuji později porovnávat, vypočítám o řádek-y dříve. Když pak změním, doplním výpočet, tak je to snazší opravit.

 

U SL a TP je problém ten, že první se obchod otevře a pak se tam doplní SL a TP (v čase několika ms). Když jsem testoval myšlenku, tak jsem taky otvíral SL a TP v poměru. AOS měl zadané buy SL a TP=2xSL a to i u sell. Když se pak obchod otevřel, tak když byl trh hodně volatilní cca 5-10 změn ceny za pár sekund. Tak se stalo, že rozdíl mezi SL a TP byl přesně 3xSL a to vždy, ale skoro nikdy nebyl přesně v poměru 1:2. Rozdíly tam byly asi 2-10 bodů, někdy i 15. 

 

Výsledek pro tebe je (pro BUY):

int pomer_SL= OrderOpenPrice()-OrderStopLoss()/Point;

int pomer_TP = OrderTakeProfit()-OrderOpenPrice()/Point;

double pomer = pomer_SL/pomer_TP;

if(pomer > 0.2 ){ // SL a čeká na 1/2 SL

if(pomer < 0.2 && pomer > 0.1){ // 1/2 SL a čeká na BE

if(pomer < 0.1){ // BE - měl by sis z obchodu vzít 1-5 bodů, abys neskončil v mínusu z důvodu plnění a přeskočení ceny, což je úplně normální. Pak to ve statistice dělá jako Loss obchod, ikdyž byl plán na BE. Já dávám velikost spreadu, když už jsem ho brokerovi zaplatil.

Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Posunutie SL 24.05.2017 10:26
Odpověď na: Fil

Šlo mi hlavně o to, najít v tvém systému nějakou pevně danou konstantu (ty máš RRR). Kdyby jsi otevíral obchody přes AOS nebo scriptem, tak do magic čísla můžeš dát velikost SL a pak s tím dále pracovat (porovnávat). Nakonec si udělat výpis, kde uvidíš jak veliký byl původní SL, kolik jich, dle určité velikosti, skončilo na SL, 1/2SL nebo BE a TP. Pak bys zjistil, jak maximální může být SL nebo minimální pro co nejvyšší úspěšnost, to je jen jedna z možností.

Co se týká tvého systému. Já to dělám tak, že si čísla, co potřebuji později porovnávat, vypočítám o řádek-y dříve. Když pak změním, doplním výpočet, tak je to snazší opravit.

 

U SL a TP je problém ten, že první se obchod otevře a pak se tam doplní SL a TP (v čase několika ms). Když jsem testoval myšlenku, tak jsem taky otvíral SL a TP v poměru. AOS měl zadané buy SL a TP=2xSL a to i u sell. Když se pak obchod otevřel, tak když byl trh hodně volatilní cca 5-10 změn ceny za pár sekund. Tak se stalo, že rozdíl mezi SL a TP byl přesně 3xSL a to vždy, ale skoro nikdy nebyl přesně v poměru 1:2. Rozdíly tam byly asi 2-10 bodů, někdy i 15. 

 

Výsledek pro tebe je (pro BUY):

int pomer_SL= OrderOpenPrice()-OrderStopLoss()/Point;

int pomer_TP = OrderTakeProfit()-OrderOpenPrice()/Point;

double pomer = pomer_SL/pomer_TP;

if(pomer > 0.2 ){ // SL a čeká na 1/2 SL

if(pomer < 0.2 && pomer > 0.1){ // 1/2 SL a čeká na BE

if(pomer < 0.1){ // BE - měl by sis z obchodu vzít 1-5 bodů, abys neskončil v mínusu z důvodu plnění a přeskočení ceny, což je úplně normální. Pak to ve statistice dělá jako Loss obchod, ikdyž byl plán na BE. Já dávám velikost spreadu, když už jsem ho brokerovi zaplatil.

Hledím na grafy a zapomenu to dát do závorek. Stejně mi jeden utekl, na USDCAD (9:16) - sell - 1,35273 - SL 7pips, TP 3x

Znovu: 

int pomer_SL= (OrderOpenPrice()-OrderStopLoss())/Point;

int pomer_TP = (OrderTakeProfit()-OrderOpenPrice())/Point;

double pomer = pomer_SL/pomer_TP;

if(pomer > 0.2 ){ // SL a čeká na 1/2 SL

if(pomer < 0.2 && pomer > 0.1){ // 1/2 SL a čeká na BE

if(pomer < 0.1){ // BE

martyscz
Nováček v diskuzi
avatar
Příspěvky: 6
Více informací o uživateli >>
Re: Re: Re: Re: Posunutie SL 01.07.2020 07:03
Odpověď na: Fil

Zdravím, vy to ještě pořád řešíte? Hele, můj postup funguje, ale jak chceš. Rozumím tomu, že to chceš pochopit a sám si to vymyslet.

Mám otázku, jak se pomocí variables a jiných vábles a dalších věcí dá zjistit, jestli jsem si ten SL neposunul sám, protože jsem to tam viděl a jak program zjistí, že teď to má posunou hned na BE a ne zase o další 1/2 SL?

Chlapi zkuste přemýšlet, jinak. S tím "array" bych to zase nepřeháněl, podívejte se na MT fórum a tam si hodně uživatelů stěžuje, že jim to přestává fungovat a blbne, protože MetaQ... za poslední 3 měsíce udělal 5 verzí MT4, poslední v pátek 1090. 

Mám nápad jak to lehce a selsky udělat, aby program vždy zjistil, jestli je SL (jedno jak veliký) posunut i klidně o 1 bod a pak si obchodu nevšímat a nebo ho posunout přímo na BE. Pomůže ti to i pro zpětnou analýzu všech obchodů, jestli ty SL moc neutahuješ. Mám ale jednu otázku, obchody otevíráš ručně nebo to dělá AOS nebo pomocí scriptu (klávesové zkratky)?

Dej mi vědět, pak to rozlousknem.

Bylo by mozne poslat hotovy soubor? Rad bych to vyzkousel.

Fil
Nováček v diskuzi
avatar
Příspěvky: 53
Více informací o uživateli >>
Re: Re: Re: Re: Re: Posunutie SL 01.07.2020 08:25
Odpověď na: martyscz

Bylo by mozne poslat hotovy soubor? Rad bych to vyzkousel.

Dobrý den,

a co byste potřeboval? Co řešíte? Kde máte problém?

Už je to dost dávno, dříve se tady věci docela řešily, byla tu zábava i poučení, dnes je tu mrtvo.

Od té doby jsem indi, scriptů a aos udělal tolik, že nevím, co potřebujete. 

Díky a pěkný den

 

martyscz
Nováček v diskuzi
avatar
Příspěvky: 6
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Posunutie SL 01.07.2020 12:15
Odpověď na: Fil

Dobrý den,

a co byste potřeboval? Co řešíte? Kde máte problém?

Už je to dost dávno, dříve se tady věci docela řešily, byla tu zábava i poučení, dnes je tu mrtvo.

Od té doby jsem indi, scriptů a aos udělal tolik, že nevím, co potřebujete. 

Díky a pěkný den

 

Hledám EA (AOS), který posune všechny otevřené pozice na entry pri dosažení určitého TP. Tohle AOS asi by dokazalo vyřesit můj problém.Na netu je hodně skriptů na posunutí SL na BE,ale chyba je,že fungují jen pro jeden instrument v aktuálním grafu. Mít spuštěný graf kvůli každému obchodu mi přijde velmi nepraktické a nastavovat skript ručně u káždého grafu, když mám otevřených pozic přes 10 obchodů.

Nepotřebuji ani tak 1/2 SL posouvat, stačí jeden posun na BE.

Možná bych to zvládl sám vytvořit AOS, ale radši to nechám zkušenějším, přeci jsem jen začatečník :D

Andílek
Veteran member
avatar
Příspěvky: 1244
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Posunutie SL 01.07.2020 13:09
Odpověď na: martyscz

Hledám EA (AOS), který posune všechny otevřené pozice na entry pri dosažení určitého TP. Tohle AOS asi by dokazalo vyřesit můj problém.Na netu je hodně skriptů na posunutí SL na BE,ale chyba je,že fungují jen pro jeden instrument v aktuálním grafu. Mít spuštěný graf kvůli každému obchodu mi přijde velmi nepraktické a nastavovat skript ručně u káždého grafu, když mám otevřených pozic přes 10 obchodů.

Nepotřebuji ani tak 1/2 SL posouvat, stačí jeden posun na BE.

Možná bych to zvládl sám vytvořit AOS, ale radši to nechám zkušenějším, přeci jsem jen začatečník :D

Toto byste si měl dobře rozmyslet i vzhledem do budoucna. Tak, jak to chcete řešit má dvě úskalí.

  1. bude s tímto řídit jakýkoli obchod, který bude otevřený, což může v budoucnu znamenat nekompatibilitu s jinými AOS.
  2. budete muset vyřešit, kde bude BE realizován. Předpokládám, že to bude v nějaké vzdálenosti od vstupní ceny. Jenže to je problém v okamžiku, kdy to budete používat současně na volatilnějších a méně volatilních instrumentech, tak taková pevná vzdálenost nemusí být vhodná. Dá se to samozřejmě řešit použitím nějakého indikátoru, který měří volatilitu.

V každém případě je to práce na pár minut, takže pokud by nebyl nikdo ochotný Vám to poskytnout, tak dejte vědět.

martyscz
Nováček v diskuzi
avatar
Příspěvky: 6
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Re: Posunutie SL 01.07.2020 13:38
Odpověď na: Andílek

Toto byste si měl dobře rozmyslet i vzhledem do budoucna. Tak, jak to chcete řešit má dvě úskalí.

  1. bude s tímto řídit jakýkoli obchod, který bude otevřený, což může v budoucnu znamenat nekompatibilitu s jinými AOS.
  2. budete muset vyřešit, kde bude BE realizován. Předpokládám, že to bude v nějaké vzdálenosti od vstupní ceny. Jenže to je problém v okamžiku, kdy to budete používat současně na volatilnějších a méně volatilních instrumentech, tak taková pevná vzdálenost nemusí být vhodná. Dá se to samozřejmě řešit použitím nějakého indikátoru, který měří volatilitu.

V každém případě je to práce na pár minut, takže pokud by nebyl nikdo ochotný Vám to poskytnout, tak dejte vědět.

jasně máte pravdu,ale nemám v plánu používat jiné AOS, takže mi nevadí tohle nastavení pro všechny obchody.

Moje představa je,že při 20 (25) pipech v profitu se automaticky posune SL na BE. Nastavuji pevně TP u obchodu 20,50,100 pipu, takže mi stačí takhle jednoduchá podmínka ve zdrojovém kódu toho AOS

Využivám pouze klasické měnové páry,takže volatilitu neřeším jako u SP500 apod. Jediný volatilnější intrument,který obchoduji je zlato. Kdyby tento AOS fungoval na vše kromě zlata (nejaká podmínka vyjma toho zlata), tak je to geniální :) Kolikrát zadávám obchody přes mobil, takže je nemožné vše neustále hlídat a posouvat ručně SL.

Děkuji mnohokrát za pomoc

martyscz
Nováček v diskuzi
avatar
Příspěvky: 6
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Re: Posunutie SL 01.07.2020 14:20
Odpověď na: Andílek

Toto byste si měl dobře rozmyslet i vzhledem do budoucna. Tak, jak to chcete řešit má dvě úskalí.

  1. bude s tímto řídit jakýkoli obchod, který bude otevřený, což může v budoucnu znamenat nekompatibilitu s jinými AOS.
  2. budete muset vyřešit, kde bude BE realizován. Předpokládám, že to bude v nějaké vzdálenosti od vstupní ceny. Jenže to je problém v okamžiku, kdy to budete používat současně na volatilnějších a méně volatilních instrumentech, tak taková pevná vzdálenost nemusí být vhodná. Dá se to samozřejmě řešit použitím nějakého indikátoru, který měří volatilitu.

V každém případě je to práce na pár minut, takže pokud by nebyl nikdo ochotný Vám to poskytnout, tak dejte vědět.

U toho zlata by bylo ideální po 50 pipech posunout na BE,takže to by šlo taky tak vyřesit ten AOS, pokud se nebudou podmínky hádat ve zdrojém kódu

Andílek
Veteran member
avatar
Příspěvky: 1244
Více informací o uživateli >>
Re: Re: Re: Re: Re: Re: Re: Re: Re: Posunutie SL 01.07.2020 14:24
Odpověď na: martyscz

jasně máte pravdu,ale nemám v plánu používat jiné AOS, takže mi nevadí tohle nastavení pro všechny obchody.

Moje představa je,že při 20 (25) pipech v profitu se automaticky posune SL na BE. Nastavuji pevně TP u obchodu 20,50,100 pipu, takže mi stačí takhle jednoduchá podmínka ve zdrojovém kódu toho AOS

Využivám pouze klasické měnové páry,takže volatilitu neřeším jako u SP500 apod. Jediný volatilnější intrument,který obchoduji je zlato. Kdyby tento AOS fungoval na vše kromě zlata (nejaká podmínka vyjma toho zlata), tak je to geniální :) Kolikrát zadávám obchody přes mobil, takže je nemožné vše neustále hlídat a posouvat ručně SL.

Děkuji mnohokrát za pomoc

Teď se jedu projet na kole. Takže pokud sem nikdo do té doby nedá nic, tak Vám to k večeru sem pošlu. Jen Vás poprosím, abyste přede mnou raději nepoužíval PIPy (zastaralá, nejednoznačná jednotka, která je navíc spojena pouze s měnovými páry a já jsem na nesprávné používání mírně alergický), ale budeme se spolu bavit buď o bodech nebo o tick value.

Předchozí témata

Následující témata

Forex - doporučené články:

Co je FOREX?
Základní informace o finančním trhu FOREX. Forex je obchodování s cizími měnami (forex trading) a je zároveň největším a také nejlikvidnějším finančním trhem na světě.
Forex pro začátečníky
Forex je celosvětová burzovní síť, v jejímž rámci se obchoduje se všemi světovými měnami, včetně české koruny. Na forexu obchodují banky, fondy, pojišťovny, brokeři a podobné instituce, ale také jednotlivci, je otevřený všem.
1. část - Co to vlastně forex je?
FOREX = International Interbank FOReign EXchange. Mezinárodní devizový trh - jednoduše obchodování s cizími měnami - obchodování se směnnými kurzy.
VIP zóna - Forex Asistent
Nabízíme vám jedinečnou příležitost stát se součástí týmu elitních obchodníků FXstreet.cz. Ve spolupráci s předními úspěšnými obchodníky jsme pro vás připravili unikátní VIP skupinu (speciální uzavřená sekce na webu), až doposud využívanou pouze několika profesionálními tradery, a k tomu i exkluzivní VIP indikátory, doposud úspěšně používané pouze k soukromým účelům. Nyní se vám otevírá možnost stát se součástí této VIP skupiny, díky které získáte jedinečné know-how pro obchodování na forexu, výjimečné VIP indikátory, a tím také náskok před drtivou většinou ostatních účastníků trhu.
Forex brokeři - jak správně vybrat
V podstatě každého, kdo by chtěl obchodovat forex, čeká jednou rozhodování o tom, s jakým brokerem (přeloženo jako makléř/broker nebo zprostředkovatel) by chtěl mít co do činění a svěřil mu své finance určené k obchodování. Velmi rád bych vám přiblížil problematiku výběru brokera, rozdíl mezi jednotlivými typy brokerů a v neposlední řadě uvedu několik příkladů nejznámějších z nich.
Forex robot (AOS): Automatický obchodní systém
Snem některých obchodníků je obchodovat bez nutnosti jakéhokoliv zásahu do obchodu. Je to pouhá fikce nebo reálná záležitost? Kolik z nás věří, že "roboti" mohou profitabilně obchodovat? Na jakých principech fungují?
Forex volatilita
Forex volatilita, co je volatilita? Velmi užitečným nástrojem je ukazatel volatility na forexu. Grafy v této sekci ukazují volatilitu vybraného měnových párů v průběhu aktuální obchodní seance.
Forex zůstává největším trhem na světě
V dnešním článku se podíváme na nejnovější statistiky globálního obchodování na forexu. Banka pro mezinárodní vyrovnání plateb (BIS) totiž před pár týdny zveřejnila svůj pravidelný tříletý přehled, ve kterém detailně analyzuje vývoj na měnovém trhu. BIS je označována jako "centrální banka centrálních bank". Je nejstarší mezinárodní finanční organizací a hraje klíčovou roli při spolupráci centrálních bank a dalších institucí z finančního sektoru. Dnešní vzdělávací článek sice nebude zcela zaměřen na praktické informace z pohledu běžného tradera, ale i přesto přinese zajímavé a důležité poznatky.

Nejnovější články:


Naposledy čtené:

reklama
CapXmaster