Inhalte aufrufen

  • Über Facebook anmelden Über Twitter anmelden Über WindowsLive anmelden Log In with Google Anmelden
  • Mitglied werden
Profilbild

Variable GridSize

- - - - -

  • Du kannst leider keine neuen Themen eröffnen
  • Please log in to reply
25 Antworten zu diesem Thema

  #1
OFFLINE   halobungie

Hallo,
ich möchte gerne eine variable GridSize.
Bei allen EA's welche ich bisher gesehen habe ist die GridSize z.B. 100.
Ich möchte, dass sich diese GridSize erhöht, z.B.
bei OpenOrders() > 5 = 200
bei OpenOrders() > 10 = 300 usw.
Weis jemand Rat wie ich dies programmieren kann?
Besten Dank!
halobungie

  #2
OFFLINE   traderdoc

Ja, weiss ich!
Jetzt muß man unterscheiden, ob Du
1. einen funktionierenden EA umbauen oder
2. Deinen eigenen EA bauen willst.

1. Kann einfach sein, wenn der Code gut strukturiert geschrieben wurde, ansonsten dauert es evtl. länger, fehlerfrei etwas zu integrieren als neu zu schreiben und da wären wir bei 2.
2. Dafür brauchst Du entweder sehr gute Programmierkenntnisse oder einen externen Progger, der Dir das für umdsonst macht (den wirst Du bei dem Projekt wahrscheinlich nicht finden) oder auf Honorarbasis (gefühlte 300€, je nach Zusatzfunktionen, wie MM, RM, Teilausstiege, Linien, etc.)

Du hast die Wahl!

traderdoc
  • MANDL2007 gefällt das

Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

 


  #3
OFFLINE   MANDL2007

hi halobungie !

Wie sind denn so Deine Erfahrungen mit den Grid Tradern ? Also ich mache das schon (mit oder ohne marti) nun einige Jahre schon ... negativ !
Auch traderdoc selbst kennt sie alle .... die Nanningbob EAs, die div. beasts und beasties und wie sie alle heissen mögen .... früher oder später (manchmal erst nach weeks or months) kommt er der Tag den ich "Waterloo" nenne ! Dann kann Dein Konto noch so gross sein .... wenn Du nicht manuell (hektisch ?) eingreifst ... der MC ist so sicher wie das Amen in der Kirche !
Also es ist schon so: ohne Risikobegrenzung geht es nicht (=SL).
Uff ... wollte Dir ja nicht das Geschäft versauen Steffen, aber nachdem nun nach langen Kampf mein live acc den Geist aufgegeben hat musste das hier raus ...:'( :-" :-X
"I DO it my way !" (frei nach F.S.)
Mein EA Portfolio: http://www.stevehopw...php?f=36&t=1374 (TGTFX, TGTFX1, TGTFX2, MANDL2007)

  #4
OFFLINE   halobungie

Hallo TraderDoc,
ich möchte das gerne selber programmieren.
Und ich dachte es ginge einfacher.
Meine Idee ist, eventuell ist dies auch völlig falsch, diese Berechnung des Gridsize in eine void() Funktion auszulagern.

In dieser void GridSize()-Funktion soll ständig nur die Gridsize berechnet werden und zwar ganz einfach mit
if (OpenOrders()>5) GridSize = 50 etc.
Die void-Funktion soll also das Resultat GridSize liefern

Und diese GridSize soll ich oben im EA dann verwenden können. Aber wie gesagt, habe ich mir das zu einfach vorgestellt?


  #5
OFFLINE   fxdaytrader

Nun, der Doc ist hier genau so wenig Hellseher wie alle anderen hier -> Woher soll der Doc das wissen wenn er den EA nicht vorliegen hat?

Ich sehe aktuell zwei brauchbare Optionen:
1.) EA hier anhängen und und auf Hilfe hoffen
2.) Doc kontakten, EA mitschicken und abwarten ...
Kommst' heut' nicht, kommst' morgen oder gar nicht ...
Krank im Kopf, aber sonst ganz nett :troll:

meet the Fabrik-Mods | ForexFabrik ForenSuche | alter mql4 compiler (hier

  #6
OFFLINE   traderdoc

Diese Funktion als solche, ist nicht kompliziert. Aber das ganze Drumherum muß stimmen, und wenn Du selber Deinen EA schon geschrieben hast, dann könntest Du die Funktion so integrieren, wie Du es Dir vorgestellt hast.

Ich kann jetzt nicht mehr dazu sagen, weil ich Deinen EA und den dazugehörigen Code nicht kenne und ich kenne Deinen Programmierkenntnisstand nicht.
Aber probier es doch dann einfach aus. Da wirst Du sehen, ob es so funktioniert.

Nochmal das biedere Einbinden von

bei OpenOrders() > 5 = 200
bei OpenOrders() > 10 = 300 usw.

ist in der Summe nicht das große Thema, wenn Du schon einen bestehenden EA besitzt.

traderdoc

PS. Das war der zweite Anlauf auf das Post #2000! :) :beer:
  • MANDL2007 und fxdaytrader gefällt das

Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

 


  #7
OFFLINE   hugo

Die EAs von Matus German bieten eine ähnliche Möglichkeit. Nennt sich dort Distance Multipler. Wenn Du das selber basteln willst, kannst Du dort ja mal reinschauen zwecks Inspiration.

Schönes Wochenende!

  #8
OFFLINE   halobungie

Hallo Hugo,
vielen Dank, das hilft mir weiter!!!
Viele Grüsse,
halobungie

  #9
OFFLINE   fxdaytrader

Also damit hier alle wissen wovon hier die Rede ist, ganz kurz:
Grid trading bezeichnet das Öffnen von Orders alle x-pips (ob mit dem Trend oder eben Countertrend). Wird jetzt bspw. bei 1.3500 eine order aufgegeben und die gridsize beträgt 10 pips, dann würde die nächste order bei 1.3510 aufgegeben, usw.

Ich möchte, dass sich diese GridSize erhöht, z.B.
bei OpenOrders() > 5 = 200
bei OpenOrders() > 10 = 300 usw.
Weis jemand Rat wie ich dies programmieren kann?


Wie ist Dein EA denn aufgebaut? Du könntest den Grid-Schnipsel hier ja posten ...
Kommst' heut' nicht, kommst' morgen oder gar nicht ...
Krank im Kopf, aber sonst ganz nett :troll:

meet the Fabrik-Mods | ForexFabrik ForenSuche | alter mql4 compiler (hier

  #10
OFFLINE   halobungie

Hier ist der EA...
Ich bin sehr froh, wenn mir jemand nun diesen "GridSize-Multiplier" (wie oben beschrieben) einbauen könnte.
Besten Dank im Voraus!
halobungie

Dateianhang


  • fxdaytrader gefällt das

  #11
OFFLINE   fxdaytrader

Wo hast Du den EA her? Ich wundere mich bspw. ein " #property show_inputs// shows the parameters - thanks Slawa..." in der start()-funktion zu finden ...

Funktioniert der EA denn wie von Dir gewünscht, abgesehen von der gridsize?
Kommst' heut' nicht, kommst' morgen oder gar nicht ...
Krank im Kopf, aber sonst ganz nett :troll:

meet the Fabrik-Mods | ForexFabrik ForenSuche | alter mql4 compiler (hier

  #12
OFFLINE   halobungie

Hallo fxdaytrader,
den EA habe ich ganz legal vom Internet, also dies ist kein illegaler EA, wenn Du das meinst.

Der EA funktioniert noch nicht so wie ich das wünsche. Zuerst möchte ich eben diese Grid-Funtion anpassen, falls möglich.
Besten Dank im Voraus!
halobungie

  #13
OFFLINE   Wienerfan

Hallo,

anbei ein grid System, bei welchem der Faktor für martingale einzeln einzustellen ist. Ebenso ist hedge möglich, wenn gewünscht.
Grid 1 = 1 -100
Grid 2 = 101 - 200
Grid 3 = 201 - 300 und so weiter.

Er hat 2 cycles, die abwechselnd mal long , mal short gehen, siehe Manual.
Ob es so ein Typ von EA ist, den Du möchtest kann ich nicht beurteilen, einfach mal testen.

Gruß

Dateianhang



  #14
OFFLINE   traderdoc

Nicht getestet, aber frisch aus der Presse!

extern int OrderCnt1 = 5;
extern int GridSize1 = 100;
extern int OrderCnt2 = 10;
extern int GridSize2 = 200;
extern int OrderCnt3 = 15;
extern int GridSize3 = 300;

bedeutet:
0 - 5offene Orders GridSize = 100
6 - 10offene Orders GridSize = 200
11 - 15 offene Orders GridSize = 300

traderdoc

Dateianhang


  • MANDL2007 gefällt das

Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

 


  #15
OFFLINE   networker

Hallo,

eine Möglichkeit wäre es dynamisch zu gestalten.

Berechnung der DailyRange des WP, High-Low=DailyRange

GridSize1= DailyRange
GridSize2= DailyRangex2
usw.

was den Vorteil hat das sich in wenig volatilen Zeiten (Sommer, Urlaub) die Steps zwischen den Grids zusammen zieht und in hoch volatilen Zeiten (Herbst/Winter) die Grid Abstände automatisch größer werden, da auch die DailyRange entweder kleiner oder größer wird. Kombinierbar mit einem MinimumStep (z.B. 50) und/oder Newsfilter - denn ich denke das ein Grid mit fixen Abständen (100,200,300,...) bei "Range WP" wie AUDNZD, NZDCHF, EURGBP kaum oder wenig Sinn macht. Mit starren Gridabständen müssten diese pro WP extra optimiert werden und das für jede Zeit...

Gruss
J.

PS: traderdoc kann dir sicher sowas zaubern ;)
  • hugo gefällt das

  #16
OFFLINE   halobungie

Hallo networker,
mich würde die Dynamische Variante sehr interessieren!
Besten Dank für diese Idee!
Grüsse,
halobungie

  #17
OFFLINE   networker

Hallo networker,
mich würde die Dynamische Variante sehr interessieren!
Besten Dank für diese Idee!
Grüsse,
halobungie


Bitte gerne,
ich bin aber kein Programmierer! ich hab zwar die Idee und eine ungefähre Ahnung wie ich es machen würde, aber nicht das Können sowas zu coden -> traderdoc
Ausserdem ist es wichtig das ganze (geplante) System zu kennen.

Wie bereits geschrieben, würde ich die täglich Piprange des WP (von Vortag High-Low=PipRange) berechnen und diese dann multiplizieren.

Beispiel EURUSD
die berechnete Piprange= 100Pips
Grid1=PipRange
Grid2=PipRangex2
Grid3=PipRangex3
usw.

Gruss
J.

  • MANDL2007 gefällt das

  #18
OFFLINE   halobungie

//+------------------------------------------------------------------+
//| CHECK_GRIDSIZE_S1|
//+------------------------------------------------------------------+
int CheckGridSize_S1() 
{  
int cnt = 0; 
 for (int i = 0; i < OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
 if (OrderSymbol() == S1 && OrderMagicNumber() == Magic_S1) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {  
 cnt++;
}
 }
}
}
if (cnt >OrderCnt2_S1 && cnt <= OrderCnt3_S1) return (GridSize3_S1); 
if (cnt >OrderCnt1_S1 && cnt <= OrderCnt2_S1) return (GridSize2_S1); 
if (cnt <= OrderCnt1_S1)return (GridSize1_S1);  
//+------------------------------------------------------------------+
//| END CHECK_GRIDSIZE_S1|
//+------------------------------------------------------------------+
 
Es kommt hier folgende Fehlermeldung: 
not all control paths return a value
 
Wie kann ich diese Fehlermeldung beheben?
 


  #19
OFFLINE   traderdoc

Please Login or Register to see this Hidden Content

Das return(0) ist fast nur zur Genüge des Compilers da.

0 wird aber nur unter einer Bedingung zurückgegeben, wenn cnt > OrderCnt3_S1 ist, sofern das überhaupt möglich wäre. Ansonsten ist spätestens diese Abfrage if (cnt <= OrderCnt1_S1) true,

auch wenn cnt = 0 ist, denn OrderCnt1_S1 wird ja wohl nicht negativ sein.

Ob bei cnt = 0 nun die Rückgabe von GridSize1_S1 Sinn ergibt, das liegt in der Erklärung von @halobungie.

 

traderdoc


Bearbeitet von traderdoc, 11 October 2017 - 22:12 Uhr,

Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

 


  #20
OFFLINE   ping

... das void ist natürlich Quatsch, da die Funktion ja einen Returnwert zurückgeben soll. (und wird auch einen Fehler bringen)

 

 

Oder statt void wieder das int vor CheckGridSize_S1 und unten vor der letzten Klammer ein retrurn(0);

 

 

... das ist ebenfalls Quatsch, da die Funktion dann immer 0 zurückgibt.

 

 

 

die Frage lautet: welchen Wert soll die Funktion zurückgeben wenn keines der drei if's zutrifft?

 

 

P.S.: dazu müssen die drei if's aber verschachtelt werden:

Please Login or Register to see this Hidden Content


Bearbeitet von ping, 11 October 2017 - 20:50 Uhr,

In Trauer um "Dive"




Similar Topics

  Thema Eröffnet von Statistik Letzter Beitrag




0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer