[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 431

 
r772ra:
double iClose( string symbol, int timeframe, int shift)

Etwa so.

Herzlichen Dank!



 
extern double lot = 1;
extern double ts = 50; 
extern double sl = 50; 
extern double tp = 40;
extern double periodrsi = 30;
extern double hirsi = 80;
extern double lowrsi = 30;

int K=0;
int L=0;
 


int init()
  {
   return(0);
  }

 
int start()
  { 
    double r1 = iRSI(NULL,0,periodrsi,PRICE_CLOSE,1);


  

    static bool first = true;
    static int pre_OrdersTotal = 0;
    int _OrdersTotal = OrdersTotal();
    if ( first )
    {
        pre_OrdersTotal = _OrdersTotal;
        first = false;
        return(0);
    }
 
   
   
   
    if ( _OrdersTotal > pre_OrdersTotal ) 
{K=0;
L=0;}
    if ( _OrdersTotal < pre_OrdersTotal )
{K=0;
L=0;}
    pre_OrdersTotal = _OrdersTotal; 

if (r1>hirsi) K=1;
 {
 if ((K==1) && (r1<hirsi))

 { 
  L=(L+1);                        // набираем проходы вниз под hirsi

K=0;
 }
 }



 if(OrdersTotal()<1)

 {
 if((r1<hirsi) && (L==2))   //есть два прохода

 OrderSend(Symbol(),OP_SELL,lot,Bid,0,Ask+sl*Point,Bid-tp*Point,"Easiest ever",0,0);
Hallo Freunde! Bitte empfehlen Sie eine solche Funktion, die die folgende Bedingung zu diesem Code hinzufügen würde. Das Geschäft wird nur eröffnet, wenn rsi zwei Abwärtsdurchläufe während n-Anzahl von Balken gemacht hat. d.h. wenn rsi zwei Abwärtsdurchläufe während 30 Balken gemacht hat, dann öffnen wir einen Auftrag, ich kann es nicht herausfinden) Ich bin ein Anfänger)
 
TemirKhan:
Hallo Freunde! Schlagen Sie eine Funktion vor, die die folgende Bedingung zu diesem Code hinzufügen würde. Wenn rsi hat zwei Abwärts-Passagen während n-Anzahl von Bars. dh wenn rsi hat zwei Abwärts-Passagen während 30 Bars dann öffnen, um, ich kann nicht herausfinden, es).


Sie starten den Zähler. Wenn Sie dann die Historie durchlaufen, wird nach der Bedingung gezählt: "Wenn er nach unten kreuzt, kommt einer auf den Zähler... "usw.

Lernen Sie und nehmen Sie sich Zeit, dann wird es schon klappen!

 
hoz:


Sie starten den Zähler. Wenn Sie es dann durch die Historie laufen lassen, zählt es nach der Bedingung: "Wenn sie nach unten kreuzt, addiere einen zum Zähler... " usw.

Lernen Sie und nehmen Sie sich Zeit, dann wird es schon klappen!


Es gibt also einen Kreuzungszähler, da ist er:
if (r1>hirsi) K=1;
 {
 if ((K==1) && (r1<hirsi))

 { 
  L=(L+1);                        // набираем проходы вниз под hirsi

K=0;
 }
 }
jetzt brauchen wir einen Taktzähler, aber wie?)), damit L nur dann den Wert "2" erhält, wenn die Überkreuzungen innerhalb von 30 Takten stattfinden
 

Ich begann zu denken. Ich habe mir Kims Funktion angesehen, um meine Zweifel zu zerstreuen... und meine Argumente wurden bestätigt. Aus irgendeinem Grund erfolgt die Überprüfung des "Free Trade Flow" nur bei Eröffnung и Schließen Bestellungen... Und wenn Änderungen (Anfangseinstellung von SL und TP), bei traale und bei der Übertragung einer Stelle an Breakeven es gibt keine Kontrolle. Warum? Schließlich wird in beiden Fällen der Server angerufen!

Denn wenn der Trader dann genommen wird, setzt der Expert Advisor logischerweise keine Stops und unternimmt auch sonst nichts mit der Position. Das kann ich nicht verstehen.

 
hoz:

Ich begann zu denken. Ich schaute mir Kims Funktion an, um meine Zweifel zu zerstreuen... und meine Überlegungen wurden bestätigt. Aus irgendeinem Grund erfolgt die Überprüfung des "Free Trade Flow" nur bei Eröffnung и Schließen Bestellungen... Und wenn Änderungen (Anfangseinstellung von SL und TP), bei traale und bei der Übertragung einer Stelle an Breakeven es gibt keine Kontrolle. Warum? Schließlich wird in beiden Fällen der Server angerufen!

Denn wenn der Trader dann genommen wird, setzt der Expert Advisor logischerweise keine Stops und tut auch sonst nichts an der Position. Das kann ich nicht verstehen.


Keine große Sache. Setzen Sie ihn auf den nächsten Tick
 
Vinin:

Das ist keine große Sache. Wird beim nächsten Ticken eingestellt

Warum also in diesem Fall beim Öffnen oder Schließen prüfen? Sie wird beim nächsten Ticken ebenfalls eingestellt :) Immerhin kann es eine große Rolle für einen Scalper spielen...
 
hoz:

Warum also in diesem Fall beim Öffnen oder Schließen prüfen? Wird auch auf den nächsten Tick eingestellt :) Schließlich kann sie für einen Scalper eine große Rolle spielen...

Es liegt also alles in Ihrer Hand. Es wird also geschehen. Manche machen das so.
 

Ich habe noch einmal in der Referenz nachgesehen und die Zeilen hier noch einmal gelesen:

https://docs.mql4.com/ru/basis/preprosessor/import

Для импорта функций во время выполнения mql4-программы используется так называемое позднее связывание. Это значит, что пока не вызвана импортируемая функция, соответствующий модуль (ex4 или dll) не загружается.

Ich meine, damit die Bibliothek geladen wird, sollte sie im Code nach den Importzeilen aufgerufen werden, richtig?

Ich habe es zum Beispiel so gemacht:

#import "hoz_Base@Library.ex4"
   double ND(double A);
   double Get_TradePrice(int fi_priceId,       // Цена: 0 - Ask; 1 - Bid
                      string fs_symbol);

1. Es stellt sich heraus, dass wir Funktionen deklarieren. die wir im Expert Advisor ganz am Anfang des Codes des Expert Advisors verwenden werden?

2. und nicht zu deklarieren sie eine Menge in den Code des Expert Advisor selbst und verwenden Header-Dateien? D.h. nur für Erklärungen?

Diese Frage kam auf, weil ich solche Expert Advisors gesehen habe, die von recht seriösen Programmierern geschrieben wurden, aber ihre Header-Dateien enthalten alle Haupt- und Nicht-Hauptfunktionen. Das hat mich überrascht... Der Grund dafür ist, dass die Geschwindigkeit der kompilierten Bibliotheken viel schneller ist, außerdem ist der Code der Bibliotheksfunktionen "isoliert", was ebenfalls sehr praktisch ist.

 
Guten Morgen, ich bin zum ersten Mal hier und bitte um Entschuldigung, ich habe diesen Thread nicht gesehen und einen neuen erstellt, ich brauche wirklich die Meinung von Fachleuten!

https://www.mql5.com/ru/forum/145453