Momentum or ROC as a Factor for Modifying Time of Pending Order

 

Hello all,

at the moment I'm stuck in planning the strategy for a new EA using Pending Orders for entry. 

The idea is to remain with pending orders at a certain distance to the current price and for a certain time. And the modifying time should be variable depending on Momentum Indicator or ROC.

The reason why I'm asking for help is that I at the moment I'm blank in my mind and I don't know where and how to start. Probably there is somebody experienced here who can give me a hint how to realize a function for calculation.


My basic idea is:

  • Pending Orders (Buy, Sell) are placed at a certain distance to the price (Straddle Strategy),
  • Pending Orders should be modified as soon as the calculated time (OnTick) has exceeded.
  • Variable "SecondsBasedOnMomentum" should be calculated depending on the Momentum of the last x candles. The more Momentum it shows, the longer the Pending Orders should remain without beeing modified and vice versa.

  • Does anybody have an idea how to calculate the variable SecondsBasedOnMomentum?


// code does not work!!!! Just for explaining my idea!
//SecondsBasedOnMomentum = calculated Value based on Momentum or ROC                            


    if (TimeBar < TimeCurrent() - SecondsBasedOnMomentum) {                 
         bool ModifyingResult;

         ModifyingResult= ModifyPendingOrders();
                                                                        
      }

Many thanks for your proposals.


Greetings 


Werner

 

Hallo und Grüß Gott :)

Und gleich einmal ein paar Tipps ;)

  1. Hier sprechen wir Deutsch - obwohl die meisten auch Englisch verstehen können.
  2. Erst suchen! Es gibt fast nix, was nicht schon für Mt4/5 programmiert wurde!
    Warum das Rad neu erfinden, wenn es in der CodeBase liegt, bereit zum abkupfern?
  3. SecondsBasedOnMomentum könnte man als Verhältnis sehen. Dazu muss man für den Zeitabstand wie für das Momentum jeweils einen 100% definieren, dann gilt:
    nSec/Sec100 = MomDelta/Mom100  => nSec = Sec100*MomDelta/Mom100 => tmeExp = TimeCurrent()+nSec
Du musst Dir klar werden, was Du als Sec100 und Mom100 festlegen willst!
 

Hallo Carl,

das war mein erster Post hier, hab wahrscheinlich alles falsch gemacht, was möglich war. Danke, für die Nachsicht und Deine Antwort.

Wahrscheinlich habe ich mich zu blöd angestellt um eine Lösung für mein Problem zu finden. Deswegen dachte ich, ich gehe mal zu Brainstormen ;-)

--------

Deine Idee würde voraussetzen, dass ich fixe Wert festlegen muss, die ich zum Indikator ins Verhältnis setze, sehe ich das richtig? Das klingt schon mal ganz gut.

Damit werde ich mich mal beschäftigen, vielleicht fällt mir heute Nacht noch etwas mehr dazu ein.


Anfangs dachte ich irgendwie an einen "steigendes/fallendes" Delta beim Vergleich der letzten x Perioden zueinander, die ein aufkommendes/fallendes Momentum signalisieren würden.

Z. B. viertletze Periode zu drittletzter Periode: Delta 0.35

drittletzte Periode zu vorletzer Periode: Delta 0,47

vorletzte Periode zu letzter Periode: Delta 0,54

etc.

Es gäbe also 3 mögliche Szenarien: steigendes Delta, sinkendes Delta, gleich bleibendes Delta.

steigend / fallend: Wenn die jeweiligen Deltas um mehr als 10% steigen/fallen

gleich bleibendes: Änderung innerhalb 10% um Mittelwert


Womöglich gibt es bereits eine ähnliche Funktion, die für eine ähnliche Situation verwendet wurde.

Nur, wonach soll ich konkret suchen? Carl, vielleicht fällt Dir (Euch) irgend etwas ein, wo ich etwas ähnliches finde, dass ich nur anpassen muss.


Gruß

Werner 

 

Viel falsch hast Du nicht gemacht - wirklich :)

Du kannst natürlich für die Mom100 einen veränderlichen wert nehmen. Wie Du sagst zB eine historische Differenz (Mom[10]-Mom[19]) und dann MomDelta = Mom[0] -Mom[9] (achte auf gleiche Länge (10 Bars) oder begründe Dir, wenn nicht!)

Suchen ist hier eine Problem:

  1. Es gibt nicht wirklich Keywords,
  2. Die Ergebnisse sind unterschiedlich für Suchen in Deutsch (oben rechts) oder Englisch (gibt mehr).
  3. Keine Unterscheidung von MQ4 und MQ5
  4. Deshalb verwende ich oft Google - da musst Du aber MQL4 bzw. MQL5 davorsetzen
  5. Suchmal zB. nach PendingOrders variable Expiration  (oder so..)
 
Carl Schreiber:

Viel falsch hast Du nicht gemacht - wirklich :)

Du kannst natürlich für die Mom100 einen veränderlichen wert nehmen. Wie Du sagst zB eine historische Differenz (Mom[10]-Mom[19]) und dann MomDelta = Mom[0] -Mom[9] (achte auf gleiche Länge (10 Bars) oder begründe Dir, wenn nicht!)

Suchen ist hier eine Problem:

  1. Es gibt nicht wirklich Keywords,
  2. Die Ergebnisse sind unterschiedlich für Suchen in Deutsch (oben rechts) oder Englisch (gibt mehr).
  3. Keine Unterscheidung von MQ4 und MQ5
  4. Deshalb verwende ich oft Google - da musst Du aber MQL4 bzw. MQL5 davorsetzen
  5. Suchmal zB. nach PendingOrders variable Expiration  (oder so..)

Danke, Carl. So werde ich das machen. Rom ist auch nicht auf einen Tag erbaut worden.


Schon mal ein Schönes Wochenende!

Werner

Grund der Beschwerde: