Sunday 30 April 2017

Perl Moving Average Beispiel

Rrdgraphexamples Verschieben der Daten um eine Woche (604800 Sekunden) Wenn die spezialisierte Funktion RRAs für die anomale Verhaltensdetektion existieren, können sie dazu verwendet werden, das Diagramm einer Zeitreihe mit Vertrauensbändern und Ausfällen zu erzeugen. Dieses Beispiel erzeugt einen Graphen der Datenreihe in Blau (LINE2 mit der virtuellen Scaledobs-Datenquelle), Vertrauensschranken in Rot (skalierte und skalierte untere virtuelle Datenquellen) und potentielle Fehler (dh ein anomales aberrantes Verhalten) Die Fail-Datenquelle). Die Rohdaten stammen aus einem AVERAGE RRA. Die feinste Auflösung der beobachteten Zeitreihen (ein konsolidierter Datenpunkt pro Primärdatenpunkt). Die vorhergesagten (oder geglätteten) Werte werden im HWPREDICT RRA gespeichert. Die prognostizierten Abweichungen (think standard deviation) werden im DEVPREDICT RRA gespeichert. Schließlich enthält die FAILURES RRA Indikatoren, wobei 1 für einen möglichen Fehler steht. Alle Daten werden durch Multiplikation mit 8 zu Bits (anstelle von Octets) umskaliert. Die Vertrauensgrenzen werden durch einen Versatz von 2 Abweichungen sowohl oberhalb als auch unterhalb der vorhergesagten Werte (die CDEFs oben und unten) berechnet. Vertikale Linien, die potenzielle Ausfälle anzeigen, werden über das TICK-Graphenelement aufgezeichnet, das Nicht-Nullwerte in einem RRA in Tick-Markierungen umwandelt. Hier bedeutet ein Achsenbruch-Argument von 1.0, dass die Tick-Markierungen die gesamte y-Achse überspannen und somit zu vertikalen Linien auf dem Graphen werden. Die Wahl von 2 Abweichungen (ein Skalierungsfaktor) stimmt mit dem von der FAILURES RRA intern verwendeten Standard überein. Wenn der interne Wert geändert wird (siehe rrdtune), sollte dieser Graphikbefehl konsistent sein. Der Befehl rrdtool graph ist entworfen, um Daten mit einer bestimmten zeitlichen Auflösung zu zeichnen, ungeachtet der tatsächlichen Auflösung der Daten in der RRD-Datei. Dies kann ein Problem für die spezialisierten Konsolidierungsfunktionen darstellen, die eine Eins-zu-eins-Abbildung zwischen Primärdatenpunkten und konsolidierten Datenpunkten beibehalten. Wenn ein Graph darauf besteht, den Inhalt dieser RRAs auf einer gröberen Zeitskala anzusehen, versucht der Graph-Befehl etwas Intelligentes zu tun, aber die Vertrauensbänder und Fehler haben nicht mehr dieselbe Bedeutung und können irreführend sein. Rrdgraph gibt einen Überblick über die Funktionsweise von rrdtool. Rrdgraphdata beschreibt DEF, CDEF und VDEF im Detail. Rrdgraphrpn beschreibt die RPN-Sprache, die in den xDEF-Anweisungen verwendet wird. Die rrdgraphgraph-Seite beschreibt alle Graphen - und Druckfunktionen. Programm von Tobias Oetiker 60tobioetiker. ch62 Diese Handbuchseite von Alex van den Bogaerdt 60alexvandenbogaerdt. nl62 mit Korrekturen und / oder Ergänzungen von mehreren PersonenDieses Kapitel stellt Ihnen die Konzepte hinter Verweise auf Perl Module, Pakete und Klassen vor. Es zeigt auch, wie Sie ein paar Beispiel-Module zu erstellen. Ein Perl-Modul ist ein Satz von Perl-Code, der wie eine Bibliothek von Funktionsaufrufen wirkt. Der Begriff Modul in Perl ist gleichbedeutend mit dem Wortpaket. Pakete sind ein Merkmal von Perl 4, während Module in Perl 5 vorherrschen. Sie können alle Ihren wiederverwendbaren Perl-Code für eine Reihe von Aufgaben in einem Perl-Modul zu halten. Daher ist die gesamte Funktionalität eines Task-Typs in einer Datei enthalten. Es ist einfacher, eine Anwendung auf diese modularen Blöcke zu bauen. Daher gilt das Wort-Modul ein wenig mehr als Paket. Heres eine kurze Einführung in Module. Bestimmte Themen in diesem Abschnitt werden im Detail in den Rest des Buches behandelt werden. Lesen Sie die folgenden Abschnitte sorgfältig durch, um einen Überblick darüber zu erhalten, was beim Schreiben und Verwenden Ihrer eigenen Module liegt. Was ist verwirrend ist, dass die Begriffe Modul und Paket austauschbar in allen Perl-Dokumentation verwendet werden, und diese beiden Begriffe bedeuten die gleiche Sache. Also, wenn Sie Perl-Dokumente lesen, einfach thinkpackagequot, wenn Sie sehen, quotmodulequot und umgekehrt. Also, was ist die Voraussetzung für die Verwendung von Modulen Nun, Module gibt es zu verpacken (verzeihen die Wortspiel) Variablen, Symbole und miteinander verbundene Datenelemente zusammen. Zum Beispiel, mit globalen Variablen mit sehr häufigen Namen wie k. J Oder i in einem Programm ist in der Regel keine gute Idee. Auch ein Schleifenzähler, d. h. Sollte es erlaubt sein, selbstständig in zwei verschiedenen Teilen des Codes zu arbeiten. Das Deklarieren von i als globale Variable und dann das Inkrementieren aus einer Subroutine wird unhandhabbare Probleme mit Ihrem Anwendungscode verursachen, da die Subroutine aus einer Schleife heraus aufgerufen worden sein könnte, die auch eine Variable namens i nutzt. Durch die Verwendung von Modulen in Perl können Variablen mit demselben Namen an verschiedenen, unterschiedlichen Orten im selben Programm erstellt werden. Die für Ihre Variablen definierten Symbole werden in einem assoziativen Array gespeichert, das als Symboltabelle bezeichnet wird. Diese Symboltabellen sind für ein Paket eindeutig. Daher können Variablen mit demselben Namen in zwei verschiedenen Paketen unterschiedliche Werte haben. Jedes Modul besitzt eine eigene Symboltabelle aller in ihm deklarierten Symbole. Die Symboltabelle isoliert grundsätzlich auch Namen in einem Modul von einem anderen. Die Symboltabelle definiert einen Namensraum. Dh ein Platz für unabhängige Variablennamen, der existiert. Somit verhindert die Verwendung von Modulen mit jeweils einer eigenen Symboltabelle, dass eine in einem Abschnitt deklarierte Variable die Werte anderer Variablen mit demselben Namen überschreibt, die an anderer Stelle deklariert sind Programm. In der Tat, alle Variablen in Perl gehören zu einem Paket. Die Variablen in einem Perl-Programm gehören zum Hauptpaket. Alle anderen Pakete innerhalb eines Perl-Programms sind entweder innerhalb dieses Hauptpakets verschachtelt oder befinden sich auf derselben Ebene. Es gibt einige wirklich globale Variablen, wie das Signalhandler-Array SIG. Die allen anderen Modulen in einem Anwendungsprogramm zur Verfügung stehen und nicht über Namensräume isoliert werden können. Nur diejenigen Variablen, die mit Buchstaben oder einem Unterstrich beginnen, werden in einer Modul-Symboltabelle aufbewahrt. Alle anderen Symbole, wie zB die Namen STDIN. STDOUT. STDERR. ARGV. ARGVOUT. ENV. Inc. Und SIG werden gezwungen, in der Pakethauptleitung zu sein. Das Umschalten zwischen Paketen betrifft nur Namespaces. Alles, was Sie tun, wenn Sie ein Paket oder ein anderes verwenden ist die Erklärung, welche Symboltabelle als Standard-Symbol-Tabelle für die Suche nach Variablennamen zu verwenden. Nur dynamische Variablen werden durch die Verwendung von Symboltabellen beeinflusst. Variablen, die durch die Verwendung des Schlüsselworts deklariert werden, werden immer noch mit dem Codeblock behoben, in dem sie sich befinden, und werden nicht durch Symboltabellen referenziert. Tatsächlich bleibt der Gültigkeitsbereich einer Paketdeklaration nur innerhalb des Codeblocks aktiv, in dem es deklariert ist. Wenn Sie also Symboltabellen unter Verwendung eines Pakets in einer Subroutine umschalten, wird die ursprüngliche Symboltabelle, die beim Aufruf des Aufrufs aktiv ist, wiederhergestellt Wenn das Unterprogramm zurückkehrt. Das Schalten von Symboltabellen wirkt sich nur auf die standardmäßige Suche nach dynamischen Variablennamen aus. Sie können weiterhin explizit auf Variablen, Dateihandles und so weiter in einem bestimmten Paket verweisen, indem Sie ein packageName voranstellen. Auf den Variablennamen. Sie haben gesehen, was ein Paketkontext bei der Verwendung von Referenzen in Kapitel 3 war. Ein Paketkontext impliziert die Verwendung der Symboltabelle durch den Perl-Interpreter zum Auflösen von Variablennamen in einem Programm. Durch das Umschalten von Symboltabellen wechseln Sie den Paketkontext. Module können in andere Module geschachtelt werden. Das verschachtelte Modul kann die Variablen und Funktionen des Moduls verwenden, in dem es verschachtelt ist. Für verschachtelte Module müssten Sie moduleName verwenden. NestedModuleName und so weiter. Mit dem Doppel-Doppelpunkt (::) ist auch mit einem Back-Anführungszeichen (). Der Doppelkolon ist jedoch die bevorzugte, zukünftige Möglichkeit, Variablen innerhalb von Modulen zu adressieren. Die explizite Adressierung der Modulvariablen erfolgt immer mit einer vollständigen Referenz. Angenommen, Sie haben ein Modul, Investment. Das das verwendete Standardpaket ist, und Sie möchten ein anderes Modul, Bonds, adressieren. Die innerhalb des Investitionsmoduls verschachtelt ist. In diesem Fall können Sie Bond :: nicht verwenden. Stattdessen müssten Sie Investment :: Bond :: verwenden, um Variablen und Funktionen innerhalb des Bond-Moduls ansprechen zu können. Die Verwendung von Bond :: würde die Verwendung eines Package Bond implizieren, das innerhalb des Hauptmoduls und nicht innerhalb des Investment-Moduls verschachtelt ist. Die Symboltabelle für ein Modul wird tatsächlich in einem assoziativen Array der Modulnamen gespeichert, die mit zwei Doppelpunkten angehängt sind. Die Symboltabelle für ein Modul namens Bond wird als assoziatives Array Bond :: bezeichnet. Der Name für die Symboltabelle für das Hauptmodul ist main ::. Und kann sogar verkürzt werden auf ::. In ähnlicher Weise haben alle verschachtelten Pakete ihre Symbole in assoziativen Arrays gespeichert, wobei doppelte Doppelpunkte jede Schachtelungsebene trennen. Beispielsweise wird im Bond-Modul, das innerhalb des Investment-Moduls verschachtelt ist, das assoziative Array für die Symbole im Bond-Modul mit dem Namen Investment :: Bond :: bezeichnet. Ein Typglob ist wirklich ein globaler Typ für einen Symbolnamen. Sie können Aliasing-Operationen durch Zuweisung zu einem Typglob durchführen. Ein oder mehrere Einträge in einem assoziativen Array für Symbole werden verwendet, wenn eine Zuweisung über einen Typglob verwendet wird. Der tatsächliche Wert in jedem Eintrag des assoziativen Arrays ist, was Sie beziehen sich auf, wenn Sie die variableName Notation verwenden. Somit gibt es zwei Möglichkeiten, auf Variablennamen in einem Paket zu verweisen: Investment :: money Investment :: Rechnungen In der ersten Methode beziehen Sie sich auf die Variablen über einen Typglob-Verweis. Die Verwendung der Symboltabelle, Investment ::. Ist impliziert, und Perl optimiert die Suche nach Symbolen Geld und Rechnungen. Dies ist die schnellere und bevorzugte Art, ein Symbol zu adressieren. Die zweite Methode verwendet eine Suche nach dem Wert einer Variablen, die von Geld und Rechnungen im assoziativen Array für Symbole, Investment :: explizit verwendet adressiert wird. Diese Suche wäre dynamisch und wird nicht von Perl optimiert werden. Daher wird die Suche gezwungen, das assoziative Array jedes Mal zu überprüfen, wenn die Anweisung ausgeführt wird. Infolgedessen ist das zweite Verfahren nicht effizient und sollte nur zur Demonstration verwendet werden, wie die Symboltabelle intern implementiert wird. Ein weiteres Beispiel in dieser Anweisung kamran husain verursacht Variablen, Subroutinen und Dateihandles, die über das Symbol kamran benannt werden, um auch über das Symbol husain angesprochen zu werden. Das heißt, alle Symboleinträge in der aktuellen Symboltabelle mit dem Schlüssel kamran enthalten nun Verweise auf die Symbole, die von dem Schlüssel husain adressiert werden. Um eine solche globale Zuordnung zu verhindern, können Sie explizite Verweise verwenden. Mit der folgenden Anweisung können Sie beispielsweise den Inhalt von husain über die Variable kamran ansprechen. Kamran husain Allerdings werden alle Arrays wie kamran und husain nicht die gleichen sein. Nur die explizit angegebenen Referenzen werden geändert. Zusammenfassend beeinflussen Sie, wenn Sie einem Typglob einem anderen zuweisen, alle Einträge in einer Symboltabelle unabhängig vom Typ der Variablen, auf die verwiesen wird. Wenn Sie eine Referenz von einem Variablentyp zu einem anderen zuordnen, wirkt sich dies nur auf einen Eintrag in der Symboltabelle aus. Eine Perl-Moduldatei hat das folgende Format: package ModuleName. Modulcode einfügen. 1 Der Dateiname muss als ModuleName. pm aufgerufen werden. Der Name eines Moduls muss in der Zeichenfolge. pm nach Konvention enden. Die Paketanweisung ist die erste Zeile der Datei. Die letzte Zeile der Datei muss die Zeile mit der Anweisung 1 enthalten. Das gibt mit dem Modul einen wahren Wert an das Anwendungsprogramm zurück. Durch die Verwendung der Anweisung 1 wird das Modul nicht korrekt geladen. Die Paketanweisung weist den Perl-Interpreter an, mit einer neuen Namespace-Domäne zu beginnen. Grundsätzlich gehören alle Ihre Variablen in einem Perl-Skript zu einem Paket namens main. Jede Variable im Hauptpaket kann als mainvariable bezeichnet werden. Heres die Syntax für solche Verweise: packageNamevariableName Die einzige Anführungszeichen () ist gleichbedeutend mit dem Doppel-Doppelpunkt (::) - Operator. Ich decke im nächsten Kapitel weitere Verwendungen des Operators "::" ab. Vorerst müssen Sie sich daran erinnern, dass die beiden folgenden Anweisungen gleich sind: packageNamevariableName packageName :: variableName Die Doppel-Colon-Syntax gilt als Standard in der Perl-Welt. Deshalb, um Lesbarkeit zu bewahren, verwende ich die Doppel-Kolon-Syntax im Rest dieses Buches, es sei denn, es ist absolut notwendig, Ausnahmen zu machen, um einen Punkt zu beweisen. Die Standardeinstellung eines Variablennamens verweist auf das aktuelle Paket, das zum Zeitpunkt der Kompilierung aktiv ist. Also, wenn Sie im Paket Finance. pm sind und geben Sie eine Variable pv. Die Variable ist tatsächlich gleich Finance :: pv. Verwenden von Perl-Modulen: Verwendung vs. require Sie enthalten Perl-Module in Ihrem Programm, indem Sie die use - oder die require-Anweisung verwenden. Hier ist die Möglichkeit, eine dieser Anweisungen zu verwenden: use ModuleName require ModuleName Beachten Sie, dass die Erweiterung. pm nicht in dem oben gezeigten Code verwendet wird. Beachten Sie auch, dass keine Anweisung eine Datei mehr als einmal in ein Programm aufgenommen werden kann. Der zurückgegebene Wert von true (1) als letzte Anweisung ist erforderlich, damit Perl weiß, dass ein d erforderlich ist oder d-Modul korrekt geladen ist, und lässt den Perl-Interpreter keine Neuladen ignorieren. Im Allgemeinen ist es besser, die Verwendung von Modul-Anweisung als die erfordern Module-Anweisung in einem Perl-Programm verwenden, um kompatibel mit zukünftigen Versionen von Perl bleiben. Für Module sollten Sie die fortwährende Verwendung der require-Anweisung in Erwägung ziehen. Heres why: Die use-Anweisung hat ein wenig mehr Arbeit als die require-Anweisung, da sie den Namespace des Moduls, das ein anderes Modul enthält, verändert. Sie möchten, dass dieses zusätzliche Update des Namespace in einem Programm durchgeführt wird. Wenn Sie jedoch Code für ein Modul schreiben, dürfen Sie den Namensraum nicht ändern, wenn er nicht explizit erforderlich ist. In diesem Fall verwenden Sie die require-Anweisung. Die require-Anweisung enthält den vollständigen Pfadnamen einer Datei im Inc-Array, sodass sich die Funktionen und Variablen in der modules-Datei an einem bekannten Ort während der Ausführungszeit befinden. Daher werden die Funktionen, die aus einem Modul importiert werden, über eine explizite Modulreferenz zur Laufzeit mit der require-Anweisung importiert. Die use-Anweisung macht dasselbe wie die require-Anweisung, da sie das Inc-Array mit vollständigen Pfadnamen geladener Module aktualisiert. Der Code für die use - Funktion geht ebenfalls einen Schritt weiter und ruft im Modul d eine Importfunktion auf, mit der explizit die Liste der exportierten Funktionen zur Kompilierzeit geladen wird, wodurch die für die explizite Auflösung eines Funktionsnamens während der Ausführung erforderliche Zeit gespart wird. Grundsätzlich ist die use-Anweisung gleichbedeutend mit dem ModulName-Import ModulName Liste der importierten Funktionen Die Verwendung der use-Anweisung ändert den Namensraum Ihrer Programme, weil die importierten Funktionsnamen in die Symboltabelle eingefügt werden. Die require-Anweisung ändert Ihren Programm-Namespace nicht. Daher ist die folgende Anweisung verwenden ModuleName () entspricht dieser Anweisung: require ModuleName Funktionen werden aus einem Modul über einen Aufruf einer Funktion importiert importiert importiert. Sie können Ihre eigene Importfunktion in einem Modul schreiben oder das Exporter-Modul verwenden und dessen Importfunktion nutzen. In fast allen Fällen verwenden Sie das Exporter-Modul, um eine Importfunktion zu bieten, anstatt das Rad neu zu erfinden. (Youll erfahren Sie mehr hierzu im nächsten Abschnitt.) Sollten Sie sich entschließen, das Exporter-Modul nicht zu verwenden, müssen Sie in jedem Modul, das Sie schreiben, eine eigene Importfunktion schreiben. Es ist viel einfacher, einfach das Exporter-Modul verwenden und lassen Perl die Arbeit für Sie erledigen. Das Sample Letter. pm Modul Am besten veranschaulichen wir die Semantik, wie ein Modul in Perl verwendet wird, um ein einfaches Modul zu schreiben und zu zeigen, wie man es benutzt. Nehmen wir das Beispiel eines lokalen Darlehen Hai, Rudious Maximus, die einfach müde von der Eingabe der gleiche quotququest für paymentquot Briefe ist. Als begeisterter Fan von Computern und Perl, nimmt Rudious die faule Programmierer Ansatz und schreibt ein Perl-Modul, um ihm zu helfen, seine Memos und Briefe generieren. Nun, anstatt, Felder innerhalb einer Memo-Vorlagendatei zu schreiben, muss er nur ein paar Zeilen eingeben, um seine schöne, drohende Note zu erzeugen. Listing 4.1 zeigt Ihnen, was er eingeben muss. Listing 4.1. Verwenden des Briefmoduls. 1 usr bin perl - w 2 3 Auskommentieren Sie die Zeile unten, um die aktuelle dir in Inc. 4 push (Inc, pwd) 5 6 verwenden Letter 7 8 Letter :: To (quotMr. Gambling Manquot, quotDas Geld für Lucky Dog, Race 2 Buchstabe :: ClaimMoneyNice () 10 Buchstabe :: ThankDem () 11 Buchstabe :: Finish () Die Letter-Anweisung ist vorhanden, um den Perl-Interpreter zu zwingen, den Code für das Modul in das Anwendungsprogramm aufzunehmen. Das Modul sollte sich im Verzeichnis usr lib perl5 befinden, oder Sie können es in jedes Verzeichnis, das im Inc-Array aufgelistet ist, platzieren. Das Inc-Array ist die Liste der Verzeichnisse, die der Perl-Interpreter sucht, wenn er versucht, den Code für das benannte Modul zu laden. Die kommentierte Zeile (Nummer 4) zeigt, wie das aktuelle Arbeitsverzeichnis hinzugefügt werden soll, um den Pfad einzuschließen. Die nächsten vier Zeilen in der Datei erzeugen den Inhalt für den Buchstaben. Heres die Ausgabe von der Verwendung der Brief-Modul: An: Mr. Gambling Man Fm: Rudious Maximus, Darlehen Shark Dt: Wed Feb 7 10:35:51 CST 1996 Re: Das Geld für Lucky Dog, Race 2 Es ist mir aufgefallen Dass Ihr Konto ist über fällig. Sie gonna zahlen uns bald Oder möchten Sie, dass ich ovah Dank für Ihre Unterstützung komme. Die Letter-Moduldatei ist in Listing 4.2 dargestellt. Der Name des Pakets wird in der ersten Zeile deklariert. Da diese Module Funktionen exportiert werden, verwende ich das Exporter-Modul. Daher ist die Anweisung Verwendung Exporter erforderlich, um Funktionalität aus dem Exporter-Modul erben. Ein weiterer erforderlicher Schritt besteht darin, das in das ISA-Array exportierte Wort zu exportieren. Das ISA-Array ist ein spezielles Array in jedem Paket. Jedes Element in dem Array listet, wo sonst eine Methode gesucht werden soll, wenn es im aktuellen Paket nicht gefunden werden kann. Die Reihenfolge, in der Pakete im ISA-Array aufgelistet werden, ist die Reihenfolge, in der Perl nach ungelösten Symbolen sucht. Eine Klasse, die im ISA-Array aufgelistet wird, wird als Basisklasse dieser Klasse bezeichnet. Perl cache fehlende Methoden, die in Basisklassen für zukünftige Verweise gefunden werden. Das Ändern des ISA-Arrays wird den Cache bündeln und Perl dazu veranlassen, alle Methoden erneut aufzurufen. Schauen wir uns nun den Code für Letter. pm in Listing 4.2 an. Listing 4.2. Das Modul Letter. pm. 1 Paket Brief 2 3 erfordern Exporteur 4 ISA (Exporteur) 5 6 head1 NAME 7 8 Letter - Beispielmodul zur Erstellung des Briefkopfes für Sie 9 10 head1 SYNOPSIS 11 12 Verwendung Letter 13 14 Letter :: Date () 15 Letter :: To (name , Firma, Anschrift) 16 17 Dann eine der folgenden: 18 Buchstabe :: ClaimMoneyNice () 19 Buchstabe :: ClaimMoney () 20 Buchstabe :: ThreatBreakLeg () 21 22 Buchstabe :: ThankDem () 23 Buchstabe :: Finish () 24 25 head1 BESCHREIBUNG 26 27 Dieses Modul stellt ein kurzes Beispiel für die Erstellung eines Briefes für einen 28 freundlichen Nachbarburthard dar. 29 30 Der Code beginnt nach der quotcutquot-Anweisung. 31 Ausschneiden 32 33 EXPORT qw (Datum, 34 Bis, 35 ClaimMoney, 36 ClaimMoneyNice, 37 ThankDem, 38 Finish) 39 40 41 Drucken heutigen Datum 42 43 sub Buchstabe :: Datum 44 Datum Datum 45 print quotn Heute ist datequot 46 47 48 sub Buchstabe :: Zu 49 lokaler (Name) Verschiebung 50 lokaler (Subjekt-) Verschiebung 51 print quotn An: namequot 52 print quotn Fm: Rudious Maximus, Darlehen Sharkquot 53 print quotn Dt: quot, date 54 print quotn Re: subjectquot 55 print quotnnquot 56 Print quotnnquot 57 58 sub Letter :: ClaimMoney () 59 print quotn Sie schulden mir Geld. Holen Sie sich Ihre Akt-togetherquot 60 print quotn Wollen Sie, dass ich Bruno zu schicken auf 61 drucken quotn sammeln. Oder sind Sie gonna zahlen upquot 62 63 64 sub Letter :: ClaimMoneyNice () 65 print quotn Es ist zu meiner Aufmerksamkeit, dass Ihr Konto ist 66 print quotn Weg über due. quot 67 print quotn Sie gonna bezahlen uns bald .. quot 68 Print quotn oder möchten Sie mir zu kommen ovahquot 69 70 71 sub Letter :: ThreatBreakLeg () 72 drucken quotn scheinbar Briefe wie diese nicht helpquot 73 print quotn Ich muss ein Beispiel für youquot 74 print quotn n sehen Sie im Krankenhaus , Palquot 75 76 77 Letter :: ThankDem () 78 print quotnn Vielen Dank für Ihr supportquot 79 80 81 sub Letter :: Finish () 82 printf quotnnnn Sincerelyquot 83 printf quotn Rudious n 84 85 86 1 Zeilen mit dem Gleichheitszeichen werden verwendet Für die Dokumentation. Sie müssen jedes Modul für Ihre eigene Referenz zu dokumentieren Perl-Module müssen nicht dokumentiert werden, aber es ist eine gute Idee, ein paar Zeilen über das, was Ihr Code tut, zu schreiben. Ein paar Jahre, können Sie vergessen, was ein Modul über ist. Gute Dokumentation ist immer ein Muss, wenn Sie sich erinnern, was Sie haben in der Vergangenheit Ich decken Dokumentationsstile für Perl in Kapitel 8 verwendet. QuotDocumenting Perl Scripts. quot Für dieses Beispiel-Modul beginnt die head1-Anweisung die Dokumentation. Alles bis zu der cut-Anweisung wird vom Perl-Interpreter ignoriert. Als Nächstes listet das Modul alle Funktionen auf, die von diesem Modul im EXPORT-Array exportiert werden. Das EXPORT-Array definiert alle Funktionsnamen, die von externem Code aufgerufen werden können. Wenn Sie keine Funktion in diesem EXPORT-Array auflisten, wird es nicht von externen Code-Modulen angezeigt. Nach dem EXPORT-Array ist der Körper des Codes, eine Unterroutine zu einem Zeitpunkt. Nachdem alle Subroutinen definiert sind, beendet die letzte Anweisung 1 die Moduldatei. 1 muss die letzte ausführbare Zeile in der Datei sein. Hier sehen Sie einige der in diesem Modul definierten Funktionen. Die erste Funktion ist die einfache Date-Funktion, Zeilen 43 bis 46, die das aktuelle UNIX-Datum und die aktuelle Zeit ausgibt. Es gibt keine Parameter für diese Funktion, und es gibt keine sinnvolle zurück an den Anrufer. Beachten Sie die Verwendung meiner vor der Datumsvariablen in Zeile 44. Das Keyword wird verwendet, um den Bereich der Variable innerhalb der Date-Funktionen geschweifte Klammern zu begrenzen. Code zwischen geschweiften Klammern wird als Block bezeichnet. Variablen, die innerhalb eines Blocks deklariert werden, sind auf den Bereich innerhalb der geschweiften Klammern beschränkt. In 49 und 50 sind die lokalen Variablen Name und Betreff für alle Funktionen sichtbar. Sie können auch Variablen mit dem lokalen Qualifier deklarieren. Die Verwendung von local ermöglicht es, dass eine Variable sowohl für den aktuellen Block als auch für andere Codeblöcke innerhalb dieses Blocks aufgerufen wird. Somit ist ein lokales x, das innerhalb eines Blocks deklariert ist, für alle nachfolgenden Blöcke sichtbar, die von diesem Block aufgerufen werden und auf die verwiesen werden kann. Im folgenden Beispielcode kann auf die ToTitled-Funktionsnamenvariable zugegriffen werden, jedoch nicht auf die Daten im iPhone. 1 sub Letter :: ToTitled 2 local (name) shift 3 my (phone) shift Der Beispielcode für Letter. pm zeigt, wie Sie einen Parameter zu einem Zeitpunkt extrahieren können. Die Unterroutine To () verwendet zwei Parameter, um den Header für das Memo einzurichten. Die Verwendung von Funktionen innerhalb eines Moduls unterscheidet sich nicht von der Verwendung und Definition von Perl-Modulen innerhalb derselben Codedatei. Die Parameter werden als Referenz übergeben, sofern nicht anders angegeben. Mehrere Arrays, die in ein Unterprogramm übergeben werden, wenn nicht explizit mit dem Backslash disereferenziert, werden verkettet. Das Eingabearray in einer Funktion ist immer ein Array von Skalarwerten. Das Übergeben von Werten durch Verweis ist der bevorzugte Weg in Perl, um eine große Menge an Daten in eine Unterroutine zu übergeben. (Siehe Kapitel 3. quotReferences. quot) Ein weiteres Beispielmodul: Finanzen Das in Listing 4.3 dargestellte Modul Finance wird für einfache Berechnungen von Kreditwerten verwendet. Das Finanzmodul ist einfach. Alle Funktionen werden mit den gleichen Parametern wie in der Formel für die Funktionen beschrieben geschrieben. Schauen wir uns, wie der zukünftige Wert einer Anlage berechnet werden kann. Zum Beispiel, wenn Sie investieren einige Dollar, pv. In einer Anleihe mit einem festen Prozentsatz, r. Die in Zeitintervallen mit bekannten Intervallen angewendet werden, was der Wert der Bindung zum Zeitpunkt des Ablaufs ist In diesem Fall verwenden Sie die folgende Formel: fv pv (1r) n Die Funktion, um den zukünftigen Wert zu erhalten, wird als FutureValue deklariert . Siehe Listing 4.3, um zu sehen, wie man es benutzt. Listing 4.3. Verwenden des Finanzmoduls. 1 usr bin perl - w 2 3 push (Inc, pwd) 4 Nutzung Finanzen 5 6 Darlehen 5000,00 7 Apr 3,5 APR 8 Jahre 10 Jahre. 9 10 ------------------------------------------------- ---------------- 11 Berechnen Sie den Wert am Ende des Darlehens, wenn Zinsen 12 jedes Jahr angewendet wird. 13 ------------------------------------------------- --------------- 14 Zeitjahr 15 fv1 Finanzen :: FutureValue (Darlehen, apr, Zeit) 16 print quotn Wird am Ende des Jahresquotienten verzinst 17 print quotn Der zukünftige Wert für a Darlehen von quot. Darlehen. Quotquot 18 print quot zu einem APR von quot, apr. Für quot, time, quot yearsquot 19 printf quot ist 8.2f nquot. Fv1 20 21 ----------------------------------------------- ----------------- 22 Berechnen Sie den Wert am Ende des Darlehens, wenn Zins 23 jeden Monat angewendet wird. 24 ------------------------------------------------- --------------- 25 Rate April 12 APR 26 Zeit Jahr 12 in Monaten 27 fv2 Finanzen :: FutureValue (Darlehen, Raten, Zeit) 28 29 print quotn Wenn Zinsen am Ende angewendet werden Jeder monthquot 30 print quotn Der zukünftige Wert für ein Darlehen von quot. Darlehen. Quotquot 31 print quot zu einem APR von quot, apr. Für quot, time, quot monthquot 32 printf quot ist 8.2f nquot. Fv2 33 34 printf quotn Die Differenz im Wert ist 8.2fquot, fv2 - fv1 35 printf quotn Daher durch die Anwendung von Zinsen bei kürzeren Zeitperiodenquot 36 printf quotn wir sind eigentlich immer mehr Geld in interest. nquot Hier ist Beispiel Eingabe und Ausgabe von Listing 4.3. Testme Wenn Zinsen am Ende des Jahres angewendet werden Der zukünftige Wert für ein Darlehen von 5000 bei einem APR von 3,5 für 10 Jahre ist 7052,99 Wenn Zinsen am Ende eines jeden Monats angewendet werden Der zukünftige Wert für ein Darlehen von 5000 bei einem APR von 3,5 für 120 Monate beträgt 7091,72 Der Unterschied im Wert ist 38,73 Daher durch die Anwendung von Zinsen in kürzeren Zeiträumen sind wir tatsächlich mehr Geld im Interesse. Die Offenbarung im Ausgang ist das Ergebnis des Vergleichs der Werte zwischen fv1 und fv2. Der fv1-Wert wird mit der Anwendung von Zinsen einmal jährlich über die Laufzeit der Anleihe berechnet. Fv2 ist der Wert, wenn die Zinsen jeden Monat zum entsprechenden monatlichen Zinssatz angewendet werden. Das Finance. pm-Paket wird in Listing 4.4 in seiner frühen Entwicklungsphase gezeigt. Listing 4.4. Das Finanz. pm-Paket. 1 Paket Finanzierung 2 3 erfordern Exporteur 4 ISA (Exporteur) 5 6 head1 Finanzen. pm 7 8 Finanzrechner - Finanzrechnungen leicht gemacht mit Perl 9 10 Kopf 2 11 Nutzung Finanzen 12 13 pv 10000.0 14 15 Rate 12,5 12 APR pro Monat. 16 17 Zeit 360 Monate zum Ausleihen 18 19 fv FutureValue () 20 21 Druck fv 22 23 Schnitt 24 25 EXPORT qw (FutureValue, 26 PresentValue, 27 FVofAnnuity, 28 AnnuityOfFV, 29 getLastAverage, 30 getMovingAverage, 31 SetInterest) 32 33 34 Globals, falls vorhanden 35 36 37 lokales defaultInterest 5.0 38 39 sub Finanzen :: SetInterest () 40 meine rate shift () 41 defaultInterestrate 42 printf quotn defaultInterest ratequot 43 44 45 -------------- -------------------------------------------------- ---- 46 Anmerkungen: 47 1. Der Zinssatz r wird in einem Wert von 0-100 angegeben. 48 2. In den Konditionen ist der Zinssatz der Zins 49 anzugeben. 50 51 ------------------------------------------------- -------------------- 52 53 ----------------------------- ---------------------------------------- 54 Barwert einer investierten Anlage 55 fv - Ein zukünftiger Wert 56 r - Satz pro Periode 57 n - Zeitraum 58 ---------------------------------- ---------------------------------- 59 Unterfinanzierung :: FutureValue () 60 my (pv, r, n ) 61 fv pv ((1 (r 100)) n) 62 Rückkehr fv 63 64 65 ----------------------------- --------------------------------------- 66 Barwert der investierten Mittel 67 fv - a Künftiger Wert 68 r - Satz pro Periode 69 n - Anzahl der Periode 70 ----------------------------------- --------------------------------- 71 sub Finanzen :: PresentValue () 72 meine pv 73 meine (fv, r , N) 74 pv fv ((1 (r 100)) n) 75 Rückkehr pv 76 77 78 79 --------------------------- ----------------------------------------- 80 Holen Sie sich die Zukunft Wert einer Annuität gegeben 81 mp - Monatliche Rentenzahlung 82 r - Satz pro Periode 83 n - Anzahl der Perioden 84 ------------------------------ -------------------------------------- 85 86 sub FVofAnnuity () 87 meine fv 88 meine oneR 89 (93) fv mp ((oneR - 1) r) 93 Rückkehr fv 94 95 96 ------------- -------------------------------------------------- - 97 Holen Sie sich die Annuität aus den folgenden Bits 98 r - Rate pro Periode 99 n - Anzahl der Perioden 100 fv - Future Value 101 -------------------- ------------------------------------------------ 102 103 Sub AnnuityOfFV () 104 mp mp - monatliche Zahlung der Annuität 105 mein oneR 106 meine (fv, r, n) 107 108 oneR (1 r) n 109 mp fv (r (oneR - 1)) 110 return mp 111 112 113 -------------------------------------------------- ------------------ 114 Den Mittelwert der letzten Quotientenwerte in einem Array erhalten. 115 ------------------------------------------------- ------------------- 116 Die letzte Anzahl von Elementen aus dem Array in Werten 117 Die Gesamtzahl der Elemente in Werten ist in der Zahl 118 119 sub getLastAverage () 120 my (Anzahl, Werte) 121 my i 122 123 my a 0 124 return 0 if (count 0) 125 für (i 0 ilt count i) 126 a Wertezahl - i - 1 127 128 Anzahl zurückzählen 129 130 131 --- -------------------------------------------------- --------------- 132 Einen gleitenden Durchschnitt der Werte erhalten. 133 ------------------------------------------------- ------------------- 134 Die Fenstergröße ist der erste Parameter, die Anzahl der Elemente im 135 übergebenen Array ist die nächste. (Dies kann innerhalb der 136-Funktion mit der Funktion scalar () leicht berechnet werden, aber die hier gezeigte Subroutine 137 dient auch zur Veranschaulichung der Übergabe von Zeigern.) Der Verweis auf das 138-Array von Werten wird als nächstes übergeben Bezug auf die Stelle 139 sollen die Rückgabewerte gespeichert werden. V 146 147 return 0 if (Zählung 0) 148 return -1 if (count gt number) 149 Rückgabewert: 2 if (count lt 2) 150 151 movingAve0 0 152 movingAvenumber - 1 0 153 für (i0 iltcounti) 154 v Werte 155 av zählen 156 movingAvei 0 157 158 für (icount iltnumberi) 159 v valuesi 160 av zählen 161 v valuesi - count - 1 162 a - v Zähler 163 movingAvei a 164 165 return 0 166 167 168 1 Betrachten Sie die Deklaration der Funktion FutureValue mit (). Die drei Dollarzeichen zusammen bedeuten drei skalare Zahlen, die in die Funktion übergeben werden. Dieses zusätzliche Scoping ist vorhanden, um den Typ der Parameter zu validieren, die in die Funktion übergeben werden. Wenn Sie eine Zeichenfolge anstelle einer Zahl an die Funktion übergeben, würden Sie eine Nachricht sehr ähnlich zu diesem erhalten: Zu viele Argumente für Finance :: FutureValue an. F4.pl Zeile 15, in der Nähe von quottime). F4.pl aufgrund von Kompilierungsfehlern abgebrochen. Die Verwendung von Prototypen beim Definieren von Funktionen verhindert, dass Sie Werte senden, die nicht das sind, was die Funktion erwartet. Verwenden Sie oder, um ein Array von Werten zu übergeben. Wenn Sie per Referenz übergeben, verwenden Sie oder, um eine Skalarreferenz für ein Array bzw. einen Hash anzuzeigen. Wenn Sie den Backslash nicht verwenden, werden alle anderen Typen im Argumentlistenprototyp ignoriert. Andere Arten von Disqualifikatoren umfassen ein Und-Zeichen für eine Referenz auf eine Funktion, ein Asterisk für jeden Typ und ein Semikolon, um anzuzeigen, dass alle anderen Parameter optional sind. Now, lets look at the lastMovingAverage function declaration, which specifies two integers in the front followed by an array. The way the arguments are used in the function is to assign a value to each of the two scalars, count and number . whereas everything else is sent to the array. Look at the function getMovingAverage() to see how two arrays are passed in order to get the moving average on a list of values. The way to call the getMovingAverage function is shown in Listing 4.5. Listing 4.5. Using the moving average function. 1 usr bin perl - w 2 3 push(Inc, pwd) 4 use Finance 5 6 values ( 12,22,23,24,21,23,24,23,23,21,29,27,26,28 ) 7 mv (0) 8 size scalar(values) 9 print quotn Values to work with nquot 10 print quot Number of values size nquot 11 12 ---------------------------------------------------------------- 13 Calculate the average of the above function 14 ---------------------------------------------------------------- 15 ave Finance::getLastAverage(5,size, values) 16 print quotn Average of last 5 days ave nquot 17 18 Finance::getMovingAve(5,size, values, mv) 19 print quotn Moving Average with 5 days window n nquot Heres the output from Listing 4.5: Values to work with Number of values 14 Average of last 5 days 26.2 The getMovingAverage() function takes two scalars and then two references to arrays as scalars. Within the function, the two scalars to the arrays are dereferenced for use as numeric arrays. The returned set of values is inserted in the area passed in as the second reference. Had the input parameters not been specified with for each referenced array, the movingAve array reference would have been empty and would have caused errors at runtime. In other words, the following declaration is not correct: sub getMovingAve() The resulting spew of error messages from a bad function prototype is as follows: Use of uninitialized value at Finance. pm line 128. Use of uninitialized value at Finance. pm line 128. Use of uninitialized value at Finance. pm line 128. Use of uninitialized value at Finance. pm line 128. Use of uninitialized value at Finance. pm line 128. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Use of uninitialized value at Finance. pm line 133. Use of uninitialized value at Finance. pm line 135. Average of last 5 days 26.2 Moving Average with 5 days window This is obviously not the correct output. Therefore, its critical that you pass by reference when sending more than one array. Global variables for use within the package can also be declared. Look at the following segment of code from the Finance. pm module to see what the default value of the Interest variable would be if nothing was specified in the input. (The current module requires the interest to be passed in, but you can change this.) Heres a little snippet of code that can be added to the end of the program shown in Listing 4.5 to add the ability to set interest rates. 20 local defaultInterest 5.0 21 sub Finance::SetInterest() 22 my rate shift() 23 rate -1 if (rate lt 0) 24 defaultInterest rate 25 printf quotn defaultInterest ratequot 26 The local variable defaultInterest is declared in line 20. The subroutine SetInterest to modify the rate is declared in lines 21 through 26. The rate variable uses the values passed into the subroutine and simply assigns a positive value for it. You can always add more error checking if necessary. To access the defaultInterest variables value, you could define either a subroutine that returns the value or refer to the value directly with a call to the following in your application program: Finance::defaultInterest The variable holding the return value from the module function is declared as my variable . The scope of this variable is within the curly braces of the function only. When the called subroutine returns, the reference to my variable is returned. If the calling program uses this returned reference somewhere, the link counter on the variable is not zero therefore, the storage area containing the returned values is not freed to the memory pool. Thus, the function that declares my pv and then later returns the value of pv returns a reference to the value stored at that location. If the calling routine performs a call like this one: Finance::FVofAnnuity(monthly, rate, time) there is no variable specified here into which Perl stores the returned reference therefore, any returned value (or a list of values) is destroyed. Instead, the call with the returned value assigned to a local variable, such as this one: fv Finance::FVofAnnuity(monthly, rate, time) maintains the variable with the value. Consider the example shown in Listing 4.6, which manipulates values returned by functions. Listing 4.6. Sample usage of the my function. 1 usr bin perl - w 2 3 push(Inc, pwd) 4 use Finance 5 6 monthly 400 7 rate 0.2 i. e. 6 APR 8 time 36 in months 9 10 print quotn ------------------------------------------------quot 11 fv Finance::FVofAnnuity(monthly, rate, time) 12 printf quotn For a monthly 8.2f at a rate of 6.2f for d periodsquot, 13 monthly, rate, time 14 printf quotn you get a future value of 8.2f quot, fv 15 16 fv 1.1 allow 10 gain in the house value. 17 18 mo Finance::AnnuityOfFV(fv, rate, time) 19 20 printf quotn To get 10 percent more at the end, i. e. 8.2fquot, fv 21 printf quotn you need a monthly payment value of 8.2fquot, mo, fv 22 23 print quotn ------------------------------------------------ nquot Here is sample input and output for this function: testme ------------------------------------------------ For a monthly 400.00 at a rate of 0.20 for 36 periods you get a future value of 1415603.75 To get 10 percent more at the end, i. e. 1557164.12 you need a monthly payment value of 440.00 ------------------------------------------------ Modules implement classes in a Perl program that uses the object-oriented features of Perl. Included in object-oriented features is the concept of inheritance . (Youll learn more on the object-oriented features of Perl in Chapter 5. quotObject-Oriented Programming in Perl. quot) Inheritance means the process with which a module inherits the functions from its base classes. A module that is nested within another module inherits its parent modules functions. So inheritance in Perl is accomplished with the :: construct. Heres the basic syntax: SuperClass::NextSubClass. ThisClass. The file for these is stored in . SuperClass NextSubClass 133 . Each double colon indicates a lower-level directory in which to look for the module. Each module, in turn, declares itself as a package with statements like the following: package SuperClass::NextSubClass package SuperClass::NextSubClass::EvenLower For example, say that you really want to create a Money class with two subclasses, Stocks and Finance . Heres how to structure the hierarchy, assuming you are in the usr lib perl5 directory: Create a Money directory under the usr lib perl5 directory. Copy the existing Finance. pm file into the Money subdirectory. Create the new Stocks. pm file in the Money subdirectory. Edit the Finance. pm file to use the line package Money::Finance instead of package Finance . Edit scripts to use Money::Finance as the subroutine prefix instead of Finance:: . Create a Money. pm file in the usr lib perl5 directory. The Perl script that gets the moving average for a series of numbers is presented in Listing 4.7. Listing 4.7. Using inheriting modules. 1 usr bin perl - w 2 aa pwd 3 aa . quot Moneyquot 4 push(Inc, aa) 5 use Money::Finance 6 values ( 12,22,23,24,21,23,24,23,23,21,29,27,26,28 ) 7 mv (0) 8 size scalar(values) 9 print quotn Values to work with nquot 10 print quot Number of values size nquot 11 ---------------------------------------------------------------- 12 Calculate the average of the above function 13 ---------------------------------------------------------------- 14 ave Money::Finance::getLastAverage(5,size, values) 15 print quotn Average of last 5 days ave nquot 16 Money::Finance::getMovingAve(5,size, values, mv) 17 foreach i (values) 18 print quotn Moving with 5 days window mvi nquot 19 20 print quotn Moving Average with 5 days window n nquot Lines 2 through 4 add the path to the Money subdirectory. The use statement in line 5 now addresses the Finance. pm file in the . Money subdirectory. The calls to the functions within Finance. pm are now called with the prefix Money::Finance:: instead of Finance:: . Therefore, a new subdirectory is shown via the :: symbol when Perl is searching for modules to load. The Money. pm file is not required. Even so, you should create a template for future use. Actually, the file would be required to put any special requirements for initialization that the entire hierarchy of modules uses. The code for initialization is placed in the BEGIN() function. The sample Money. pm file is shown in Listing 4.8. Listing 4.8. The superclass module for Finance. pm . 1 package Money 2 require Exporter 3 4 BEGIN 5 printf quotn Hello Zipping into existence for younquot 6 7 1 To see the line of output from the printf statement in line 5, you have to insert the following commands at the beginning of your Perl script: use Money use Money::Finance To use the functions in the Stocks. pm module, you use this line: use Money::Stocks The Stocks. pm file appears in the Money subdirectory and is defined in the same format as the Finance. pm file, with the exceptions that use Stocks is used instead of use Finance and the set of functions to export is different. A number of modules are included in the Perl distribution. Check the usr lib perl5 lib directory for a complete listing after you install Perl. There are two kinds of modules you should know about and look for in your Perl 5 release, Pragmatic and Standard modules. Pragmatic modules, which are also like pragmas in C compiler directives, tend to affect the compilation of your program. They are similar in operation to the preprocessor elements of a C program. Pragmas are locally scoped so that they can be turned off with the no command. Thus, the command no POSIX turns off the POSIX features in the script. These features can be turned back on with the use statement. Standard modules bundled with the Perl package include several functioning packages of code for you to use. Refer to appendix B, quotPerl Module Archives, quot for a complete list of these standard modules. To find out all the. pm modules installed on your system, issue the following command. (If you get an error, add the usr lib perl5 directory to your path.) find usr lib perl5 - name perl quot. pmquot - print Extension modules are written in C (or a mixture of Perl and C) and are dynamically loaded into Perl if and when you need them. These types of modules for dynamic loading require support in the kernel. Solaris lets you use these modules. For a Linux machine, check the installation pages on how to upgrade to the ELF format binaries for your Linux kernel. The term CPAN (Comprehensive Perl Archive Network) refers to all the hosts containing copies of sets of data, documents, and Perl modules on the Net. To find out about the CPAN site nearest you, search on the keyword CPAN in search engines such as Yahoo. AltaVista, or Magellan. A good place to start is the metronet site . This chapter introduced you to Perl 5 modules and described what they have to offer. A more comprehensive list is found on the Internet via the addresses shown in the Web sites metronet and perl . A Perl package is a set of Perl code that looks like a library file. A Perl module is a package that is defined in a library file of the same name. A module is designed to be reusable. You can do some type checking with Perl function prototypes to see whether parameters are being passed correctly. A module has to export its functions with the EXPORT array and therefore requires the Exporter module. Modules are searched for in the directories listed in the Inc array. Obviously, there is a lot more to writing modules for Perl than what is shown in this chapter. The simple examples in this chapter show you how to get started with Perl modules. In the rest of the book I cover the modules and their features, so hang in there. I cover Perl objects, classes, and related concepts in Chapter 5.


Handels Technische Indikatoren Pdf

Bücher zu technischen Indikatoren Die folgenden 4 Tutorials decken die grundlegenden Merkmale der technischen Indikatoren und wie man technische Analyse verwenden, um die Handelsergebnisse zu verbessern. Sie sind eine große Hilfe für Händler, um den Zweck und die Bedeutung der gegebenen Indikatoren zu verstehen, sowie lernen die besten Methoden, sie zu benutzen. Sie lernen auch die Berechnungsschemata. Diese Tutorials helfen Ihnen, Ihre Trading-Fähigkeiten zu verbessern und Ihre Trading-Ziele zu erreichen. Was sind die technischen Indikatoren stehen für Wie viel sind sie hilfreich für Sie Was sind die Grundlagen, die Sie wissen sollten Wie man sie einsetzt Wie die beste Methode ihrer Berechnung implementieren Trading Indicators von Bill Williams Laut Bill Williams, um Erfolg in der Sollte ein Händler die genaue und vollständige Struktur des Marktes kennen. Dies kann durch die Analyse des Marktes in fünf Dimensionen und unter Berücksichtigung bestimmter Forex-Indikatoren erreicht werden. Forex Oszillatoren Was ist Oszillator und warum brauchen wir es Dies ist ein technisches Analyse-Verhältnis, das verwendet wird, um das Verhalten des Forex-Marktes zu prognostizieren. Der Oszillatorwert schwankt im begrenzten Bereich, während niedrigere und höhere Grenzen dieses Bereichs den überkauften und überverkauften Zuständen des Marktes entsprechen. Auf die Oszillatoren können die Analyseinstrumente angewendet werden. Forex Trend Indikatoren Forex Trendindikatoren bilden die unauflöslichen und wesentlichen Teil der technischen Analyse im Forex-Markt zu tun. Sie helfen, die Preisbewegung zu interpretieren, die angibt, ob die Preisbewegung erscheint. Forex Volumen Indikatoren Volumen ist einer der primären Forex-Indikatoren der Markttransaktionen und zeigt die Gesamtzahl der Aktien Verträge gehandelt innerhalb eines bestimmten Zeitrahmens. Das höhere Volumen bedeutet eine höhere Liquidität der Handelsinstrumente. IFCMARKETS. CORP 2006-2016 IFC Markets ist ein führender Makler auf den internationalen Finanzmärkten, der Online Forex Trading Services sowie zukünftige Index-, Aktien - und Rohstoff-CFDs anbietet. Das Unternehmen hat seit 2006 kontinuierlich seine Kunden in 17 Sprachen von 60 Ländern auf der ganzen Welt, in Übereinstimmung mit internationalen Standards der Vermittlung Dienstleistungen. Risiko-Warnung Hinweis: Forex-und CFD-Handel im OTC-Markt umfasst erhebliche Risiken und Verluste können Ihre Investitionen übersteigen. IFC Markets bietet keine Dienstleistungen für die Vereinigten Staaten und Japan Bewohner. John Murphy039s Ten Gesetze des technischen Handels John Murphy039s Ten Gesetze des technischen Handels StockCharts039s Chief Technical Analyst, John Murphy, ist ein sehr beliebter Autor, Kolumnist und Referent zum Thema Technical Analyse. John039s Aufsatz - zehn Gesetze des technischen Handels - ist eine Ansammlung von Empfehlungen, die John häufig zu den Leuten anbietet, die zur technischen Analyse neu sind. Sie basieren auf Fragen und Kommentaren, die er im Laufe der Jahre erhalten hat, nachdem er mit verschiedenen Zielgruppen gesprochen hat. Wenn Sie über die Verwendung von Technical Analysis an einem praktischen Tag zu Tag verwirrt sind, sollten diese Vorschläge helfen. Welcher Weg ist der Markt in Bewegung Wie weit nach oben oder unten wird es gehen Und wann wird es den anderen Weg gehen Dies sind die grundlegenden Anliegen des technischen Analytikers. Hinter den Diagrammen und den mathematischen Formeln, die zur Analyse von Markttrends verwendet werden, gibt es einige grundlegende Konzepte, die für die meisten von den heutigen technischen Analysten eingesetzten Theorien gelten. John Murphy, Chief Technical Analyst von StockCharts039, hat auf seine dreißigjährige Erfahrung in diesem Bereich zurückgegriffen, um zehn grundlegende Gesetze des technischen Handels zu entwickeln: Regeln, die dazu beitragen sollen, die gesamte Idee des technischen Handels für den Anfänger zu erläutern und die Handelsmethodologie zu rationalisieren Für den erfahrenen Praktiker. Diese Vorschriften definieren die wichtigsten Werkzeuge der technischen Analyse und wie sie zu nutzen, um Kauf-und Verkaufschancen zu identifizieren. Bevor er zu StockCharts kam, war John sieben Jahre lang technischer Analytiker für CNBC-TV auf der beliebten Show Tech Talk. Und hat drei meistverkaufte Bücher zu diesem Thema verfasst: Technische Analyse der Finanzmärkte. Handel mit Intermarket Analysis und dem Visual Investor. Sein aktuelles Buch zeigt die wesentlichen visuellen Elemente der technischen Analyse. Die Grundlagen der Annäherung an die technische Analyse von John039 zeigen, dass es wichtiger ist, zu bestimmen, wo ein Markt (aufwärts oder abwärts) statt auf dem Grund dahinter steht. Im Folgenden sind John039s zehn wichtigsten Regeln des technischen Handels: 1. Karte der Trends Study Langzeit-Charts. Beginnen Sie eine Chartanalyse mit monatlichen und wöchentlichen Charts über mehrere Jahre. Eine größere Maßstabskarte des Marktes bietet mehr Sichtbarkeit und eine bessere langfristige Perspektive auf einem Markt. Sobald die langfristige gegründet wurde, dann konsultieren Sie täglich und intraday-Karten. Eine kurzfristige Marktsicht allein kann oft trügerisch sein. Selbst wenn Sie nur den Handel sehr kurzfristig, werden Sie es besser, wenn you039re Handel in die gleiche Richtung wie die Zwischen-und längerfristigen Trends. 2. Spot the Trend und Go With It Bestimmen Sie den Trend und folgen Sie ihm. Markttrends kommen in vielen Größen langfristig, mittelfristig und kurzfristig. Zuerst bestimmen, welche you039re gehen zu handeln und verwenden Sie die entsprechende Tabelle. Stellen Sie sicher, dass Sie in die Richtung dieses Trends handeln. Kaufen Sie Dips, wenn die Tendenz oben ist. Verkaufen Sie Rallyes, wenn die Tendenz unten ist. Wenn Sie den Zwischenhandel handeln, verwenden Sie tägliche und wöchentliche Charts. Wenn you039re Tag Handel, verwenden Sie täglich und Intra-Tage-Charts. Aber in jedem Fall, lassen Sie die längere Reichweite Diagramm bestimmen den Trend, und verwenden Sie dann die kürzere Term-Chart für Timing. 3. Finden Sie den niedrigen und Höhe von es Finden Sie Unterstützung und Widerstand Ebenen. Der beste Platz, zum eines Marktes zu kaufen ist nahe Unterstützungsniveaus. Diese Unterstützung ist in der Regel eine vorherige Reaktion niedrig. Der beste Ort, um einen Markt zu verkaufen, ist in der Nähe Widerstand Ebenen. Widerstand ist normalerweise eine vorhergehende Spitze. Nach einem Widerstand Peak gebrochen wurde, wird es in der Regel bieten Unterstützung bei nachfolgenden Pullbacks. Mit anderen Worten, das alte Hoch wird das neue Tief. In der gleichen Weise, wenn ein Support-Level gebrochen wurde, wird es in der Regel zu verkaufen auf nachfolgende Rallyes die alten Low kann die neue hoch. 4. Know How Far to Backtrack Messen Sie Prozentsatz Retracements. Marktkorrekturen nach oben oder nach unten ziehen üblicherweise einen signifikanten Teil des vorherigen Trends zurück. Sie können die Korrekturen in einem bestehenden Trend in einfachen Prozentsätzen messen. Ein Fünfzig-Prozent-Retracement eines vorherigen Trends ist am häufigsten. Ein Minimum Retracement ist in der Regel ein Drittel des vorherigen Trends. Das maximale Retracement beträgt in der Regel zwei Drittel. Fibonacci Retracements 1) von 38 und 62 sind ebenfalls sehenswert. Während eines Pullovers in einem Aufwärtstrend sind daher erste Kaufpunkte im 33-38 Retracement-Bereich. 5. Zeichnen Sie die Linienlinien-Trendlinien. Trendlinien sind eines der einfachsten und effektivsten Charting-Tools. Alles was Sie brauchen ist eine gerade Kante und zwei Punkte auf der Karte. Trendlinien werden in zwei aufeinanderfolgenden Tiefen gezogen. Abwärtstrendlinien werden entlang zweier aufeinanderfolgender Peaks gezeichnet. Die Preise gehen oft zurück zu Trendlinien, bevor sie ihren Trend wieder aufnehmen. Das Aufbrechen von Trendlinien signalisiert in der Regel eine Trendveränderung. Eine gültige Trendlinie sollte mindestens dreimal berührt werden. Je länger eine Trendlinie ist, desto wichtiger wird es, je öfter sie getestet wird. 6. Folgen Sie dem Durchschnitt Befolgen Sie die gleitenden Durchschnitte. Gleitende Mittelwerte liefern objektive Kauf - und Verkaufssignale. Sie sagen Ihnen, ob der vorhandene Trend noch in Bewegung ist und sie helfen Trendänderungen zu bestätigen. Bewegungsdurchschnitte sagen nicht im Voraus, dass eine Trendänderung bevorsteht. Eine Kombination von zwei gleitenden Durchschnitten ist die populärste Art, Handelssignale zu finden. Einige populäre Futures Kombinationen sind 4- und 9-Tage gleitende Durchschnitte, 9- und 18-Tage, 5- und 20-Tage. Signale werden gegeben, wenn die kürzere durchschnittliche Linie umso länger kreuzt. Preisübergänge über und unter einem 40 Tage gleitenden Durchschnitt bieten auch gute Handelssignale. Da gleitende grafische Linienlinien Trend-folgende Indikatoren sind, funktionieren sie am besten in einem Trendsystem. 7. Lernen Sie die Turns Track Oszillatoren. Oszillatoren helfen, überkaufte und überverkaufte Märkte zu identifizieren. Während bewegte Durchschnitte bieten Bestätigung eines Markttrends ändern, Oszillatoren oft helfen, warnen uns im Voraus, dass ein Markt hat gesammelt oder gefallen zu weit und wird bald abbiegen. Zwei der beliebtesten sind der Relative Strength Index (RSI) und der Stochastics Oscillator. Beide arbeiten auf einer Skala von 0 bis 100. Mit dem RSI werden Messwerte über 70 überkauft, während Messwerte unter 30 überverkauft sind. Die überkauften und überverkauften Werte für Stochastik sind 80 und 20. Die meisten Händler verwenden 14 Tage oder Wochen für Stochastik und entweder 9 oder 14 Tage oder Wochen für RSI. Oscillator Divergenzen oft warnen von Marktschwankungen. Diese Werkzeuge funktionieren am besten in einem Marktsegment. Wöchentliche Signale können als Filter für tägliche Signale verwendet werden. Tägliche Signale können als Filter für Intra-Tages-Diagramme verwendet werden. 8. Kennen Sie die Warnzeichen Handel die MACD-Anzeige. Der Indikator Moving Average Convergence Divergence (MACD) (entwickelt von Gerald Appel) kombiniert ein gleitendes Durchschnittswechelsystem mit den überkauften überverkauften Elementen eines Oszillators. Ein Kaufsignal tritt auf, wenn die schnellere Linie über dem langsameren kreuzt und beide Linien unter Null liegen. Ein Verkaufssignal findet statt, wenn die schnellere Linie unterhalb der langsameren von oberhalb der Nulllinie kreuzt. Wöchentliche Signale haben Vorrang vor täglichen Signalen. Ein MACD-Histogramm zeichnet den Unterschied zwischen den beiden Zeilen und gibt sogar frühere Warnungen von Trendänderungen. It039s nannte ein Histogramm, weil vertikale Balken verwendet werden, um die Differenz zwischen den beiden Zeilen im Diagramm anzuzeigen. 9. Trend oder nicht Trend Verwenden Sie die ADX-Anzeige. Die Average Directional Movement Index (ADX) - Linie hilft, festzustellen, ob sich ein Markt in einer Trend - oder einer Handelsphase befindet. Es misst den Grad der Tendenz oder Richtung auf dem Markt. Eine steigende ADX-Linie deutet auf das Vorhandensein eines starken Trends hin. Eine fallende ADX-Linie deutet auf das Vorhandensein eines Handelsmarktes und das Fehlen eines Trends hin. Eine steigende ADX-Linie begünstigt die gleitenden Mittelwerte. Ein fallendes ADX begünstigt Oszillatoren. Durch die Angabe der Richtung der ADX-Linie kann der Trader bestimmen, welcher Trading-Stil und welcher Indikatorsatz am besten für das aktuelle Marktumfeld geeignet ist. 10. Kennen Sie die Bestätigungszeichen Don039t ignorieren Lautstärke. Volumen ist ein sehr wichtiger Bestätigungsindikator. Volumen vor Preis. It039s wichtig, um sicherzustellen, dass schwerere Volumen in Richtung der vorherrschenden Trend stattfindet. In einem Aufwärtstrend, sollte schwerere Volumen an Tagen gesehen werden. Das steigende Volumen bestätigt, dass neues Geld den vorherrschenden Trend unterstützt. Rückläufiges Volumen ist oft eine Warnung, dass der Trend nahezu abgeschlossen ist. Ein solider Preisaufwärtstrend sollte immer mit steigender Lautstärke einhergehen. Zitat antworten Technische Analyse ist eine Fähigkeit, die mit Erfahrung und Studie verbessert. Immer ein Schüler sein und weiter lernen. 1) Leonardo Fibonacci war ein dreizehnter Jahrhundert Mathematiker, der eine präzise und nahezu konstante Beziehung zwischen hindu-arabischen Zahlen in einer Sequenz wiederentdeckte (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, Etc. bis unendlich). Die Summe von zwei aufeinanderfolgenden Zahlen in dieser Sequenz entspricht der nächsthöheren Zahl. Nach den ersten vier nähert sich das Verhältnis einer beliebigen Zahl in der Sequenz zu ihrer nächsthöheren Zahl an .618. Dieses Verhältnis war den alten griechischen und ägyptischen Mathematikern als das Goldene Mean bekannt, das kritische Anwendungen in Kunst, Architektur und in der Natur hatte.


Wednesday 26 April 2017

Forex Nen Nhat

Nn Nht cc m hnh ph bin - Phn 1 Ngi Nht Bn ngh rah thng nn nh mt cch phn tch k thut khi giao dch gehen. Mt ngi chu u c tn l Steve nison khm ph k thut ny ca ngi Nht v gi n l Japanischer Kerzenständer. Ng nghin cu, n, ung, v ng vi Leuchter v bt u vit v n. PHNG php PHN tch k Thut ny bt u ph bin vo nhng nm 90 Caacutech tt nht mocirc t biu ldquonnrdquo lagrave BNG higravenh nh: Chc caacutec Mrd. vn cograven nh higravenh nh nagravey, vagrave biu nn coacute th s DNG theo nhiu khong thi gian khaacutec Nhau, 30 phuacutet, 1 ting, heu 1 ngagravey tugravey theo yacute bn. - Nu giaacute oacuteng ca cao hn giaacute m ca, thigrave mt nn TRNG SCV - Nu giaacute oacuteng ca THP hn giaacute m ca thigrave mt nn en SCV - Tel khocircng magraveu hoc coacute magraveu TRNG oacute lagrave PHN c th tht - ng nhocirc ra phiacutea trecircn vagrave di gi lagrave boacuteng th hin giaacute cao nht vagrave THP nht trong mt phiecircn giao dch, Heu lagrave khong giaacute dao ng trong phiecircn oacute - ldquoBoacutengrdquo phiacutea trecircn th hin giaacute ldquocao nhtrdquo - ldquoBoacutengrdquo phiacutea di te hin giaacute ldquothp nhtrdquo - Bn coacute Tha chn magraveu sc ca nn, übertreiben d nh tocirci chn magraveu trng lagrave giaacute i lecircn, vagrave magraveu en lagrave giaacute i xung. Trong MT4 ca Mansion Finanzielle thigrave mc nh lagrave khocircng magraveu lagrave nn i lecircn vagrave magraveu trng lagrave nn i xung. Hoc Mrd. coacute th chn magraveu xanh lagrave giaacute i lecircn, vagrave magraveu lagrave giaacute i Xung (acircy coacute l lagrave magraveu sc d nhigraven vagrave nhn Bit NHT) Cng ging nh con ngi, caacutec nn coacute PHN c th vi kiacutech thc khaacutec nhau. Vagrave KHI noacutei n Forex, vic hiu rotilde caacutec kiacutech thc nagravey lagrave mt iu Quan TRNG, cng nh vic caacutec giaacutem kho chm thi CUC thi ngi p phi chm caacutec s o 3 vograveng. C th dagravei hinten sc mua hoc baacuten mnh. C th cagraveng dagravei, thigrave aacutep lc mua hoc baacuten cagraveng mnh. Iu nagravey koacute ngha lagrave ngi baacuten hoc ngi mua ang koakutieren v th mnh hn vagrave chim lnh th trng C th ngn th hin heißen ng mua baacuten iacutet socirci ni. Theo ngocircn ng ca Forex thigrave ldquobullsrdquo koacute ngha lagrave ngi mua vagrave ldquobearsrdquo koacute ngha lagrave ngi baacuten. Chuacuteng ta coacute th thy nn trng dagravei cho thy sc mua mnh. Nn trng cagraveng dagravei thigrave giaacute oacuteng ca cagraveng caacutech xa giaacute m Iu oacute, coacute, ngha, lagrave, giaacute, atilde, tng, aacuteng, k, vagrave, ngi, mua, th, hin, v, th, migravenh. Noacutei mt caacutech vui v, lagrave ldquobullsrdquo ang ldquoaacute iacutetrdquo ldquobearsrdquo Tng t vi nn en dagravei Sie Ihre sc baacuten mnh. Nn en cagraveng dagravei thigrave giaacute oacuten g ca cagraveng caacutech xaacutec giaacute m Iu oacute koakutieren ngha lagrave giaacute atilde gim aacuteng k vagrave ngi baacuten ang thng tr th trng. Ln nagravey ngc li ldquobearsrdquo ang ldquotr lirdquo ldquobullsrdquo ldquoBoacutengrdquo biacute n Boacuteng trecircn vagrave di ca nn cho Bit nhng tiacuten hiu Quan TRNG ca th TRNG. Boacuteng trecircn cho Ihre giaacute cao nht ca phiecircn giao dch, vagrave boacuteng di cho Ihre giaacute thp nht ca phiecircn giao dch. Caacutec nn coacute boacuteng dagravei cho Ihre s dao ng giaacute mnh hn nhiu so vi giaacute m ca vagrave giaacute oacuteng. Caacutec nn coacute boacuteng ngng thy s dao ng giaacute nm gn so vi giaacute m ca vagrave giaacute oacuteng. Nu mt nn coacute boacuteng trecircn dagravei vagrave boacuteng di ngn, iu nagravey coacute NGHA lagrave ngi mua atilde c gng mua vagraveo tht nhiu chim lnh th TRNG, nhng tun mt nguyecircn nhacircn nagraveo oacute ngi baacuten atilde tr li vagrave y giaacute cui cugraveng ca phiecircn Giao dch gn li vi giaacute m Nu mt nn coacute boacuteng di dagravei vagrave boacuteng trecircn ngn, iu nagravey coacute NGHA lagrave ngi baacuten atilde tp trung sc lc y giaacute Xung vagrave th hin v th thng tr, nhng tun mt nguyecircn nhacircn nagraveo oacute ngi mua atilde xocircng vagraveo vagrave y giaacute Ca phiecircn giao dch gn li vi giaacute m Caacutec xu hng nn cbn Caacutec nn coacute boacuteng trecircn vagrave di dagravei, cugraveng phn c th tht nh c gi lagrave Spinnstellen. Magraveu sc ca PHN c th tht khocircng thc s Quan TRNG Xu hng nagravey cho dein s khocircng Quyt oaacuten ca c ngi mua vagrave ngi baacuten Phn c th nh cho dein giaacute oacuteng ca vagrave giaacute m ca khocircng caacutech nhau xa, vagrave PHN boacuteng cho Dein ngi mua vagrave ngi baacuten atilde Kinn u khc beleuchtet nhng bt phacircn thng bi. Mc dugrave giaacute m ca vagrave giaacute oacuten g ca khocircng caacutech nhau xa, nhng dao ng giaacute li mnh th hin boacuteng dagravei. Nu Kreiseln higravenh thagravenh trong quaacute trigravenh th TRNG ang i lecircn, iu nagravey thng coacute NGHA RNG khocircng cograven nhiu ngi mua vagrave mt s Thay i Chiu ca th TRNG coacute th xy ra Nu Kreiseln higravenh thagravenh trong quaacute trigravenh th TRNG ANG-i .................................................................. Nghe ging nh mt cacircu thn chuacute khng khip uacuteng khocircng Kann mn rng s tht khocircng phi nh vy. Marubozu coacute NGHA RNG khocircng h coacute boacuteng nn ca, tugravey theo lagrave nn i lecircn Heu i Xung, giaacute m ca vagrave giaacute oacuteng ca trugraveng vi giaacute THP nht vagrave giaacute cao nht. Mt nn trng Marubozu koakutieren mt c th magraveu trng dagravei vagrave khocircng coacute boacuteng. Giaacute m ca trugraveng vi giaacute thp nht vagrave giaacute oacuten g ca trugraveng vi giaacute cao nht. Acircy lagrave mt nn rt ldquobullishrdquo hay th hin xu hng ich lecircn mnh m, ngi mua hoagraven toagraven chim v th so vi nhng ngi baacuten. Acircy thng lagrave thi im bt u ca mt xu hng i lecircn ca th trng, hoc ngc li. Mt nn en Marubozu koakutieren mt coacute th magraveu und dagravei vagrave khocircng coacute boacuteng. Giaacute m ca trugraveng vi giaacute cao nht, vagrave giaacute oacuten g ca trugraveng vi giaacute thp nht. Acircy lagrave mt nn rt ldquobearishrdquo hay th hinten xu hng i xung mnh m, ngi baacuten hoagraven toagraven chim u th so vi ngi mua. acircy thng lagrave thi im bt u ca mt xu hng i Xung ca th TRNG, hoc ngc li Nn Doji coacute giaacute oacuteng ca vagrave giaacute m ca nh nhau hoc iacutet nht lagrave PHN c th cc k ngn. Mt doji koakutieren mt c th rt ngn trong nh mt ng thng. Nn Doji cho thy s bt phacircn thng bi gia ngi mua vagrave ngi baacuten. Giaacute daga ng trong phiecircn giao dch nhg kt thuacutec rt gn giaacute m C ngi mua vagrave ngi baacuten und khocircng chim lnh c th trng, vagrave kt qu lagrave hogravea. Coacute 4 loi nn Doji. Dagravei ca boacuteng koacute th khaacutec nhau vagrave wahl caacutec nn vi nhng higravenh khaacutec nhau nh higravenh ch thp, higravenh ch thp ngc, hoc higravenh du cng. Khi mt Doji higravenh thagravenh trecircn biu ca bn, lu yacute ti nn trc oacute. Nu mt Doji higravenh thagravenh sau mt viel nn vi phn c th magraveu trng dagravei (xu hng ang i lecircn), iu oacute koacute ngha rng ngi mua atilde mt mi vagrave yu i. Y giaacute lecircn cao na, s cn der Kreis nhiu ngi mua, nhng s lng ngi mua ang gim nhanh. Ngi baacuten ang rigravenh rp kai tr li th trng vagrave y giaacute i xung. Nu Doji higravenh thagravenh sau mt Los caacutec nn vi PHN c th dagravei magraveu en (xu hng ang i Xung), thigrave coacute NGHA rng ngi baacuten atilde atilde ht sc lc, vagrave khocircng cograven nhiu ngi baacuten trecircn th TRNG. Ngi mua ang ch c hallo chim li v th ca migravenh trecircn th TRNG vagrave y giaacute i lecircn Tm thi nh vy vi caacutec xu hng c Mrd. ca ldquonnrdquo, caacutec Mrd. dein nhng tiacuten hiu rt thuacute v magrave nhng ldquonnrdquo vi sexy Körper nagravey zu Rauacuteng khocircng Chuacuteng tocirci s Spitze tc gii thiu nhng xu hng khaacutec Trong phn Spitze theo. TIgraveM HIU VAgrave NG KYacute CNG S TICG Urheberrechtsvermerk 2008 - 2016 Vinafox. Alle Rechte vorbehalten Mi thocircng zinn, phacircn tiacutech trecircn Vinafox c cung cp nh nhng nhn nh chung v th trng vagrave ch mang tiacutenh cht tham kho. Kinh Doanh Vagraveng vagrave Forex cha ng nhiu ri ro Thua l ln vagrave coacute th khocircng phi phugrave hp cho tt c mi ngi. Cho cc Mrd. Trader Mt hin tng Nn 8220nhy cc8221 8211 T chuyn mn gi l GAP, ng DNG xc nh mc cn Mnh Xem Chi tit ti y gtgt Phn tch k Thut l cng c khng th thiu trong ngh Forex Trading, ng Nhin n khng CHNH xc tuyt i nhng chc chn GIP ch nhiu trong vic nhn nh xu hng, tm im vo v thot lnh hp l Cng nh nhn bit sm nng hiu o chiu. Chuyn mc Devisen Chart ny ni v 2 PHN CHNH: M HNH GI v M HNH NN Nhng th cn bn nht trc KHI c hiu biu gi Ging nh vic hc c ch, u Zinn ta cn nhn din tng mt ch ci, sau ghp cc Ch thnh t ri thnh cu hiu ngha ca cu. C biu gi Preis Diagramm cng tng t, cn bit nhg iu c bn nht nh mu hnh nn Nht. 1. Khung thi gian TimeFrame Trn biu ca Phn mm giao dch MT4, c nhiu khung thi gian khc nhau t 1 pht ti 1 thng, trn Diagramm 30 pht th c mi 30 pht tri qua s kt thc mt cy nn. Nh ls dng biu ni mi thy Candelstick nh, biu hnh dy hay kiu khc th khng xem c. Hin ja hu ht dn chng u DNG m hnh nn Nht PHN tch cn ny n (n cp sau) 2. Hiu cu trc mt cy nn yl hnh DNG mt cy nn Nht, nu ln u nhn vo biu gi t hn cc Mrd. khng Hi u ni meine cy nn ny c ngha gv lm sao cc tng thnh phn cu zu ra n. Thc ra rt n gin, xem nh bn phi gt i vi mt cy nn TNG th gi Offen l gi m ca u tin, Schließen l gi ng ca khi kt thc cy nn, Körper l di cy nn. Tng t i vi Nn gim (mu). Niedrig v Hohes c gi l bng nn, hohes l bng trn cn Niedriges l bng di. Cn Quan tm n CHNH xc BNG ny xc nh cc mc cn (H tr v Khng cc bi cc m hnh nn ra) Meine bc nng dn thng nhn ln bu tri d bo thi tit cn cc Trader th nhn vo cc cy 8220nn Thn8221 hoc M hnh gi Preis Aktion d auf din bin trong tng lai. 3. Cc m hnh nn c Bit d auf xu hng Bng di y beleuchtet k vi mu Nn Nht c Bit, chng quan trng hn cc mu nn thng thng v da vo hnh dng c th Bit xung lng ca nhm Trader KAUFEN, VERKAUFEN 8211 Nhm keine Ang Chim u th, nhm keine Ang Kit sc, 8230 Doji Kerze lm hnh Nn Nht Ph bin, yl du hiu cho thy mt zu chiu chun b xy ra do lc mua bn ang dn Kit qu. V d: Trn mt xu hng tng, nh tm thi c mt Doji th kh nng c nh, c hi SELL ti. Cc trader thng kt hp thm cc cng c ch bo khc hoc M hnh gi Preis-Aktion ch khng ch da vo mi mt cy nn ra quyt nh giao dch, th nn Doji ch l mt mnh ghp trong bc tranh o chiu. Ngoi ra, Doji cn ng vai tr l cng c xc nnn theo sau cy nn trc. Mo. Nu nn Doji xut hinten cc mc cn (V d: cn t Trendlinie, knh gi Kanal, Fibonacci-Retracement, Pivotpunkte8230.) Th bng nn ng vai tr l cn 8220tm l8221, sc cn tng khng khip. Grabstein doji l trng hp c biss ca Nn Doji, nu sau mt Trend di v xut hin m hnh Nn 8220Ma sao bng8221 th ny th hn 90 s bt u o chiu. Nu ang gi lnh mua thy l thi im nn cht li ko b gim li nhun. Eine Libelle Leuchter tng t mu nn Grabstein doji. Dng cho th trng gim gi ti y. Cc Trader thng gi y l nn Rng Bucht. Nh v d bn phi cho thy lc bn chm dt v mt Trend tng bt u sau khi nn Libelle xut hin. Tn thng gi ca cy nn ny l 8221 chn di 8220 Kreisel l tn th 3 trong DNG h Doji, tuy Nhin cy ny khng c lp TRNG nh 2 mu nn Doji TRN, n XUT hin cho dein tnh hnh ang bt PHN thng bi , Cn c cy nn theo sagen xc nhn chmt mnh cy ny cha ni ln iu g, ch th hin cn cnh gic v Spitze tc theo di cc cy nn sau c ci nn ch chun xc hn. Ein Kreisel Leuchter l anh em SONH sinh vi cy Spinning, ch KHC ch c 8220mp8221 hn, mt chm nn Spinning nh sau KHI tng th hin s ng Ang d chng, ch ng thi Spitze theo, c th ch l mt t ngh ngi Dng sc, sau li tng mnh hoc cng l du hiu cho thy i Stier mt mi v sp sa bung xui. Vo thi im ny vic c th lm l ch i mt cy nn Breaout tng Heu gim mnh quyt nh. Hängender Mann v Sternschnuppe l 2 cy nn bo hiu gim gi, thng hin din nh ni, c im chnh l mu nn ny l C Körper ngn v bng nn di, ti thiu l di gp i thn nn. Bng nn di cho thy i VERKAUFEN Ang dn chim u th, theo sau cy Schießen ny l nn gim th c hi Bn ti, Stop Loss trn bng nn. Hammer v invertierten Hammer Leuchter c chc nng tng t mu nn 8220treo c8221 v Shooting TRN, thng c mt trong th TRNG gim gi v du hiu ca so Chiu, dein mu nn ny th Spitze tc i cy nn theo sau hon thnh, nu l Nn tng th mua vo v ct ​​l di bng nn, ch c vy thi. M hnh ny n gin 8211 d chi v d trng thng. K 1 ny kt thc y, cc bn cn nh cc m hnh nn c Bit kt hp vi cc m hnh gi s cp trong phn sau. Xem Spitze cc ch sau: Bt u kinh doanh Forex. Giao dch trn phn mm Meta Händler 4 Thnh vin ca FSA v NFA. Giao dch tin t, vng, bc, du, cc sn Phm nng ngg, CFDs. Khng Kommission, Verbreitung v Swap thp Rabatt. Hnh thc thanh ton: Visa Master Card gegen Banküberweisung. H tr M ti Khon Forex v Hng dn np, rt Zinn, lin h: Yahoo: fx. dragon Mobil: 0947.409.918 Aktualisiert: 19. September 2013 mdash 12.04 H tr Online-H tr ti Khon giao dch, ci t PHN mm giao dch, cc th tc LinQuan ti Khon, lin h: Hc Forex qua cc tnh hing thc t Ch mi T vn giao dch min ph Chin lc giao dch ng k nhn Kinn lc giao dch FOREX ng GOLD qua Email Sau KHI k, überprüfen mail KCH hot bt u nhn cp nht qua Email Zinn tc. KinhdoanhForex. net Chuyn PTKT


Binär Optionen Broker Singapur

Best Binary Options Brokers in Singapur und für Händler in Singapur Binary Options Brokers Singapur Viele Broker aber nicht alle Safe Wenn Sie passiert, einige andere meiner Artikel auf meiner Website zu lesen, dann werden Sie feststellen, dass ich immer empfehlen, dass Händler nur bei binären Optionen Broker anmelden Die eine gültige Lizenz in ihrem Heimatland oder in einem anderen Land besitzen. Dies ist wichtig, denn wenn ein Makler lizenziert ist dann bedeutet es, dass es nur bietet sichere und faire Online-Trading-Dienstleistungen. Ein lizenzierter Makler wird nie jemanden betrügen oder irgendwelche schattigen Praktiken leiten, weil die Regierung es überwacht und jede Verletzung schwerwiegende Konsequenzen haben wird. Nun ist die Frage mit einigen Ländern, wie Singapur ist die Tatsache, dass es nicht direkt regulieren und lizenzieren binäre Optionen. Dies bedeutet, dass nicht lizenzierte und unregulierte Broker können auch ihre binären Optionen Dienstleistungen in Singapur. Für diese Fälle gibt es eine gute Lösung, die dieses Problem überwinden kann. Die Lösung besteht darin, einen Singapore Binary Options Broker zu wählen, der in einem anderen Land lizenziert ist. Es ist sehr wichtig, dass diese Zuständigkeit ein seriöses Land ist. Broker Lizenzen Europäische Union, Vereinigtes Königreich, Zypern Es gibt viele Arten von Lizenzen, die binäre Broker erhalten können. Die renommiertesten aber sind diejenigen, die von der Europäischen Union durch MiFID, das Vereinigte Königreich durch die Financial Conduct Authority (FCA) und Zypern durch CySEC ausgestellt. Die beste Lizenz aus diesen drei ist die FCA-Lizenz in Großbritannien, gefolgt von MiFID und der letzten CySEC. Einige kritisieren die CySEC-Lizenz von niedrigeren Schutz bieten als die ersten beiden, aber in der Regel CySEC lizenzierte Broker haben auch mindestens eine andere MiFID-Lizenz oder FCA-Lizenz. Aber wie ist dies für binäre Optionen Makler in Singapore Irgendwo oben sagte ich, dass binäre Makler können nicht eine direkte Lizenz in Singapur so warum sollte es relevant sein, wenn sie Lizenzen anderswo haben, weil eine Lizenz aus den oben genannten Ländern schützt Händler von jedem Einschließlich Singapurs. Wenn die FCA im Vereinigten Königreich lizenziert einen Makler, dann kann dieser Makler nicht nur bieten sichere Dienste in Großbritannien und dann Betrug alle anderen aus anderen Ländern. Wenn die FCA herausfindet, dass der Broker schattige Praktiken im Ausland führt dann wird es die Firma UK FCA Lizenz auszusetzen. Und das ist eigentlich nicht nur eine Frage der Meinung oder Interpretation. Eines der Kriterien und Bedingungen für den Erhalt einer FCA (oder CySEC, MiFID etc.) Lizenz ist, dass der Makler die Lizenzbestimmungen und sicheren Handelspraktiken weltweit in jedem Land, in dem es tätig ist, befolgen muss Lizenzierte binäre Optionen Broker wird jeder ihrer Kunden zu behandeln, auch aus Singapur, als ob sie aus dem Vereinigten Königreich wäre. Sie sind nicht nach dem Gesetz erlaubt, um britische Händler auf eine Weise und Singapur binäre Optionen Trader anders zu behandeln. Und genau aus diesem Grund habe ich ausdrücklich beschlossen, binäre Optionsvermittler für Singapur zu präsentieren, die von der FCA, MiFID und CySEC lizenziert werden. Seine, weil alle diese drei Behörden haben diese nicht-diskriminierende Klausel und alle drei befinden sich in renommierten Ländern. Also, wo Sie sich anmelden können Um zu schließen, was ich oben geschrieben, wird es offensichtlich, dass, wenn Sie aus Singapur sind, sollten Sie bei einem binären Optionen Broker, die entweder von der FCA, MiFID oder CySEC lizenziert registrieren. Das große Problem ist, dass nur eine begrenzte Anzahl von Brokern solche Lizenzen haben, während die meisten keine Lizenzen haben. Und da Singapur nicht über spezifische binäre Optionen Gesetze und bietet keine binäre Handelslizenzen, die schattigen Makler sind auch technisch erlaubt, das Land zugreifen. Dies bedeutet, dass seine alleinige Verantwortung als Händler, um die lizenzierten Makler von den nicht lizenzierten unterscheiden. Und das ist, wo die Liste, die ich erstellt ins Spiel kommt. Ich gehe ausdrücklich darauf ein, nur binäre Optionsvermittler für Singapur-Händler aufzulisten, die über die oben genannten Lizenzen verfügen. Die aufgeführten Makler haben entweder eine der genannten Lizenzen oder alle zusammen. Zum Beispiel hat 24Option alle drei Lizenzen aus der FCA, CySEC und MiFID kombiniert. In der Tat hat 24Option mehrere weitere Lizenzen, wie die Banque de France (BDF), die niederländische Behörde für die Finanzmärkte (AFM), die Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin) in Deutschland und mehrere weitere. Würde Singapur seine eigene binäre Wahllizenz dann Im sicher anbieten 24Option würde eins von dem außerdem erhalten. Weitere Kriterien für die Auswahl eines binären Brokers So, jetzt haben wir den juristischen Teil sortiert. Um alles zusammenzufassen, ist die Idee, dass Sie als binärer Optionshändler aus Singapur einen Broker benötigen, der an anderer Stelle lizenziert wird, aber er muss in einem angesehenen Land sein, vorzugsweise im Vereinigten Königreich. Aber es gibt andere Kriterien, die Sie sollten bei der Entscheidung, was Makler zu wählen suchen. Sobald Sie einen rechtlichen Singapur binäre Optionen Broker gewählt haben, müssen Sie bei Fragen wie Mindesteinzahlung, Auszahlungsrate, Arten von binären Optionen angeboten und alle zusätzlichen Dienste zu suchen. Wenn es um die Mindesteinzahlung geht, sollten Sie vorzugsweise wählen Sie einen Makler, die eine niedrigere Mindesteinzahlung hat, wie 200 bis 250. Dies ist wichtig, weil auf diese Weise können Sie den Makler zu testen, ohne zu viel Geld zu begehen der Anfang. Dann ist ein weiteres wichtiges Thema, dass der Auszahlungsrate. Sein offensichtlich sehr wichtig, einen Makler zu wählen, der eine hohe Auszahlungsrate hat. Eine hohe Auszahlungsrate bedeutet, dass Sie auf jedem Gewinnträger mehr Geld verdienen. Gute Auszahlungsraten beginnen von 80 bis 85. Danach sollten Sie auch die verfügbaren Optionen überprüfen. Hier meine ich Dinge wie hohe niedrige Optionen, One-Touch-Option, 60 Sekunden Optionen und langfristige Optionen. Traditionell binäre Optionen sind nur die hohen niedrigen Optionen, aber mehr und mehr Broker bieten auch andere Arten von Optionen. Dies ist wichtig, weil diese exotischen Arten von Optionen bieten in der Regel höhere Auszahlungen. Sobald Sie erfahrener können Sie Killer Geld mit diesen machen. Ein neuer Trend ist, auch langfristige Optionen anzubieten, und Sie als Singapur-Händler sollten davon profitieren. Langfristige Optionen haben längere Auslaufzeiten wie mehrere Tage oder Wochen und können mit News-Trading kombiniert werden. Final Words und Broker Empfehlungen Also, lassen Sie diese wickeln, indem Sie erneut darauf hin, dass es wahrscheinlich mehrere hundert binäre Optionen Broker in Singapur zu diesem Zeitpunkt. Das Problem ist, dass sie nicht erwerben können direkte Lizenzen in Singapur. Die gute Sache ist, dass es Makler, die in anderen Ländern wie dem Vereinigten Königreich und anderen Ländern der Europäischen Union lizenziert sind. Diese Makler bieten sichere Handelsbedingungen für Singapur Händler auch. Immer Handel an solchen Brokern nur. NIEMALS an einem Broker handeln, der keine Lizenz hat. Sobald Sie eine Liste von lizenzierten Brokern haben, dann verschieben, um sie mit den Kriterien, die ich oben gezeigt haben, wie Auszahlungsrate, Mindesteinzahlung und Arten von Optionen zu bewerten. Melden Sie sich beim Broker an, der die besten Geschäftsbedingungen bietet. Nachfolgend finden Sie eine Liste der binären Optionen Broker in Singapur, die ich persönlich glaube, sind die besten im Geschäft. 24Option Im Vereinigten Königreich von der FCA lizenziert, verfügt über eine allgemeine MiFID-Zulassung und ist bei verschiedenen nationalen Regulierungsbehörden wie der BaFIN in Deutschland, der CySEC, der dänischen FCA, der CONSOB in Italien und der BFD in Frankreich registriert. Es ist der älteste Broker im Geschäft und wahrscheinlich die Nummer 1 top binäre Broker insgesamt. Stockpair Ähnlich wie 24Option, hat es FCA-Lizenz, MiFID, CySEC, BaFIN und mehrere andere. Stockpair hat nur eine Mindesteinzahlung von 200 und ist sehr freundlich zu Singapur Händlern entsprechend, was Ive hörte von den eMail, die zu mir von einigen meiner Singapore Leser geschickt wurden. 10Trade ist ein neuer Binär-Optionen-Broker, aber das erste, was es nach der Eröffnung war, war, eine Lizenz aus den oben genannten Zuständigkeiten zu bekommen. Es hat auch nur eine Mindesteinzahlung von 100 und hat auch langfristige Optionen. Und das wäre alles für diesen Artikel. Ich hoffe, ich könnte Ihnen helfen zu entscheiden, welche binären Optionen Broker zu wählen, wenn Sie aus Singapur sind. Denken Sie daran, was ich oben gesagt, nur die regulierten Broker sind sicher. Wenn Sie an den oben aufgeführten bleiben, dann Ihre Vermögenswerte immer sicher sein und Sie werden immer nur qualitativ hochwertige Dienstleistungen angeboten werden. Danke fürs Lesen. Best Binary Options Brokers Alle Broker auf unserer Website aufgeführt sind sorgfältig ausgewählt und getestet von unseren Mitarbeitern. Wir berücksichtigen mehrere Kriterien beim Vergleich binärer Optionen Broker. Wir haben viel Wert auf die folgenden: 9658 Reputation - Ältere binäre Option Broker, die schon seit einiger Zeit und haben gute Kritiken von ihren Händlern sind immer bevorzugt. 9658 Wachstum - ein binärer Optionsvermittler, der schnell wächst, tut gewöhnlich die Dinge richtig. Wir versuchen Plattformen zu vermeiden, die kommen und gehen. 9658 Banking - Einzahlungs - und Auszahlungsmethoden sind sehr wichtig, da sie den Zugang von Anlegern aus der ganzen Welt erleichtern. Schnelle Abhebungen sind ein Muss in dieser Branche. 9658 Kundendienst - Immer wenn Sie ein Problem haben, können Sie sofort Hilfe bekommen. Thats, warum wir betrachten Kundendienst eine der wichtigsten Eigenschaften. 9658 Profitabilität - Investoren wollen das Beste aus ihrem Handeln herausholen. Einige Makler haben höhere Auszahlungen als andere, und für einen aktiven Händler, der den Unterschied machen kann zwischen Gewinn und Verlust auf lange Sicht. 9658 Vielfalt - Mehr Möglichkeiten bedeuten höhere Renditen. Touch-Optionen, Pair-Optionen oder Boundaries sind zusätzliche Instrumente, die Händler profitieren können, wenn mit kluger Verwendung. Wir regelmäßig aktualisieren unsere Listen nach der Art und Weise Makler durchführen. Unser Team testet jeden Binäroptionsbroker von Zeit zu Zeit, um sicherzustellen, dass die hohen Qualitätsstandards noch vorhanden sind. Vor dem Hinzufügen einer neuen Marke auf unserer Website analysieren unsere Experten alle oben genannten Aspekte für einen Mindestzeitraum von einem Monat. Erst wenn ein Unternehmen alle Qualitätsanforderungen erfüllt, wird es auf dieser Website vorgestellt. Binary-Options-Broker war das erste Portal für den Vergleich und die Bewertung der Binär-Broker gewidmet. Unsere ehrliche und unabhängige Annäherung hat uns als die Hauptüberwachungweb site in der Industrie und als der Ausgangspunkt für viele binäre Händler gehalten. Unser Erfolg kommt aus dem Verständnis der Bedürfnisse sowohl der kleinen Händler als auch großer Investoren, und aus unserem Engagement, hier in den kommenden Jahren zu sein.


Sunday 23 April 2017

Aktienoptionen Für Dienstleistungen

Ausgegebene Aktien Was sind ausgegebene Anteile ausgegebene Aktien sind die autorisierten Aktien, die an die Aktionäre eines Unternehmens verkauft und von diesen gehalten werden, unabhängig davon, ob es sich um Insider, institutionelle Anleger oder die Öffentlichkeit handelt, wie im Jahresbericht des Unternehmens dargestellt. Ausgegebene Aktien umfassen die Aktien, die ein Unternehmen öffentlich verkauft, um Kapital und die Aktie an Insider im Rahmen ihrer Vergütungspakete zu generieren. Im Gegensatz zu Aktien, die als eigene Aktien gehalten werden. Aktien, die im Ruhestand sind, sind nicht in dieser Zahl enthalten. Laden des Players. BREAKING DOWN Ausgegebene Aktien Ein Unternehmen gibt eine Aktie nur einmal danach aus, der Anleger kann es an einen anderen Anleger verkaufen. Wenn Unternehmen ihre eigenen Aktien zurückkaufen, werden die Aktien weiterhin als ausgegeben aufgeführt, da das Unternehmen sie weiterverkaufen kann. Für eine kleine, eng gehaltene Gesellschaft können die ursprünglichen Eigentümer alle Aktien ausgegeben haben. Aufzeichnung ausgegebener Aktien Die Anzahl der ausgegebenen Aktien wird in der Bilanz eines Unternehmens als Kapitalstock ausgewiesen. Die ausstehenden Aktien sind auf den vierteljährlichen Einreichungen der Unternehmen bei der Securities and Exchange Commission (SEC) gelistet. Die Anzahl der ausstehenden Aktien befindet sich auch im Kapitalteil eines Unternehmensberichts. Bedeutung der ausgegebenen Aktien Die Ausgabe von Aktien erfolgt bei der Berechnung der Marktkapitalisierung oder der Ausgabe von Aktien, multipliziert mit dem aktuellen Aktienkurs und dem Ergebnis je Aktie (EPS) oder ausgegebenen Aktien dividiert durch das Ergebnis. Beide Zahlen helfen Investoren, ein Unternehmen Wert und Leistung zu messen. Vergleich der zugelassenen und ausgegebenen Anteile Zugelassene Aktien sind die Anteile, die ein Firmengründer vor der Inbetriebnahme in seinem Corporate-Aktenarchiv zugelassen hat. Ausgegebene Aktien sind die Anteile, die die Eigentümer für den Erwerb von Barmitteln, Vermögenswerten oder anderen Wert für die Gründung des Unternehmens zu tauschen. Dies nennt man Kapitalisierung des Unternehmens. Ausgegebene Aktien und Besitzverhältnisse können gemessen werden, durch die Anleger Aktien bei einer Unternehmensgründung ausgegeben wurden. Der Besitz kann auch durch ausgegebene und ausstehende Aktien sowie diejenigen, die ausgestellt werden können, wenn alle genehmigten Aktienoptionen ausgeübt werden, die vollständig verwässerte Berechnung genannt gemessen werden. Darüber hinaus kann das Eigentum durch die Verwendung von ausgegebenen und zugelassenen Aktien als Prognose der Position Aktionäre können in zu einem späteren Zeitpunkt, die so genannte Arbeitsmodell Berechnung gemessen werden. Alle Vorstandsmitglieder müssen die gleiche Berechnung vornehmen, wenn sie Entscheidungen oder Pläne für das Unternehmen treffen. Zum Beispiel, wenn ein Startup 10.000.000 Aktien von 20 Millionen autorisierten Aktien an einen Eigentümer, und die Inhaber-Aktien sind die einzigen ausgestellt, er besitzt 100 der Gesellschaft. Boards verwenden in der Regel die vollständig verdünnte oder funktionierende Modellberechnung für Planung und Projektierung. Zum Beispiel, wenn der Vorstand glaubt, es kann 2 Millionen zusätzliche Aktien an einen Investor ausgeben und bietet 3 Millionen Aktien als Aktienoptionen an leistungsstarke Mitarbeiter, kann es den Gründern zusätzliche Aktienoptionen bieten, so dass sie nicht erheblich verdünnen ihre Ownership Prozentsatz Aktienoptionen: 10 Tipps für Unternehmer von Scott Edward Walker am 11. November 2009 Fred Wilson. Ein in New York City ansässiges VC, schrieb vor einigen Tagen einen interessanten Beitrag mit dem Titel Valuation and Option Pool, in dem er die umstrittene Frage der Einbeziehung eines Optionspools in die Pre-Money-Bewertung eines Startups erörtert. Auf der Grundlage der Kommentare zu diesem Beitrag und eine Google-Suche nach verwandten Beiträgen, kam es mir, dass es eine Menge von Fehlinformationen im Web in Bezug auf Aktienoptionen vor allem im Zusammenhang mit Start-ups. Dementsprechend besteht der Zweck dieser Stellungnahme darin, (i) bestimmte Fragen im Zusammenhang mit der Ausgabe von Aktienoptionen zu klären und (ii) zehn Tipps für Unternehmer zu geben, die die Möglichkeit haben, Aktienoptionen im Zusammenhang mit ihrem Investment auszugeben. 1. Ausgabemöglichkeiten ASAP. Aktienoptionen bieten den Mitarbeitern die Möglichkeit, von der Steigerung des Unternehmenswertes zu profitieren, indem ihnen das Recht eingeräumt wird, Aktien zu einem zukünftigen Zeitpunkt zu einem Preis (dh Ausübung oder Ausübungspreis) zu kaufen, der im Allgemeinen dem fairen Markt entspricht Wert der betreffenden Aktien zum Zeitpunkt der Gewährung. Das Venture sollte daher eingebunden werden, und soweit möglich sollten Aktienoptionen so schnell wie möglich an wichtige Mitarbeiter ausgegeben werden. Da die Meilensteine ​​nach ihrer Gründung (zB die Erstellung eines Prototyps, der Erwerb von Kunden, Umsätzen usw.) vom Unternehmen erfüllt werden, steigt der Wert des Unternehmens und damit auch der Wert der zugrunde liegenden Aktien Aktien der Option. Tatsächlich sollte die Ausgabe von Aktienoptionen an Schlüsselmitarbeiter so schnell wie möglich erfolgen, wenn der Wert des Unternehmens so niedrig wie möglich ist, wie die Ausgabe von Stammaktien an die Gründer (die selten Optionen erhalten). 2. Erfüllung der anwendbaren bundesstaatlichen und staatlichen Wertpapiergesetze. Wie in meinem Posten über die Gründung eines Unternehmens (siehe hierzu 6) erwähnt, darf ein Unternehmen seine Wertpapiere nicht anbieten oder verkaufen, es sei denn, (i) diese Wertpapiere bei der Securities and Exchange Commission registriert und mit anwendbaren staatlichen Provisionen qualifiziert sind oder (ii) Gibt es eine anwendbare Befreiung von der Registrierung. Die gemäß Section 3 (b) des Securities Act von 1933 verabschiedete Regel 701 sieht eine Freistellung von Angeboten und Verkäufen von Wertpapieren vor, die gemäß den Bedingungen der Vergütungspläne oder schriftlichen Verträge über Entschädigungen getätigt werden, sofern diese erfüllt sind Bestimmten vorgeschriebenen Bedingungen. Die meisten Staaten haben ähnliche Ausnahmen, darunter Kalifornien, die die Vorschriften gemäß § 25102 (o) des California Corporate Securities Law von 1968 (in Kraft seit dem 9. Juli 2007) geändert haben, um sich an Regel 701 anzupassen. Dies mag ein bisschen selbst klingen Aber es ist in der Tat zwingend erforderlich, dass der Unternehmer den Rat von erfahrenen Anwälten vor der Emission von Wertpapieren, einschließlich Aktienoptionen, anstrebt: Die Nichteinhaltung der geltenden Wertpapiergesetze könnte zu schwerwiegenden nachteiligen Folgen führen, einschließlich eines Rücktrittsrechts für die (Dh das Recht, ihr Geld zurück zu bekommen), Unterlassungsansprüche, Geldstrafen und Strafen und mögliche Strafverfolgung. 3. Stellen Sie angemessene Wartezeiten fest. Unternehmer sollten angemessene Wartezeiten in Bezug auf die den Mitarbeitern ausgegebenen Aktienoptionen festlegen, um die Mitarbeiter zu motivieren, mit dem Unternehmen zu bleiben und das Unternehmen zu wachsen. Der gebräuchlichste Zeitplan sieht vier Jahre lang einen gleichen Prozentsatz der Optionen (25) vor, wobei eine einjährige Klippe (dh 25 der Optionen nach 12 Monaten) und danach monatlich, vierteljährlich oder jährlich, jedoch monatlich, gewertet werden kann Um einen Mitarbeiter zu entschärfen, der beschlossen hat, das Unternehmen von seinem Aufenthalt an Bord für seine nächste Tranche zu verlassen. Für Führungskräfte gibt es in der Regel auch eine partielle Beschleunigung der Ausübung (i) eines auslösenden Ereignisses (dh eine einzelne Beschleunigung des Auslösers), wie z. B. einen Kontrollwechsel des Unternehmens oder eine Kündigung ohne Ursache oder (ii) häufiger zwei Auslöseereignisse (Dh doppelte Triggerbeschleunigung) wie etwa einen Kontrollwechsel, gefolgt von einer Beendigung ohne Grund innerhalb von 12 Monaten danach. 4. Stellen Sie sicher, dass alle Papierkram in Ordnung ist. Im Zusammenhang mit der Ausgabe von Aktienoptionen sind grundsätzlich drei Dokumente zu erstellen: (i) ein Aktienoptionsplan, bei dem es sich um das Verwaltungsdokument handelt, das die Bedingungen für die zu gewährenden Optionen enthält (ii) Der Gesellschaft und jedem Optionsnehmer, der die einzelnen Optionen, den Vesting-Zeitplan und andere mitarbeiterspezifische Informationen angibt (und in der Regel die Form der Ausübungsvereinbarung als Anlage beigefügt ist) und (iii) Der Gesellschaft und jedem Optionsnehmer, die eine kurze Zusammenfassung der wesentlichen Bedingungen des Zuschusses ist (obwohl diese Mitteilung keine Voraussetzung ist). Darüber hinaus müssen der Verwaltungsrat der Gesellschaft (der Verwaltungsrat) und die Aktionäre der Gesellschaft die Verabschiedung des Aktienoptionsplans genehmigen, und der Verwaltungsrat oder ein Ausschuss davon muss auch jede einzelne Optionsgenehmigung genehmigen, einschließlich der Festlegung des Aktienoptionsplans (Wie in Ziffer 6 unten erörtert). 5. Ordnen Sie den Mitarbeitern angemessene Prozentsätze zu. Die jeweilige Anzahl der Aktienoptionen (d. h. Prozentsätze), die den Mitarbeitern des Unternehmens zuzuordnen sind, hängt in der Regel von der Unternehmensstufe ab. Ein Unternehmen der Post-Series-A-Runde würde im Regelfall Aktienoptionen im folgenden Bereich zuteilen (Anmerkung: Die in Klammern angegebene durchschnittliche Eigenkapitalquote entspricht dem durchschnittlichen Eigenkapital, das auf der Grundlage der Ergebnisse einer von CompStudy veröffentlichten Studie von 2008 veröffentlicht wurde): (i ) CEO 5 bis 10 (durchschnittlich 5,40) (ii) COO 2 bis 4 (durchschnittlich 2,58) (iii) CTO 2 bis 4 (Durchschnitt von 1,19) (iv) CFO 1 bis 2 (Durchschnitt von 1,01) (V) Leiter der Technik .5 bis 1.5 (von 1.32) und (vi) Direktor 8211.4 bis 1 (nicht verfügbar). Wie in Ziffer 7 unten erwähnt, sollte der Unternehmer versuchen, den Optionspool so klein wie möglich zu halten (während er immer noch das bestmögliche Talent anzieht und erhält), um eine wesentliche Verwässerung zu vermeiden. 6. Stellen Sie sicher, dass der Ausübungspreis der FMV des Basiswerts ist. Gemäß Section 409A des Internal Revenue Code muss ein Unternehmen sicherstellen, dass jede als Ausgleich gewährte Aktienoption einen Ausübungspreis hat, der dem Fair Value (der FMV) des Basiswerts am Tag der Gewährung am nächsten ist, Wird der Zuschuss als verzögerte Entschädigung angesehen werden, wird der Empfänger erhebliche nachteilige steuerliche Konsequenzen Gesicht und das Unternehmen haben Steuerabzug Verantwortlichkeiten. Das Unternehmen kann eine verteidigungsfähige FMV errichten, indem es (i) eine unabhängige Beurteilung durchführt oder (ii) wenn es sich bei dem Unternehmen um eine illiquide Unternehmensgründung handelt, die sich auf die Bewertung einer Person mit bedeutendem Wissen und Erfahrung oder Ausbildung in ähnlichen Bewertungen (einschließlich Arbeitnehmer), sofern bestimmte Voraussetzungen erfüllt sind. 7. Machen Sie die Option Pool so klein wie möglich, erhebliche Verdünnung zu vermeiden. Wie viele Unternehmer gelernt haben (viel zu ihrer Überraschung), setzen Risikokapitalgeber eine ungewöhnliche Methodik für die Berechnung des Preises pro Aktie des Unternehmens nach der Bestimmung seiner Pre-Money-Bewertung 8212, dh der Gesamtwert der Gesellschaft wird durch die voll verwässert aufgeteilt Anzahl der im Umlauf befindlichen Aktien, die nicht nur die derzeit in einem Mitarbeiteroptionspool (vorausgesetzt, es gibt) vorhandene Anzahl von Aktien umfasst, sondern auch eine Erhöhung der vom Anleger geforderten Grösse (oder der Gründung) des Pools Für zukünftige Emissionen. Die Anleger benötigen typischerweise einen Pool von etwa 15-20 der nachgeldfähigen, vollständig verwässerten Kapitalisierung des Unternehmens. Die Gründer werden also durch diese Methodik wesentlich verdünnt, und der einzige Weg um sie herum, wie in einem hervorragenden Beitrag von Venture Hacks diskutiert wird, besteht darin, den Optionspool so klein wie möglich zu halten (während er immer noch das bestmögliche Talent anzieht und beibehält). Bei der Verhandlung mit den Investoren sollten Unternehmer daher einen Mietplan vorbereiten und präsentieren, der den Pool so klein wie möglich gestaltet, zum Beispiel, wenn das Unternehmen bereits über einen CEO verfügt, könnte das Optionspapier vernünftigerweise auf annähernd 10 Posten reduziert werden - Wertschöpfung. 8. Incentive-Aktienoptionen dürfen nur an Mitarbeiter ausgegeben werden. Es gibt zwei Arten von Aktienoptionen: (i) nicht qualifizierte Aktienoptionen (NSOs) und (ii) Anreizoptionen (ISOs). Der wesentliche Unterschied zwischen NSOs und ISOs bezieht sich auf die Art und Weise, in der sie besteuert werden: i) Die Inhaber von NSOs erkennen die ordentlichen Erträge aus der Ausübung ihrer Optionen (unabhängig davon, ob der Basiswert sofort verkauft wird) und (ii) Inhaber von ISOs nicht Bis zu dem Zeitpunkt, zu dem die zugrunde liegende Aktie veräußert wird (wenn auch eine alternative Mindeststeuer - schuld bei Ausübung der Optionen ausgelöst werden kann) und eine Kapitalertragsbehandlung gewährt wird, wenn die Aktien, die bei Ausübung der Optionen erworben werden, länger als ein Jahr danach gehalten werden Der Ausübungszeitpunkt und werden nicht vor dem zweijährigen Jubiläum des Optionsgewährungstages verkauft (sofern bestimmte andere vorgeschriebene Bedingungen erfüllt sind). ISOs sind weniger häufig als NSOs (aufgrund der Rechnungslegung und andere Faktoren) und dürfen nur an Mitarbeiter ausgegeben werden. NSOs können an Mitarbeiter, Direktoren, Berater und Berater ausgegeben werden. 9. Seien Sie vorsichtig beim Beenden der Mitarbeiter, die Optionen halten. Es gibt eine Reihe von potenziellen Ansprüchen, die Mitarbeiter in Bezug auf ihre Aktienoptionen behaupten können, falls sie ohne Grund beendet werden, einschließlich eines Anspruchs auf Verletzung des impliziten Treuhandvertrages und eines fairen Handels. Dementsprechend müssen Arbeitgeber bei der Kündigung von Mitarbeitern, die Aktienoptionen halten, vor allem dann Sorgfalt ausüben, insbesondere, wenn diese Kündigung in der Nähe eines Wartezeitpunktes erfolgt. In der Tat wäre es ratsam, eine bestimmte Sprache in die Mitarbeiteraktienoptionsvereinbarung einzubeziehen, die: (i) einem Mitarbeiter kein Anspruch auf eine anteilige Veräußerung aus wichtigem Grund, mit oder ohne Anlassberechtigung, gewährt wird und (ii) dieser Mitarbeiter gekündigt werden kann Zu einem beliebigen Zeitpunkt vor einem bestimmten Ausübungstermin, in dem er alle Rechte auf nicht gezahlte Optionen verliert. Offensichtlich muss jede Kündigung von Fall zu Fall analysiert werden, es ist jedoch zwingend erforderlich, dass die Kündigung für einen legitimen, nicht diskriminierenden Grund erfolgt. 10. Betrachten Sie die Ausgabe von beschränkten Aktien in Lieu von Optionen. Für früh strukturierte Unternehmen kann die Ausgabe von Aktien mit beschränkter Haftung für Schlüsselpersonen aus drei Hauptgründen eine gute Alternative zu Aktienoptionen sein: (i) Aktien mit beschränktem Kapital unterliegen nicht dem Abschnitt 409A (siehe oben, Ziffer 6) Um die Beschäftigten zu motivieren, zu denken und zu handeln wie die Besitzer (da die Mitarbeiter tatsächlich Aktien der Stammaktien des Unternehmens erhalten, allerdings unter Ausschluss der Gewährleistung) und damit die Interessen des Teams besser ausrichten und (iii) die Mitarbeiter in der Lage sein werden Erhalten eine Kapitalertragsbehandlung und die Haltefrist beginnt mit dem Datum der Gewährung, sofern der Arbeitnehmer eine Wahl nach § 83 Buchstabe b des Internal Revenue Code einreicht. (Wie oben in Randnr. 8 angemerkt, können die Optionsinhaber nur dann eine Kapitalertragsbehandlung erhalten, wenn sie ISOs ausgegeben wurden und dann bestimmte vorgeschriebene Bedingungen erfüllen.) Der Nachteil eines beschränkten Aktienbestandes besteht darin, dass bei der Einreichung einer 83 (b) Wenn eine solche Wahl nicht beantragt wird), gilt der Arbeitnehmer als Einkommen gleich dem damaligen Marktwert der Aktie. Dementsprechend kann, wenn die Aktie einen hohen Wert hat, der Mitarbeiter erhebliches Einkommen und möglicherweise kein Bargeld haben, um die anfallenden Steuern zu zahlen. Beschränkte Aktienemissionen sind daher nicht ansprechend, es sei denn, der aktuelle Wert der Aktie ist so niedrig, dass die unmittelbaren steuerlichen Auswirkungen nominal ist (z. B. unmittelbar nach der Gründung der Gesellschaft).