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

 

Sie müssen das Preisdiagramm normalisieren, ein beliebiges Währungspaar Ihrer Wahl. Ich brauche sie für einen Indikator. Ich habe versucht, den aktuellen Wert durch den vorherigen zu dividieren - ich erhalte eine Art Oszillator um 1. Ich bin auf die Idee gekommen, das Diagramm von absoluten in relative Werte umzuwandeln, d.h. in diesem Fall kann ich die prozentuale Veränderung des Kurses sehen. Sie wurde bereits umgesetzt. Es ist bereits besser und praktisch das, was wir brauchen. Letztendlich möchte ich jedoch die Kurse im Bereich [0:1] normalisieren.Übrigens, hier ist, was ich brauche, aber in bürgerlicher Sprache - ich möchte das gleiche in russischer Sprache: http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html

Ich habe es schon satt, damit zu kämpfen. Normalerweise kann ich nicht alle ausstehenden Aufträge löschen, ich komme einfach nicht damit klar:

   for (int i=OrdersTotal()-1;i>=0;i--)
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if (OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT)
            if (OrderMagicNumber()==Magik && OrderSymbol()==Symbol())
            while(!OrderDelete(OrderTicket(),CLR_NONE)){}

Ich habe sogar der Schleife FOR WHILE hinzugefügt, dass die gelöschten Aufträge noch da sind, aber ich habe sie immer noch nicht gelöscht. Ich habe viele ausstehende Aufträge zu löschen, d.h. etwa 20, vielleicht ist es etwas kompliziert?

 
Sergstuddek:
Bitte beraten Sie, wie man mit Arrays arbeiten, ich brauche, um die maximalen und minimalen Werte der Schließung und Öffnung der Bar, in dem Zeitintervall von 1,00 bis 10,00 wählen, habe ich versucht, dies zu tun, aber es ist nicht richtig. Er gibt '[' aus - der Array-Index muss eine ganze Zahl sein C:\Program Files\InstaTrader\experts\Probase19 EUR-JPY.mq4 (61, 21)
Was ist falsch, wie kann man es beheben?

Die Warnung bedeutet, dass der Array-Index eine Zahl vom Typ int sein muss. Sie müssen iClose() und iOpen() verwenden. Bestimmen Sie die Nummer des Balkens, dessen Öffnungszeit 1 Stunde beträgt, und wählen Sie im Zyklus aus den nächsten 10 Balken die gewünschten aus.


 
Ekburg:

Ich habe zu diesem Zweck Drucker eingesetzt, damit ich während des Tests nachvollziehen kann, welche Werte an die Änderungsfunktion gesendet werden, dort ist alles normal, der Stop ist anders, es wird nichts extra geworfen, alles ist innerhalb der vom Server erlaubten Grenzen, und die Gegner im obigen Code erlauben es nicht, die gleichen Werte zu senden.

Ich weiß es nicht. Bei mir, nachdem ich die Prüfung direkt vor OrderModify() nach OrderSelect() gesetzt habe, hat Fehler 1 aufgehört zu geben, und auch früher hat ständig geblitzt.
 
rigonich:

Die Warnung bedeutet, dass der Array-Index eine Zahl vom Typ int sein muss. Sie müssen die Funktionen iClose() und iOpen() verwenden. Bestimmen Sie die Nummer des Taktes, dessen Öffnungszeit 1 h beträgt, und wählen Sie in der Schleife aus den nächsten 10 Takten die gewünschten aus.
Vielen Dank für die Antwort. Theoretisch verstehe ich, was Sie sagen wollen, aber um ehrlich zu sein, kann ich nicht herausfinden, wie man es in der Praxis zu tun, vielleicht haben Sie ein Beispiel.
 
Desead:

Sie müssen das Preisdiagramm normalisieren, ein beliebiges Währungspaar Ihrer Wahl. Ich brauche es für einen Indikator. Ich habe versucht, den aktuellen Wert durch den vorherigen zu dividieren - ich erhalte eine Art Oszillator um 1. Ich bin auf die Idee gekommen, das Diagramm von absoluten in relative Werte umzuwandeln, d.h. in diesem Fall kann ich die prozentuale Veränderung des Kurses sehen. Sie wurde bereits umgesetzt. Sie ist bereits besser und praktisch das, was wir brauchen. Letztendlich möchte ich jedoch die Kurse im Bereich [0:1] normalisieren.Übrigens, hier ist, was ich brauche, aber in bürgerlicher Sprache - ich möchte das gleiche in russischer Sprache: http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html

Ich habe es schon satt, damit zu kämpfen. Normalerweise kann ich nicht alle ausstehenden Aufträge löschen, ich komme einfach nicht damit zurecht:

Ich habe sogar der Schleife FOR WHILE hinzugefügt, dass die gelöschten Aufträge noch da sind, aber ich habe sie immer noch nicht gelöscht. Ich habe viele ausstehende Aufträge zu löschen, d.h. etwa 20, vielleicht ist es etwas kompliziert?


zu Ihrer ersten Frage - sehen Sie sich die stochastischen
 
Desead:

Sie müssen das Preisdiagramm normalisieren, ein beliebiges Währungspaar Ihrer Wahl. Ich brauche sie für einen Indikator. Ich habe versucht, den aktuellen Wert durch den vorherigen zu dividieren - ich erhalte eine Art Oszillator um 1. Ich bin auf die Idee gekommen, das Diagramm von absoluten in relative Werte umzuwandeln, d.h. in diesem Fall kann ich die prozentuale Veränderung des Kurses sehen. Sie wurde bereits umgesetzt. Sie ist bereits besser und praktisch das, was wir brauchen. Letztendlich möchte ich jedoch die Kurse im Bereich [0:1] normalisieren.Übrigens, hier ist, was ich brauche, aber in bürgerlicher Sprache - ich möchte das gleiche in russischer Sprache: http://people.revoledu.com/kardi/tutorial/Similarity/Normalization.html

Ich habe es schon satt, damit zu kämpfen. Normalerweise kann ich nicht alle ausstehenden Aufträge löschen, ich komme einfach nicht damit zurecht:

Ich habe sogar der Schleife FOR WHILE hinzugefügt, dass die gelöschten Aufträge noch da sind, aber ich habe sie immer noch nicht gelöscht. Ich habe viele ausstehende Aufträge zu löschen, d.h. etwa 20, vielleicht ist es etwas kompliziert?


Ich habe bereits versucht, alle ausstehenden Aufträge auf die gleiche Weise zu löschen, aber ich möchte es nicht anders machen. Wenn jemand weiß, warum, kann er mir das sagen?
 
Sergstuddek:
Menschen freundlich beraten, wie man mit Arrays arbeiten, ich brauche, um die maximalen und minimalen Werte der Schließung und Eröffnung der Bar, in dem Zeitintervall von 1,00 bis 10,00 zu wählen, habe ich versucht, dies zu tun, aber das ist es nicht. Er gibt '[' aus - der Array-Index muss eine ganze Zahl sein C:\Program Files\InstaTrader\experts\Profiler19 EUR-JPY.mq4 (61, 21)
Was falsch ist, wie man es behebt

Ich habe sie folgendermaßen umgestaltet

int MAX()
{
if (Hour()==10)
        {
      
        for(i=0; i<=9; i++)
        double MAX1 = High [iHighest(Symbol(), PERIOD_H1,MODE_CLOSE,i,0)];
        }
        return(MAX1);
        
}

Ich bekomme keine Fehler, aber der Preis funktioniert nicht, oder besser gesagt, er funktioniert nicht richtig, wo liegt das Problem?

 
Sergstuddek:

Ich habe sie wie folgt umgestaltet

Er gibt keine Fehler mehr aus, aber er erkennt den Preis nicht, bzw. er erkennt ihn, aber nicht richtig, wo liegt das Problem?

Es sucht den Bar-Index mit dem höchsten Preis in den letzten 9 Bars, vorausgesetzt, dass Sie das Programm um 10 Uhr starten. Hour() ist die Startzeit des Programms (Serverzeit).

P.S. Genauer gesagt, nicht der Index, sondern der Höchstkurs (High) des betreffenden Balkens.

Dateien:
 

Bitte helfen Sie, sobald ich andere sl und tp setzen funktioniert nicht kaufen, öffnet das Los nur mit dem Verkauf.

#define MAGIC 1234
#define IDENT "mo_bidir"

extern int lots = 1;
extern int stop_loss = 76; //
extern int take_profit = 750; //
extern int steps = 5;// Шаг отложенных ордеров

int start(){

if (OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Blue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Bid + take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
OrderSend(Symbol(), OP_BUYSTOP, 0.05*lots,Ask+steps*Point, 3, Ask + stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Blue);
OrderSend(Symbol(), OP_SELLSTOP, 0.05*lots,Bid-steps*Point, 3, Bid - take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
}
return(0);
} 
 
samaelfess:

Bitte helfen Sie, sobald ich die anderen sl und tp setzen funktioniert nicht kaufen, öffnet das Los nur mit dem Verkauf.



Sie haben Bid + stop_loss anstelle von Bid + take_profit. Und in Pending für OP_BUYSTOP Ask + stop_loss, stattAsk - stop_loss und für OP_SELLSTOP -- Bid - take_profit, statt Bid + take_profit.

Und alle Preise sind nicht normalisiert.

P.S. Ich frage mich, ob es auch ohne andere sl und tp funktioniert?

Grund der Beschwerde: