benötige bitte Hilfe bei der Codierung

 
Ich brauche bitte Hilfe. Ich bin ein Neuling bei der Codierung, aber haben den Forex-Handel für eine loooooong Zeit.

Mit Hilfe des "Expert Advisor Builder" habe ich den beigefügten EA erstellt, der im Test funktioniert. Das Problem ist, dass er nicht funktioniert, wenn er auf mehrere Live-Charts angewendet wird. Da er einen 4-Stunden-Test verwendet, dauert es sehr lange, bis ich sehe, ob meine Korrekturen das Problem beheben, und ich bin frustriert.

Ich habe denselben EA in 5 verschiedene Namen umbenannt und jeweils einen auf 5 verschiedenen Paar-Charts platziert, alle auf derselben MT4-Plattform. Das hat nicht funktioniert.

Kann mir bitte jemand einen Rat geben, wie ich den Code zum Funktionieren bringen kann, damit ich ihn für mehr als ein Paar verwenden kann?
 
//+------------------------------------------------------------------+
//| QQE 4hr_15min TESTING                                            |
//| triggers on 4 hour QQE, then uses 15 min QQE to enter trade.     |
//+------------------------------------------------------------------+

#property copyright "Expert Advisor Builder"
#property link      "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"





//Check position                 
             bool IsTrade = False;
             for(int i = 0; i < Total; i ++) 
               {                       
                OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
                if(OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 
                  {                 
                   IsTrade = True;
                   if(OrderType() == OP_BUY) 
                     {            
//Close                          
//+------------------------------------------------------------------+
//| Signal Begin (Exit Buy)                                           |
//+------------------------------------------------------------------+

Um zu zeigen, was für ein schlechter Expert Advisor Builder das ist, habe ich ein paar Zeilen kopiert

Er verwendet nicht die magische Nummer der Geschäfte, wenn er die offenen Geschäfte überprüft

dieser EA kann Trades verwalten, die Sie nicht durch diesen EA geändert haben wollen

Er zählt hoch, wenn er die Trades überprüft und in dieser Gesamtschleife schließt er auch Trades und muss dann runterzählen......

 

Und unabhängig vom Ergebnis von Orderselect() fahren wir mit der Ausführung des nächsten Blocks fort.

LOL

 

Wie ich schon sagte, bin ich ein Neuling in der Programmierung, und dieser EA funktioniert/funktionierte, also habe ich versucht, ihn weiterzuentwickeln, und als ich ratlos war, bat ich in diesem Forum um Hilfe.

Netter Versuch, sich über meine Bemühungen lustig zu machen, ohne tatsächlich etwas zu sagen, was ich als Neuling gebrauchen kann. Ist das LOL, weil ich um Hilfe gebeten habe?

Ich will oder muss kein Kodierungsexperte werden, ich bin nur davon ausgegangen, dass eine höfliche Bitte um Hilfe bei der Lösung eines einfachen Fehlers (oder zwei) tatsächlich dazu führen würde, dass mir jemand sagt, wo im Code der Fehler liegt. Was deVries hier geschrieben hat, hilft mir in der Tat überhaupt nicht, da ich vielleicht jahrelang lernen/üben/experimentieren müsste, um überhaupt zu verstehen, was gesagt wurde.

Waren nicht alle von Ihnen einmal Neulinge und brauchten nur ein freundliches Wort der Unterstützung, um einfache Codes zum Laufen zu bringen? Bitte!

 
unclebigpete:


Waren nicht alle von Ihnen einmal Neulinge und brauchten nur ein freundliches Wort der Unterstützung, um einfache Codes zum Laufen zu bringen? Bitte?

Ja, vor 4 Jahren ... bemühen Sie sich, etwas zu lernen ... Sie wollen vielleicht kein Experte sein, ich zähle mich selbst nicht dazu, aber um einen gut funktionierenden EA zu erstellen, MÜSSEN Sie lernen, richtig zu programmieren ... alternativ können Sie immer jemanden bitten, es für Sie zu tun: Jobs
 

Raptor, ICH BEMÜHLE MICH. Ich möchte nur einen funktionierenden EA, den ich weiterentwickeln kann, während ich lerne. Ich hatte diesen hier am Laufen, und dann habe ich etwas verändert, und jetzt funktioniert er nicht mehr. Ich habe über die Codierung gelesen, und ich habe nicht 4 oder mehr Jahre, um mich auf den neuesten Stand zu bringen. Nur ein wenig tatsächliche Hilfe bitte, denn was hier gesagt wurde, ist nicht viel Hilfe für mich.

Es ist ein bisschen so, als würde man lernen, eine Zigarette zu rauchen, wenn der Rat lautet: "Zünde sie an"!

 
unclebigpete:

Wie ich schon sagte, bin ich ein Neuling in der Programmierung, und dieser EA funktioniert/funktionierte, also habe ich versucht, ihn weiterzuentwickeln, und als ich nicht weiterkam, bat ich in diesem Forum um Hilfe.

Netter Versuch, sich über meine Bemühungen lustig zu machen, ohne tatsächlich etwas zu sagen, was ich als Neuling gebrauchen kann. Ist das LOL, weil ich um Hilfe gebeten habe?

Ich will oder muss kein Kodierungsexperte werden, ich bin nur davon ausgegangen, dass eine höfliche Bitte um Hilfe bei der Lösung eines einfachen Fehlers (oder zwei) tatsächlich dazu führen würde, dass mir jemand sagt, wo im Code der Fehler liegt. Was deVries hier geschrieben hat, hilft mir in der Tat überhaupt nicht, da ich vielleicht jahrelang lernen/üben/experimentieren müsste, um überhaupt zu verstehen, was gesagt wurde.

Waren nicht alle von Ihnen einmal Neulinge und brauchten nur ein freundliches Wort der Unterstützung, um einfache Codes zum Laufen zu bringen? Bitte?


"Es dauert lange, bis ich sehe, ob meine Korrekturen das Problem beheben, und ich bin frustriert" - Zitat von Ihnen

Das ist das Problem, das Sie haben. Sie verwenden einen "Expert Advisor Builder" (der einen schlechten Weg codiert....), um Ihre EAs zu erstellen.

Wenn dieses Programm Ihre miesen EAs erstellt, dann haben Sie nicht das Wissen erlernt, um zu erkennen, was mit der Kodierung falsch ist.

Wenn Sie selbst anfangen, EAs ohne automatische EA Builder zu erstellen

dann finden Sie die Probleme leichter, wenn Sie wissen, wo Sie zuerst hinschauen müssen

ob Sie die Programmzeilen von einem EA haben, der von Ihnen erstellt wurde oder nicht....

Und ja, es braucht Zeit, um zu lernen, aber wenn Sie selbst sehen können, was der Fehler ist, dann wird Ihre Frustration nicht so groß sein

Wer will schon Mist benutzen, STOPPEN SIE DEN EA BUILDER zu benutzen ....

 
unclebigpete:

Bitte nur ein wenig konkrete Hilfe,

OK, ein wenig Hilfe . . .

Suchen Sie diesen Teil in Ihrem Code und ändern Sie ihn in diesen...

//+------------------------------------------------------------------+
//| Variable End                                                     |
//+------------------------------------------------------------------+
//Check position                 
             bool IsTrade = False;
             for(int i = Total -1; i >= 0; i --) 
               {                       
               if( OrderSelect(i, SELECT_BY_POS, MODE_TRADES) &&
                  OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 

Das prüft nicht die Magic Number . . Sie müssen das hinzufügen, wenn Sie manuelle Orders auf den gleichen Paaren platzieren wollen oder wenn Sie auf verschiedenen Zeitrahmen auf dem gleichen Paar zur gleichen Zeit laufen wollen . . tun Sie das?

Bars ist nicht zuverlässig, es ist eine schlechte Idee, Bars zu verwenden ... Sie sollten stattdessen Time verwenden.

Ihr Slippage ist nicht für 4/5-stellige Broker angepasst . . noch ist Ihr TP oder SL.

Wenn Sie Ihren SL zu klein wählen, erhalten Sie den Fehler 130, weil Sie nicht überprüfen, ob er zu nahe ist oder den Spread berücksichtigt.

Ist Ihr Broker ein ECN-Broker? Sie können SL & oder TP nicht einstellen, wenn Sie eine Market-Order bei einem ECN-Broker aufgeben, Sie müssen eine OredrModify() codieren, um den SL & oder TP hinzuzufügen, nachdem die Order aufgegeben wurde...

Soll ich weitermachen? Das ist BASIS-Zeug... diese Punkte kommen in diesem Forum tagtäglich zur Sprache...

Und Sie verstehen nicht viel davon, weil Sie nicht wirklich etwas programmiert haben . . . Sie haben den Code von jemand anderem benutzt . . " Expert Advisor Builder". Es gibt nur eine Abkürzung: Jobs

 
unclebigpete 2012.05.22 10:19

Wie ich schon sagte, bin ich ein Neuling in der Programmierung, und dieser EA funktioniert/funktionierte, also habe ich versucht, ihn weiterzuentwickeln, und als ich nicht weiterkam, bat ich in diesem Forum um Hilfe.

Netter Versuch, sich über meine Bemühungen lustig zu machen, ohne tatsächlich etwas zu sagen, was ich als Neuling gebrauchen kann. Ist das LOL, weil ich um Hilfe gebeten habe?

Ich will oder muss kein Kodierungsexperte werden, ich bin nur davon ausgegangen, dass eine höfliche Bitte um Hilfe bei der Lösung eines einfachen Fehlers (oder zwei) tatsächlich dazu führen würde, dass mir jemand sagt, wo im Code der Fehler liegt. Was deVries hier geschrieben hat, hilft mir in der Tat überhaupt nicht, da ich vielleicht jahrelang lernen/üben/experimentieren müsste, um überhaupt zu verstehen, was gesagt wurde.

Waren nicht alle von Ihnen einmal Neulinge und brauchten nur ein freundliches Wort der Unterstützung, um einfache Codes zum Laufen zu bringen? Bitte!

Lieber unclebigpete,

ich entschuldige mich, wenn Sie sich beleidigt fühlen. Ich habe mich nicht über Sie lustig gemacht. Ich habe mich über den "Expert Advisor Builder" lustig gemacht und tue es immer noch . Ich war vor 4 Jahren ein Neuling und habe viele dumme Fragen gestellt - verdammt, ich lerne immer noch - einige Forumsteilnehmer hier korrigieren mich und meinen Code und ich akzeptiere es, ich lerne auch von den Codes anderer - fragen Sie RaptorUK danach - er hat mich letzten Sonntag korrigiert und die Sache mit dem Download der Geschichte.

Sagen Sie es auf diese Weise, wenn Ihr EA auf 4h Daten laufen, dann sind Sie wirklich zu warten haben. Ein voller Tag hat nur 6 Kerzen/Balken auf 4 Stunden. Eine andere Sache, Sie sagten, Sie haben den Handel für eine lange Zeit und ich nehme an, dass Sie den Handel manuell und ich nehme an, dass diese EA auf Sie Strategie basiert. Nun, ist nicht der manuelle Handel erfordern Geduld?, gleiche Sache mit diesem EA dann.

Sie sagten dies ...

unclebigpete 2012.05.22 10:52

Raptor, I AM MAKING AN EFFORT. Ich möchte nur einen funktionierenden EA, den ich weiter entwickeln kann, WIE ich lerne. Ich hatte dieses eine arbeiten, und dann zwickt etwas und es jetzt nicht. Ich habe über die Codierung gelesen, und ich habe nicht 4 oder mehr Jahre, um mich auf den neuesten Stand zu bringen. Nur ein wenig tatsächliche Hilfe bitte, denn was hier gesagt wurde, ist nicht viel Hilfe für mich.

Es ist ein bisschen so, als würde man lernen, eine Zigarette zu rauchen, und der Rat lautet: "Zünde sie an"!

Dann ist meine Frage: Welchen Teil davon haben Sie verändert? Jetzt bitten Sie uns, den Fehler zu finden und ihn zu beheben.

Ich schaue mir deinen Code später an, und btw, die .ex-Datei ist eine kompilierte Datei, die nicht hilfreich ist.

:)

 

Nehmen wir ein Beispiel dafür, warum "Ihr" Code schlecht ist. . . .

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket > 0) 
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...

   else                                 // <---  this else is in relation to the OrderSelect,  so when the OrderSelect fails the error stored in GetLastError is updated
      {
      Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error 0 and you will be scratching your head
      } // else 
   } // if(Ticket... 

Der gemeldete Fehler bezieht sich auf den OrderSelect, NICHT auf den OrderSend...

Es sollte wie folgt gemacht werden...

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket < 0) 
   {
   Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error that relates to the OrderSend
   } // if(Ticket... 

else                                 // <---  this else is in relation to the if(Ticket < 0)
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...
   } // else 
 
onewithzachy:

Lieber unclebigpete,

ich entschuldige mich, wenn du dich beleidigt fühlst. Ich habe mich nicht über Sie lustig gemacht. Ich habe mich über den "Expert Advisor Builder" lustig gemacht und tue es immer noch . Ich war vor 4 Jahren ein Neuling und habe viele dumme Fragen gestellt - verdammt, ich lerne immer noch - einige Forumsteilnehmer hier korrigieren mich und meinen Code und ich akzeptiere es, ich lerne auch von den Codes anderer - fragen Sie RaptorUK danach - er hat mich letzten Sonntag korrigiert und die Geschichte heruntergeladen.

Wir lernen alle noch ... und selbst wenn wir es nicht täten, wir sind alle Menschen und jeder von uns macht Fehler ... ich ganz besonders. Die einzige Person, die keine Fehler macht, ist die Person, die nichts tut.

Übrigens ... warum mit dem Testen des Codes warten . ...testen Sie ihn im Tester ...dem Strategietester. ;-)