Interessante Sicht auf die PLO - Seite 13

 
Dmitry Fedoseev:

Ausführlich! Ich kann nicht mehr hinzufügen ))

Sarkasmus ist verständlich, aber dennoch - dies ist ein grundlegender Unterschied und alle anderen sind Folgen davon. Zum Beispiel das Fehlen von Variablen in einem reinen FP, deren Werte geändert werden können.

 
Dmitry Fedoseev:
Und wie unterscheidet sich diese OP grundlegend von der Verwendung von Zeigern auf Funktionen?

Die Zuweisung ist im FP verboten. Objekte können nur erstellt und kopiert werden.

 
Vasiliy Sokolov:

Die Zuweisung ist im FP verboten. Objekte können nur erstellt und kopiert werden.

nun, zumindest etwas begann zu werden klar, von Seite 13 der Diskussion - sah mehrere Video-Tutorials auf youtube, nur plappern über einige hohe Kunst in Form von FP))


ZS: Wenn Sie einen Artikel geschrieben hätten, denke ich, es wäre nützlich für "unreife Köpfe", der Stil der Präsentation in Ihren Artikeln verdient Respekt (gut, ich mag Ihre Artikel, wenn nicht erfinden ))). ), müssen natürlich mit den Admins übereinstimmen

 
Vasiliy Sokolov:

Die Zuweisung ist im FP verboten. Objekte können nur erstellt und kopiert werden.

Wenn Sie das nicht können, aber wirklich wollen, können Sie es tun) Sie müssen nur mit Monaden umgehen)

 
Igor Makanu:

SZS: wenn Sie einen Artikel geschrieben haben, denke ich, es wäre nützlich für "unreife Köpfe", der Stil der Präsentation in Ihren Artikeln verdient Respekt (gut, oder ich mag Ihre Artikel, wenn Sie es nicht machen ))) ), müssen wir natürlich mit den Admins übereinstimmen.

Leider kann ich das nicht. Zunächst einmal weiß ich nicht viel über FP, sondern nur die Grundlagen. Zweitens sind MMS und RP unterschiedliche Welten. Es gibt keine Rechtfertigung dafür, FP als praktisches Material für MMS zu tarnen.

 
Vasiliy Sokolov:

Zweitens sind MMS und RP unterschiedliche Welten. Es gibt keine Rechtfertigung dafür, FP als praktisches MMS-Material zu tarnen.

Schreiben Sie einen Artikel darüber, wie man haskell dll mit mt. Und erklären Sie, dass fp sicher ist und was Sie zur Finanzierung brauchen.

 
Nun, ein paar weitere Thesen zum FP:
  • In FP ist die Zuordnung verboten. Objekte können nur erstellt und kopiert werden.
  • Reine Funktionen. Wenn f(a, b) = c. Wenn also a und b gleich sind, wird das Ergebnis von f immer gleich sein. Dann können wir dieMemoisierung nutzen: Das Ergebnis einer Funktion wird einmal berechnet und dann einfach über den Schlüssel aus den Argumenten abgerufen.
  • Tragen. Wenn es eine Funktion f(a,b) gibt, kann sie als f(a) -> f(b) dargestellt werden (eine Funktion, die ein Argument a annimmt und eine andere Funktion zurückgibt, die ein Argument b annimmt:
    public static Action<string> GreetingCarry(string g)
    {
        Action<string> pn = (b) => Console.WriteLine(g + " " + b);
        return pn;
    }
    
    var printGreetingAndName = GreetingCarry("Hello");
    printGreetingAndName("Ivan");
    printGreetingAndName("Sergey");
    
    >> Hello Ivan
    >> Hello Sergey
  • Stapeloperationen. Wenn die Zuordnung verboten ist, findet kein Referenzaustausch statt. Daher werden die Objekte direkt auf dem Stack zugewiesen und sind somit thread-sicher. Es findet kein Referenzaustausch von Objekten auf dem Heap statt (Zuweisung ist verboten). Daher wird der Zugriff auf ein Objekt auf dem Heap auch monopolistisch von einem einzigen Thread aus durchgeführt. Daher ist der Objektzugriff "out of the box" thread-sicher.
 
Rorschach:

Schreiben Sie einen Artikel darüber, wie man haskell dll mit mt. Und erklären Sie, dass fp sicher ist und was Sie zur Finanzierung brauchen.

Warum sich die Mühe machen - setzen Sie Lisp einfach in MQL ein :-)

Es ist cool, dass es nicht viel Code in der Lisp-Dialekt-Implementierung gibt ... es ist klein

Nur die praktische Bedeutung dieser Maßnahme wird nicht angesprochen. Was grundsätzlich auf die Macht und Relevanz der RP in diesem Bereich hinweist
 
Maxim Kuznetsov:

warum die Mühe - Lisp zu MQL auf einmal :-)

Es ist cool, dass es nicht viel Code in der Lisp-Dialekt-Implementierung gibt... sie ist klein

Nur die praktische Bedeutung dieser Aktion wird nicht gesehen. Was im Prinzip auf die Macht und Relevanz der RP in diesem Bereich anspielt

Clojure dann

Ich habe angefangen, nach Sprachen mit mehr Ausdrucksmöglichkeiten zu suchen, um weniger auf der Tastatur herumzutrampeln. Dieser war sogar noch kürzer als Python. Es hat eine auf .net basierende Version, und die nicht-neuen Bibeln sind in 1 Zug mit mt verbunden.
 
Apropos seltsamer Schreibstil. Ich bin auf meinen eigenen Code mit dieser Wendung gestoßen.
// Определение Offset-параметра в ЛК.
int GetOffset()
{
  const double Price = NormalizeDouble(Ask / 2, _Digits);
  const double Lots = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
  
  const TICKET_TYPE Ticket = OrderSend(_Symbol, OP_BUYLIMIT, Lots, Price, 0, 0, 0, "RannForex LimitOffset Detected");
  
  return((Ticket > 0) && OrderSelect(Ticket, SELECT_BY_TICKET) ?
         (int)((OrderOpenPrice() - Price) / _Point + OrderDelete(OrderTicket()) * 0.1) : 0);
}