Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 473

 

Für diejenigen, die noch am numer.ai-Wettbewerb teilnehmen -

Dort wurde einmal eine eigene Kryptowährung (NMR) eingeführt, die zunächst an aktive Wettbewerbsteilnehmer ausgegeben wurde, und dann begann man, sie zusammen mit Dollars für den Gewinn auszugeben. Jetzt können NMR vom Wettbewerbskonto abgehoben und durch Wechsler in gewöhnliches Geld umgewandelt werden.

Hier ist der Wechselkurs zum Dollar, zum Beispielhttps://www.cryptonator.com/rates/NMR-USD, gar nicht schlecht.
https://bittrex.com/Market/Index?MarketName=BTC-NMR

 
Ich habe irgendwo gefragt, aber ich habe es vergessen: Wie können wir verschiedene Währungspaare mit unterschiedlichen Preisen auf eine einzige Skala bringen, die es uns ermöglichen würde, einige BPs zu anderen zu addieren, zu subtrahieren usw.)?
 
mytarmailS:
Ich habe irgendwo gefragt, aber ich habe es vergessen: Wie kann ich verschiedene Währungspaare mit unterschiedlichen Preisen auf eine einzige Skala normalisieren, die es mir ermöglicht, zu anderen VRs zu addieren, zu subtrahieren usw. Weil ich 101 kluge Ideen habe und zum 101. Mal feststelle, dass es nicht funktioniert.)

Variable Normalisierung oder Normalisierung

 
mytarmailS:
Ich glaube, ich habe schon irgendwo gefragt, aber ich habe es vergessen, wie kann ich verschiedene Währungspaare mit unterschiedlichen Preisen auf die gleiche Skala bringen, so dass ich einen BP zum anderen addieren, subtrahieren usw. kann, denn ich habe 101 schlaue Ideen und muss zum 101. Mal feststellen, dass sie nicht funktionieren)
Mehrfachregression
 

Brüder!!! Hallo zusammen.... Ich habe beschlossen, auf MQL5 zu migrieren, also bitte helfen Sie mir mit Code in einigen Aspekten... Es dauert zu lange, bis ich eine Antwort vom Support bekomme... darf nicht antworten...

Ich habe einen neuen Indikator erstellt, aber er gibt keinen Wert der Variablen aus... Wie kann ich das erklären?

Dateien:
ChekParam.mq5  11 kb
 

Helfen Sie mir, mich daran zu erinnern, wie man das macht ...

Es gibt etwa 6 Werkzeuge in einem Li Sheet

head(li[[1]])
    ticker per     date   time  open  high   low close   vol
1 SPFB.RTS   5 20160104 100500 75390 76320 75250 76000 14319
2 SPFB.RTS   5 20160104 101000 76000 76030 75790 75900  4818
3 SPFB.RTS   5 20160104 101500 75920 76050 75850 75970  2947
4 SPFB.RTS   5 20160104 102000 75970 76120 75900 76080  2415
5 SPFB.RTS   5 20160104 102500 76080 76140 75870 75920  2347
6 SPFB.RTS   5 20160104 103000 75910 76010 75580 75640  3787
> head(li[[2]])
   ticker per     date   time  open  high   low close   vol
1 SPFB.BR   5 20160104 100500 36.67 38.20 36.67 37.63 40185
2 SPFB.BR   5 20160104 101000 37.63 37.64 37.58 37.61  5914
3 SPFB.BR   5 20160104 101500 37.62 37.63 37.56 37.61  5103
4 SPFB.BR   5 20160104 102000 37.62 37.77 37.62 37.73 13513
5 SPFB.BR   5 20160104 102500 37.74 37.78 37.59 37.60  5061
6 SPFB.BR   5 20160104 103000 37.60 37.66 37.48 37.53  6239
> head(li[[3]])
     ticker per     date   time  open  high   low close  vol
1 SPFB.GAZR   5 20160104 100500 13912 13943 13850 13936 4712
2 SPFB.GAZR   5 20160104 101000 13936 13943 13917 13937 1180
3 SPFB.GAZR   5 20160104 101500 13934 13937 13921 13926 1298
4 SPFB.GAZR   5 20160104 102000 13931 13938 13925 13934  294
5 SPFB.GAZR   5 20160104 102500 13935 13941 13927 13927  540
6 SPFB.GAZR   5 20160104 103000 13931 13934 13889 13896  704

Wie kann ich die Daten aus allen Werkzeugen entfernen und nur die Daten und Zeiten belassen, die in allen Werkzeugen vorhanden sind, um es einfach auszudrücken und alle diese Datenrahmen zu synchronisieren?

 
Mihail Marchukajtes:

Brüder!!! Hallo zusammen.... Ich habe beschlossen, auf MQL5 zu migrieren, so bitte helfen Sie mir mit Code in einigen Aspekten... Es dauert zu lange, bis ich eine Antwort vom Support-Team erhalte... vielleicht nicht einmal antworten...

Ich habe diesen Code erstellt und er gibt den Wert der Variablen nicht aus... Kann mir jemand sagen, was zu tun ist?


1. Sie wissen nicht, welchen Wert Sie ausgeben wollen.

2. Der benutzerdefinierte Indikator wird nicht korrekt aufgerufen - lesen Sie über die Besonderheiten von iCustom in MT5.

 
mytarmailS:

Helfen Sie mir, mich daran zu erinnern, wie man das macht ...

Es gibt etwa 6 Werkzeuge in einem Li Sheet

Wie kann ich Datums- und Zeitangaben aus allen Werkzeugen entfernen und nur diejenigen übrig lassen, die in allen Werkzeugen vorhanden sind?

Ich habe es so gemacht: Ich habe eine neue Spalte erstellt, in der ich Datum und Uhrzeit zusammengeführt habe, und dann nach dem Zusammentreffen solcher Werte in verschiedenen Tabellen gesucht.
liSynchronized <- li
#создание  новой колонки по которой будут сравниваться значения разных таблиц
for(i in 1:length(liSynchronized)){
  liSynchronized[[i]]$datetime <- paste0(liSynchronized[[i]]$date, liSynchronized[[i]]$time)
}

while(TRUE){
  somethingChanged <- FALSE
  for(i in 1:length(liSynchronized)){
    syncIndexes <- rep(TRUE, nrow(liSynchronized[[i]]))
    for(j in (1:length(liSynchronized))[-i]){
      syncIndexes <- syncIndexes & (liSynchronized[[i]]$datetime %in% liSynchronized[[j]]$datetime)
    }
    if(!all(syncIndexes)){
      somethingChanged <- TRUE
    }
    liSynchronized[[i]] <- liSynchronized[[i]][syncIndexes, ]
  }
  if(!somethingChanged){
    break
  }
}

Außerdem führen verworfene Balken zu Fehlern in den ohlc-Werten, d. h. der Balken schloss zu einem Preis, und aufgrund des gelöschten Balkens wird der nächste in der Tabelle zu einem anderen Preis geöffnet, und der Höchst- und Tiefstwert des gelöschten Balkens geht verloren. Der Höchst-, Tiefst- und Schlussstand des zuvor gelöschten Balkens sollte mit dem vorherigen, nicht gelöschten Balken verglichen und bei Bedarf aktualisiert werden.
Ich habe nur mit offenen Preisen gearbeitet, also habe ich mich nicht so sehr darum gekümmert.

 
Aleksey Vyazmikin:

1. Es ist nicht klar, welchen Wert der Variablen Sie ausgeben wollen.

2. Der benutzerdefinierte Indikator wird im Code nicht korrekt aufgerufen - lesen Sie über die Besonderheiten von iCustom in MT5.


Ähm ... ähm... Was meinen Sie, wie diese Informationen mir geholfen haben????, wenn ich die Hilfe bereits gelesen habe und ein wenig verwirrt bin....

 
Mihail Marchukajtes:

Ähm ... Ähm ... und was meinen Sie, wie diese Informationen mir geholfen haben????, wenn ich die Hilfe bereits gelesen habe und ein wenig verwirrt bin....


Nun, wie können Sie helfen, wenn Sie nicht geantwortet haben - welche Art von Variablen müssen Sie anrufen?

Und für iCustom müssen Sie einen Hendel erstellen - d.h. ihn an eine Variable binden.

In meinem Expert Advisor mache ich das ungefähr so (das Prinzip ist das gleiche in einem Indikator ...)

//Хендали - мать их
int handle_iMomentum;

int OnInit()
  {
//Хендаль объявляем iMomentum
   handle_iMomentum=iMomentum(Symbol(),0,100,0);
   if(handle_iMomentum==INVALID_HANDLE)
     {
      PrintFormat("Failed to create handle of the iMomentum indicator for the symbol %s/%s, error code %d",
                  Symbol(),EnumToString(Period()),GetLastError());
      return(INIT_FAILED);
     }

   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
double Momentum=Momentumf(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Momentumf(const int index)
  {
   double MA[1];
   ResetLastError();
   if(CopyBuffer(handle_iMomentum,0,index,1,MA)<0)
     {
      PrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError());
      return(0.0);
     }
   return(MA[0]);
  }