Molanis Irrtum gefällig? - Seite 3

 

RJo:

Abgesehen davon, habe ich noch keine funktionierende ex4 mit einem defekten mq4 von SB gesehen.

Sie haben defekten mql4 Code gepostet . . sieht aus wie Molanis ist nicht besser als EA Builder.
 
RJo:


Ah, also... Computer sind die Besten im Handel und deshalb sollte der Mensch überflüssig sein.


No.... Computer sind die Besten im automatisierten Handel ;)
 
RaptorUK:
Sie haben fehlerhaften mql4-Code gepostet . . sieht so aus, als ob Molanis nicht besser ist als EA Builder.


"Defekt" in Bezug auf die ex4-Datei, d. h. die ex4-Datei ist funktionaler als die mq4-Datei. Wie in meinem ersten Beitrag erwähnt, bin ich kein Programmierer. Iiih. Vielen Dank für Ihre spezifische Diagnose. Ach ja... du hattest keine.

 
RJo:


"Defekt" in Bezug auf die ex4-Datei, d. h. die ex4-Datei ist funktionaler als die mq4-Datei. Wie in meinem ersten Beitrag erwähnt, bin ich kein Programmierer. Iiih. Vielen Dank für Ihre spezifische Diagnose. Ach ja... du hattest keine.

Ich brauche nicht zu wiederholen, was WHRoeder bereits gesagt hat.
 
JDeel:

Warum fangen wir nicht an, in Assembler zu programmieren? Wir können alles auf der niedrigsten verfügbaren Ebene (nach dem Maschinencode) steuern. Ja, es ist mühsamer, das zu lernen, aber wir werden sicher so kleinen und super optimierten Code bekommen! Das ist soooooooo erstaunlich, meint ihr nicht auch, Leute?

deVries, Molanis ist nicht mein Tool und ich habe nie EA's damit gemacht. Aber wie ich sehe, sind Sie kein Fan von EA-Buildern und ich kann Ihnen nur raten, niemals mit ihnen zu arbeiten. Verwenden Sie einfach MQL4/MQL5, das ist nicht verboten. Es gibt Leute, die mögen rosa Farbe am meisten, und Leute, die mögen blaue Farbe am meisten. So war es schon immer und so wird es auch bleiben.


Ändern Sie nicht meine Worte.... Beweisen Sie uns, dass Sie einen Expert Advisor mit Ihrem Tool, das ich geschrieben habe, korrekt programmieren können. Ich meine immer noch, dass...

Ich habe nie geschrieben, dass Molanis Ihr Werkzeug ist. Wenn Sie nach EABuilders googeln, werden Sie andere finden. Vielleicht sind Sie ein Benutzer des NoProgra Builders...

und Sie denken, dass es ein Tool ist, das Ihre EA's für MetaTrader4 korrekt kodieren kann, dann prüfen Sie es mit diesem Builder.

Aber es gibt Leute, die raten, EABuilders zu verwenden oder es zu fördern, sie zu verwenden...

Wenn Sie ein Produkt promoten wollen, dann seien Sie sicher, dass das Produkt gut ist, indem Sie es beweisen.

Und ich habe noch niemanden gesehen, dem das gelungen ist....

Der große Nachteil dieser Tools ist, dass es Leute geben wird, die denken, dass es nicht notwendig ist, die Grundlagen von mq4 zu kennen, wenn ein Tool dein Produkt erstellen kann.

Aber sie wissen nicht, welche Qualität sie.... diesem Tool erhalten. Oder sie erkennen die Fehler in den Programmen nicht, die sie im Internet (kostenlos oder nicht) bekommen können.

 
RJo:

Danke für Ihre spezifische Diagnose. Ach ja... du hattest keine.

Ich gebe dir ein konkretes Beispiel...

int CLOSELONG(string symbol_c) {
 CloseAllPositions(symbol_c,OP_BUY,MagicNumberLong);
 CloseAllPositions(symbol_c,OP_BUY,MagicNumberLong);
 return(0);
}

//CLOSESHORT closes short positions
/*
*** Generated with Molanis Strategy Builder 3.1 ***
*** www.molanis.com ***
*** Released 2010-02-20 ***
*/
int CLOSESHORT(string symbol_c) {
 CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort);
 CloseAllPositions(symbol_c,OP_SELL,MagicNumberShort);
 return(0);
}

Diese 2 Funktionen rufen zweimal die gleiche Funktion auf. CloseAllPositions, die erste für Longs, die zweite für Shorts . . . warum sollte sie das tun ? sie tut das, um die Orders zu bereinigen, die sie beim ersten Mal, als CloseAllPositions ausgeführt wurde, nicht schließen konnte, warum gelingt es ihr nicht, Positionen zu schließen ? weil die Schleife, die zum Schließen dieser Positionen verwendet wird, nach oben und jetzt nach unten zählt . . . und Sie wissen bereits, warum das scheitert, da Sie den Thread gelesen haben, den ich zu genau diesem Thema erstellt habe.

Anstatt also zu verstehen, warum einige Positionen offen bleiben, haben die guten Leute bei Molanis eine Lösung gefunden: Sie rufen dieselbe Funktion ein zweites Mal auf, um nach der ersten Funktion aufzuräumen.

 

Danke für die Veröffentlichung des Molanis-Codes, RJo, ich werde ihn mir später ansehen - Molanis' Lots-Berechnung ist sehr schrecklich. Ich denke, Molanis / EA SB Benutzer sind glücklich Benutzer, bis sie mql lernen, und bis dahin werden sie Molanis / EA SB aus ganz anderen Blickwinkel sehen.

Ich denke, wir verteidigen besser unser Geld zuerst, als Molanis/EA SB zu verteidigen - oder unsere Entscheidung, eine zu benutzen ;).

 
RJo:
Indi:


Vielen Dank für die Veröffentlichung der Codes ....

So gut wie WHRoeder darin ist, so schnell auf Fehler hinzuweisen, bin ich nicht und es hat keinen Sinn, es noch einmal zu sagen

Aber wenn Sie nicht wissen, wie man programmiert, können Sie etwas anderes tun, sehen Sie hier....

.

Ich habe einen Test gemacht, um das Verhalten des Indikators zu sehen und das gibt auch eine Art von Warnung zwei Bilder gemacht

Test auf 1 Minute (macht der EA nicht handeln) ab 1 jan 2012

Sie sehen das Verhalten vor dem Test des Indikators in diesem Bild

Und das Verhalten, wenn der Test beginnt

Dieses Verhalten sehen Sie auch, wenn Sie einen EA in den Test einfügen, der den Indikator nicht verwendet

.

Sieht aus wie ein völlig anderes Verhalten Dies ist auch eine Warnung, einen genaueren Blick auf den Code oder das Verhalten des Indikators zu nehmen, bevor Sie es verwenden werden

.

Es sieht so aus, als ob der Code des Indikators nicht von Molanis stammt, denn er beginnt mit.....

// This is Not Tested , Use At Your Own Risk !

//+--------------------------------------------------------------------------+
//| 3 MA Cross w_Alert v2.mq4                                                |
//| Copyright © 2005, Jason Robinson (jnrtrading)                            |
//| http://www.jnrtading.co.uk                                               |
//| 3 ma conversion and Alert , David Honeywell , transport.david@gmail.com  |
//| http://finance.groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/ |
//+--------------------------------------------------------------------------+

/*
  +-------------------------------------------------------------------------------+
  | Allows you to enter 3 ma periods and it will then show you and alert you at   |
  | which point the 2 faster ma's "OPEN" are both above or below the Slowest ma . |
  +-------------------------------------------------------------------------------+
*/   

Ich denke der Fehler dieses Indikators ist, dass er den Future berechnet

   for(i = 0; i <= limit; i++)
    {
      
      counter=i;
      Range=0;
      AvgRange=0;
      for (counter=i ;counter<=i+9;counter++)
       {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
       }
      Range=AvgRange/10;
       
      fasterMAnow      = iMA(NULL, 0, FasterMA, FasterShift, FasterMode, PRICE_CLOSE, i+1);
      fasterMAprevious = iMA(NULL, 0, FasterMA, FasterShift, FasterMode, PRICE_CLOSE, i+2);
      fasterMAafter    = iMA(NULL, 0, FasterMA, FasterShift, FasterMode, PRICE_CLOSE, i-1);
      
      mediumMAnow      = iMA(NULL, 0, MediumMA, MediumShift, MediumMode, PRICE_CLOSE, i+1);
      mediumMAprevious = iMA(NULL, 0, MediumMA, MediumShift, MediumMode, PRICE_CLOSE, i+2);
      mediumMAafter    = iMA(NULL, 0, MediumMA, MediumShift, MediumMode, PRICE_CLOSE, i-1);
      
      slowerMAnow      = iMA(NULL, 0, SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE, i+1);
      slowerMAprevious = iMA(NULL, 0, SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE, i+2);
      slowerMAafter    = iMA(NULL, 0, SlowerMA, SlowerShift, SlowerMode, PRICE_CLOSE, i-1);
Wenn " i = 0 ", dann ist " i-1 " die Zukunft.....
 
WHRoeder:

Ichi_Cloud_EA.mql4 in keiner bestimmten Reihenfolge

  1. externes Is_micro_account anstelle der Berechnung über Market_info
  2. Die Verwendung von micro_account und NormalizeDouble setzt voraus, dass lotStep 0.1 0r 0.01 ist. Keine anderen vom Broker definierten Werte erlaubt.
  3. externe FiveDigits anstatt es zu berechnen. Nur Test für 3 oder 5 erlaubt Standard-Paare, jpy Typ Paare. Handel mit Metallen FAIL. Warum der Test für ungültige Einstellungen.
  4. Der globale PipMultiplier wird bei einem Chartwechsel nie zurückgesetzt.
  5. viele externe bools können nicht strategiegetestet werden.
  6. Kein Grund, zwei magische Zahlen zu verwenden
  7. Es wird nur gehandelt, wenn die Stunde zwischen TradingStartTime und TradingEndTime liegt. Keine Möglichkeit , Zeit über Mitternacht zu setzen (z.B. Start 2000, Ende 0600, d.h. nur Sydney Session)
  8. Verwendet PreviousBarCount==Bars. Bars in unzuverlässig (max Bars im Chart) Volume ist unzuverlässig (Sie können Ticks verpassen) immer Zeit verwenden.
  9. verwendet iClose(Symbol(),0,1) anstelle des einfacheren und schnelleren Close[1]
  10. in Init Slippage = Slippage*PipMultiplier; bedeutet, dass JEDESMAL, wenn Sie den Chart (Paar oder Zeitrahmen) wechseln, die Slippage um 3 , 30, 300, 3000 erhöht wird!!!
  11. magiccond und andere bool verwenden if (condition) boolVar= true; sonst boolVar = false; wenn es den Vereinfacher boolVar = condition verwenden könnte;
  12. Keine Zwischenspeicherung von Werten, wenn (iClose() <> iCustom()) die exakt gleichen iClose- und iCustom-Aufrufe 4+ Mal aufgerufen werden.
  13. Zählt beim Schließen hoch und ruft die Funktion zweimal auf. Hochzählen bedeutet, dass jede zweite Bestellung nicht ausgeführt wird. Zweimaliges Aufrufen der Funktion bedeutet, dass sie bei 4 oder mehr offenen Aufträgen fehlschlägt . Zählt immer abwärts.
  14. "M-ERROR : Expiration has to be at least 1 minute." hatte gerade ein Posting zu dieser Expiration Periode sollte mehr als 10 Minuten sein!
  15. Für Pending Order, ruft Normaliszedouble(Preis, Digits), die nicht funktionieren, wenn ticksize != Point

Da mich #10 am meisten beunruhigt, habe ich es zuerst untersucht. Ich war gerade dabei, eine riesige Support-Anfrage an Molanis zu schreiben, als ich dies fand:

Slippage, wie es im Code des EA verwendet wird, ist eine externe Integer-Variable (extern int).

"Vor der Ausführung von init() erhalten externe Variablen Werte, die vom Benutzer in der Einstellungs-Symbolleiste festgelegt wurden, und bei der Ausführung von init() erhalten externe Variablen neue Werte, die vom Benutzer festgelegt wurden. Somit werden neue Werte für externe Variablen ab dem Zeitpunkt einer neuen Sitzung (init - start - deinit) eines Expert Advisors gültig, die mit der Ausführung von init() beginnt"(https://book.mql4.com/variables/types).

Es scheint also, dass... während globale Variablen bei der Ausführung von init() generell zugunsten alter Werte ignoriert werden, werden externe Variablen bei der Ausführung von init() aktualisiert. Slippage bleibt auf 3 (oder was auch immer ich eingestellt habe), egal wie oft ich die Charts wechsle. Ich glaube, dass der EA so konzipiert ist, um zu funktionieren.

 
RJo:
Es scheint also, dass... während globale Variablen bei der Ausführung von init() generell zugunsten alter Werte ignoriert werden, werden externe Variablen bei der Ausführung von init() aktualisiert.

Slippage bleibt auf 3 (oder was auch immer ich diese Einstellung), egal wie oft ich Charts ändern. Ich glaube, das ist, wie der EA ist entworfen, um zu arbeiten.

FALSCH Haben Sie sich überhaupt die Mühe gemacht, den Link zu lesen , den Sie gepostet haben(https://book.mql4.com/variables/types), dort steht: "Globale Variablen werden nur einmal initialisiert, bevor die Ausführung spezieller Funktionen angegeben wird ."

Globale und statische Variablen werden beim LADEN des EA gesetzt, nicht während des Deinit/Init-Zyklus.

Fügen Sie eine Druckanweisung direkt nach Slippage = Slippage * 10 ein und führen Sie es aus und ändern Sie Charts oder Zeitrahmen und schauen Sie in das Log, wenn Sie der Dokumentation von uns nicht glauben wollen...

Grund der Beschwerde: