[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 297
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es gibt kein Ideal! Ich beobachte die Leute, die schreiben, sozusagen als allgemeine Perspektive. Manchmal finde ich einige Tricks, die ich von anderen lernen kann. Manchmal sehe ich, dass der Code überhaupt nicht lesbar ist. Wie zum Beispiel tarasBY's. So sehr ich mich auch anstrenge, es lässt sich nicht lesen. Ich kann sie in klaren Abschnitten lesen, und dann - bumm - kann ich nichts mehr verstehen. Und so ist es an vielen Orten.
Ich bin ein Freund, der mich gebeten hat, zu dekompilieren, und es ist leichter zu verstehen als die Codes von tarasBY. Vielleicht ist das ganz normal, aber ich bezweifle, dass viele Downloader sie verstehen werden. Wer zu schlau ist, sie zu verstehen, wird sie nicht herunterladen... Dann stellt sich die Frage, warum sie dort gepostet werden :)
Ich messe meine Zeit nach der Greenwich Mean Time.
Ich schlafe jetzt. Gute Nacht.
Wie sagt man in Katalonien?
Überhaupt nicht
Ja, es ist das Verhältnis von zwei natürlichen Logarithmen. Schauen Sie sich nun die Formel aus "Substitution der Basis des Logarithmus" an. Das Ergebnis ist also, dass dieser Ausdruck
entspricht dem dezimalen Logarithmus für bd_LOTSTEP. In MQL gibt es keine separate Funktion für den dezimalen Logarithmus, daher wird diese Umwandlung verwendet.
Das ist es, was ich sagen wollte. Der Code meiner Sprache... Ich denke, entweder hat der Programmierer keine Angst vor Mathematik oder es ist eine Art Schutz vor dem Lesen von Code (nur ein Scherz). Ich weiß nicht, meine persönliche Meinung ist, dass Mathematik den Algorithmus genauso vereinfacht wie switch...case anstelle von if.
SetVLine() anzeigen;
falsche Daten, bitte geben Sie an, wo der Fehler ist.
Ich füge den gesamten Code ein, außer dem "Copyright"
extern int PeriodP=12;
extern int TimeFrame=0;
double P_up0,P_up1,FrApPrise;
//+------------------------------------------------------------------+
//| Experteninitialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit() xml-ph-0016@deepl.in
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{
//----
P_up0=iCustom(Symbol(),Zeitraum(), "Preiskanal",ZeitraumP,0,0)
P_up1=iCustom(Symbol(),Period(), "rezerv-xrust",FrApPrise,0,0);
{Comment("show price channel=",P_up0,"\n", "show xrust=",P_up1);}
//----
return(0);
}
used two indicators
1)https://www.mql5.com/de/code/8908
Preiskanal.mq4
2)https://www.mql5.com/ru/code/8318
Fractal_Level_Xrust_V2.mq4
bitte helfen Sie, warum 1 zeigt und das andere nicht will?
Das ist es, was ich sagen wollte. Bedingt meine Sprache... Ich denke, entweder hat der Programmierer keine Angst vor Mathematik oder es ist eine Art Schutz vor dem Lesen von Code (nur ein Scherz). Ich weiß nicht, meine persönliche Meinung ist, dass Mathematik den Algorithmus genauso vereinfacht wie switch...case anstelle von if.
Dieser Kodex weist einen Fehler auf. Hier, aus dem Zusammenhang gerissen:
Der springende Punkt ist, dass der Ausdruck
Daher wird der Wert des Loses auf eine Dezimalstelle gerundet.
Aber lesen Sie weiter, vielleicht hilft es ja.
Eine kleine Ergänzung zur Beschreibung meiner Frage: Ich habe den Crunch-Indikator neu erstellt, hier ist der Code
#property copyright "#Copyright © 2008, XrustSolution.#"
#property link "#xrust.ucoz.net#"
#property indicator_chart_window
extern int TimeFrame=0;//Wenn=0, dann der aktuelle
extern string FrApNam="Ap";//Name der Linie, die dem nach oben gerichteten Fraktal entspricht.
extern string FrDnNam="Dn";//Name der Linie, die dem Fraktal nach unten entspricht
//-----------------------------------------------------------------------------+
double FrPrise;
double FrApPrise=0,FrDnPrise=0;
//+----------------------------------------------------------------------------+
void init(){
if(TimeFrame==0){TimeFrame=Period();}
IndicatorShortName("Factal_Level_Xrust "+TimeFrame);
FrApNam=StringConcatenate(FrApNam,TimeFrame);
FrDnNam=StringConcatenate(FrDnNam,TimeFrame);
return;}
void deinit(){
ObjectDelete(FrDnNam);
ObjectDelete(FrApNam);
Kommentar(" ");
return;}
//+----------------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int-Grenze;
double tmp;
int i, j,k;
if(counted_bars<0) return(-1);
if(gezählte_Balken>0) gezählte_Balken--;
limit=Balken-gezählt_Balken;
//-----------------------------------------------------------------------------+
LineAp();
LineDn();
string FAP=DoubleToStr((FrApPrise),Digits);
string FDP=DoubleToStr((FrDnPrise),Digits);
int diap=MathRound((FrApPrise-FrDnPrise)/Point);
{Kommentar("TimeFrame="+TimeFrame+
"\nApPrise111 ="+FAP+
"\nDnPrise ="+FDP+
"\nFractal Channel ="
+diap+"Punkt");}
zurück(0);
}
//-----------------------------------------------------------------------------+
// sucht die horizontale Linie nach Namen und zeichnet sie neu, wenn sich der Preis geändert hat |
//-----------------------------------------------------------------------------+
void LineDn(){
FrPrise=NormalizeDouble(FindNearFractal(0,TimeFrame,MODE_LOWER),MarketInfo(Symbol(),MODE_DIGITS));
FrPrise=NormalizeDouble(FrPrise,MarketInfo(Symbol(),MODE_DIGITS));
//Kommentar(FrPrise);
if(ObjectFind(FrDnNam)==0){
if(ObjectGet(FrDnNam,OBJPROP_PRICE1)==FrPrise){return;}}
FrDnPrise=FrPrise;
ObjectDelete(FrDnNam);
WindowRedraw();
return;}
//-----------------------------------------------------------------------------+
// sucht nach einer horizontalen Linie nach Name, zeichnet neu, wenn sich der Preis geändert hat |
//-----------------------------------------------------------------------------+
void LineAp(){
FrPrise=NormalizeDouble(FindNearFractal(0,TimeFrame,MODE_UPPER),MarketInfo(Symbol(),MODE_DIGITS));
FrPrise=NormalizeDouble(FrPrise,MarketInfo(Symbol(),MODE_DIGITS));
if(ObjectFind(FrApNam)==0){
if(ObjectGet(FrApNam,OBJPROP_PRICE1)==FrPrise){return;}}
FrApPrise=FrPrise;
ObjectDelete(FrApNam);
WindowRedraw();
return;}
//-----------------------------------------------------------------------------+
//Kim Respekt und Achtung !!! |
//+----------------------------------------------------------------------------+
//| Autor: Kim Igor V. alias KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Version : 07.10.2006 |
//| Beschreibung : Suche nach dem nächstgelegenen Fraktal. Gibt das Preisniveau zurück. |
//+----------------------------------------------------------------------------+
Parameter: //|
//| sy - Instrumentenname ("" oder NULL - aktuelles Symbol) |
//| tf - Zeitrahmen ( 0 - aktueller TF) |
//| Modus - fraktaler Typ (MODE_LOWER|MODE_UPPER) |
//+----------------------------------------------------------------------------+
double FindNearFractal(string sy="0", int tf=0, int mode=MODE_LOWER) {
if (sy=="" || sy=="0") sy=Symbol();
double f=0;
int d=MarketInfo(sy, MODE_DIGITS), s;
if (d==0) if (StringFind(sy, "JPY"<0) d=4; sonst d=2;
for (s=2; s<100; s++) {
f=iFractals(sy, tf, mode, s);
if (f!=0) return(NormalizeDouble(f, d))
}
Print("FindNearFractal(): Fraktal nicht gefunden");
zurück(0);
}
Ich brauche keine Linien auf dem Diagramm, ich brauche nur zwei Zahlen (eine von jedem dieser Geist-Indikatoren).
Eine kleine Ergänzung zur Beschreibung meiner Frage: Ich habe den Crunch-Indikator überarbeitet, hier ist der Code
Wenn Sie eine Antwort wollen, sollten Sie etwas mehr Respekt vor den Leuten haben, die Ihr Geschreibsel lesen.
Der Code sollte über die SRC-Schaltfläche eingefügt werden - sie befindet sich über dem Bearbeitungsfeld Ihres Beitrags neben anderen Formatierungswerkzeugen.