[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 362

 
Hm, kann mir jemand helfen?
 
Chiripaha:

Hier, nur in Code von Pr0t0tip (gut, und Spitzname - wurde müde, um neu zu tippen : )) ) Diese Variablen extern int sl=100; (usw.) werden abgebildet. Sie müssen also eine Variable deklarieren, dann erscheint sie in den Eulen-Einstellungen, und ihr Wert kann geändert und optimiert werden.

Das weiß ich, aber externe Variablen funktionieren nicht innerhalb einer Benutzerfunktion. sie deklarieren ihre eigenen Variablen. das ist das Problem.

Und ich kann die Funktion nicht loswerden. Es gibt eine Änderung von order....

 
solnce600:
Und darüber gibt es nur START und NICHTS anderes

Ahhhhhhhh - jetzt geht's los... Ich habe sie an die falsche Stelle gesetzt - ich hätte eine Variable hinter eine Klammer setzen sollen:

int start()
  {
   bool have = true;

   for(int i=0;i<10;i++)
     {
      if(Low[i]<=Low[i+1])
       {
        have=false; 
        break;
       } 
     } 

   if(have)
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 
    }

   return(0);
  }

Und es gab noch weitere unten und eine weitere geschweifte Klammer. Sie haben sich nicht an die Seitenränder und die einheitliche Schreibstruktur (Stil) gehalten. Wenn Sie alles richtig schreiben, sind alle Fehler (Ungereimtheiten) sichtbar. Seien Sie beim Schreiben von Code vorsichtig. - Es sollte nicht fluchen.

 

Das ist seltsam. Ich erhalte diesen Fehler von Ihrem Code

'bool' - Semikolon erwartet C:\Dokumente und Einstellungen\User\Meine Dokumente\FxClub\TeleTRADE\experts\dot.mq4 (33, 4)

Eigentlich auf bool have = true;

 
Ganz genau. Oder es gab eine logische Wendung - sonst, oder - oder die Funktion beendet ihre Arbeit, indem sie eine Null ausgibt, oder was???
 
Chiripaha:

Ahhhhhhhh - da, gefunden... Falsche Stelle - ich hätte die Variable hinter die Klammer setzen sollen:

Und es gab noch weitere unten und eine weitere eckige Klammer. Sie schreiben, ohne die Ränder zu beachten. Wenn Sie alles richtig machen, werden alle Fehler (Ungereimtheiten) sofort sichtbar. Achten Sie darauf, wie Sie Ihren Code schreiben. - Es sollte kein Schimpfwort sein.


Vielen Dank...... was würde ich ohne Sie tun..... Gott segne Sie ..... und den Rest werden Sie von den Gewinnen kaufen....
 
lottamer:

Das weiß ich, aber externe Variablen funktionieren nicht innerhalb einer Benutzerfunktion. sie deklarieren ihre eigenen Variablen. das ist das Problem.

Und ich kann die Funktion nicht loswerden. Sie ändert die Reihenfolge....

Warum funktioniert es nicht? - Wenn Sie eine globale Variable in eine Benutzerfunktion aufnehmen, funktioniert sie so, wie sie darin deklariert ist. Aber die Daten der internen Variablen sind nur für diese Funktion sichtbar - außerdem ist ihre Wirkung begrenzt. Und die Werte der globalen(externen) Variablen sind für das gesamte Programm sichtbar. Das ist der Unterschied. Im Falle einer externen - wiederum externen - wird die Variable jedoch auch in den Einstellungen erscheinen. - Dies ist ein Lehrbuch. Lesen Sie es noch einmal, es hilft. : )) Wenn eine externe Variable deklariert wird, muss natürlich innerhalb der Funktion auf diese globale Variable verwiesen werden. Und achten Sie darauf, dass die Namen nicht identisch sind. Andernfalls werden Sie sowohl externe als auch interne Elemente mit demselben Namen deklarieren. - Sie können es zwar so machen, aber ich glaube, die Funktion nimmt den Wert der internen Variablen - ich weiß es nicht mehr genau. Hier müssen Sie ein Lehrbuch durchgehen. Machen Sie es selbst, wenn Sie experimentieren wollen. Ich gebe normalerweise verschiedene Namen, um Verwechslungen zu vermeiden, und das war's.
 
Chiripaha:
Warum funktioniert es nicht? - Wenn Sie eine globale Variable in eine benutzerdefinierte Funktion übernehmen, funktioniert sie genauso wie die darin deklarierte Variable. Die Daten der internen Variablen sind nur für diese Funktion sichtbar - außerdem ist ihre Wirkung begrenzt. Und die Werte der globalen(externen) Variablen sind für das gesamte Programm sichtbar. Das ist der Unterschied. Im Falle einer externen - wiederum externen - wird die Variable jedoch auch in den Einstellungen erscheinen. - Dies ist ein Lehrbuch. Lesen Sie es noch einmal, es hilft. : )) Wenn eine externe Variable deklariert wird, muss natürlich innerhalb der Funktion auf diese globale Variable verwiesen werden. Und achten Sie darauf, dass die Namen nicht identisch sind. Andernfalls werden Sie sowohl externe als auch interne Elemente mit demselben Namen deklarieren. - Sie können es zwar so machen, aber ich glaube, die Funktion nimmt den Wert der internen Variablen - ich weiß es nicht mehr genau. Hier müssen Sie ein Lehrbuch durchgehen. Machen Sie es selbst, wenn Sie experimentieren wollen. Ich gebe normalerweise verschiedene Namen, um Verwechslungen zu vermeiden, und das war's.


Vielen Dank...ich dachte, wenn das Innere nicht von außen sichtbar ist, dann ist das Äußere auch nicht von innen sichtbar...
 

Hallo. Ich habe einen einfachen EA geschrieben (ich versuche, ihn selbst zu lernen). Der Roboter eröffnet nur Geschäfte zum Verkauf, will aber nicht kaufen. Ich verstehe, dass ich die Kaufbedingungen nicht richtig geschrieben oder sie nicht richtig aufgeteilt habe. Ich bitte um Hilfe. Hier ist sie:

extern int tp=100;

extern int sl=100;

extern int H=14;

extern int M=00;

double ma1, ma2;

int start()

{

ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,",123,Red);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,",123,Red);

}

zurück (0);

 
Pr0t0tip:
Hm, kann mir jemand helfen?

Schauen wir uns das mal an - ich bin nicht sehr erfahren. Aber wir werden es versuchen... : ))

In der Zwischenzeit sollten Sie lernen, die Schaltfläche SRC zu verwenden - sie ermöglicht es Ihnen, den Code korrekt, schön und übersichtlich einzufügen. Für diejenigen, die Ihnen (jetzt und in Zukunft) helfen werden, wäre es einfacher, sie zu lesen. Sie könnten sich dabei die Augen brechen. : ))

Grund der Beschwerde: