Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 328
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
{
for (int i = 3; i<=Bars; i++)
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i);
double LastUpperFractalPrice = High [i]; return (LastUpperFractalPrice);
}
Ist das richtig? Wird diese Funktion den Preis des letzten oberen Fraktals zurückgeben?
Ist das richtig? Wird diese Funktion den Preis des letzten oberen Fraktals zurückgeben?
Beispiel für eine fraktale Suche
{
for (int i = 3; i<=Bars; i++)
{
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i);
{
double LastUpperFractalPrice = High [i];
}
}
return (LastUpperFractalPrice);
}
Wird das funktionieren oder nicht?
double GetLastUpperFractalPrice()
{
for (int i = 3; i<=Bars; i++)
{
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0)
{
double LastUpperFractalPrice = Hoch [i];
}
}
return (LastUpperFractalPrice;)
}
Wird das funktionieren oder nicht?
So wird es zum Beispiel:
So wie Sie es haben, wird es das nicht.
double GetLastUpperFractalPrice()
{
for (int i = 3; i<=Bars; i++)
{
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i);
{
double LastUpperFractalPrice = High [i];
}
}
return (LastUpperFractalPrice);
}
Wird es funktionieren oder nicht?
Nein. Geben Sie den Code über den SRC im Bedienfeld ein.
return (ХХХ) wird von der Benutzerfunktion zurückgegeben - was dort eingegeben wurde, wird von dieser Funktion zurückgegeben - der Wert von ХХХХ oder ein Ergebnis einiger Rechenfunktionen.
Wenn also ein Fraktal gefunden wird, schreiben Sie return (High [i]) - Sie müssen nichts weiter erfinden.
Weit vor Ihnen))
Dies ist eine elementare Funktion der Platzierung von schwebenden Aufträgen, die Parameter sind nicht wichtig, aber es ist wichtig, um den Expert Advisor (es kann die bestehende Schleife von schwebenden Aufträgen verwenden) nach Erhalt eines "neuen Preises" oder zurückzusetzen oder anderweitig zu vermeiden, Aufträge zum gleichen Preis. In diesem Fall sollte die Schleife der Auftragserteilung nicht unterbrochen werden.
double Dist=10000.0;
Zeichenfolge SMB;
double NewPrice;
int i;
int start()
{
RefreshRates();
SMB=Symbol();
{UstanOtlozh();}
}
zurück(0);
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped(); // Hier wird das Skript ausgelöst
RefreshRates();
SMB=Symbol();
{
int i=1;
while(i<=OrdersTotal())
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // wenn es eine
{ // Auftragsanalyse:
if (OrderSymbol()!= SMB) continue; // Nicht unser Finanzinstrument.
int Tip=OrderType(); // Art der Bestellung
if (Tip<2) continue; // Börsenauftrag
double NewPrice=OrderOpenPrice(); // Preis der Bestellung
{
while(NeuerPreis<=Ask+200*Punkt||NeuerPreis>=Ask+50*Punkt)
{
NeuerPreis=NeuerPreis+50*Punkt;
OrderSend(SMB,OP_BUYSTOP,0.01,NewPrice,3,0,0,NULL,0,CLR_NONE);
if(NeuerPreis>Ask+200*Punkt||NeuerPreis<Ask+50*Punkt)
Pause;
}}}}}}
Ich habe es so eingerichtet, dass es kompiliert - und 555 Build von mt4 EDITOR verwenden - es hilft wirklich, Probleme schnell zu finden. lesen Sie einfach das Handbuch vor der Installation - die ersten 15 Seiten.
Ich hätte nie gedacht, dass ich einmal nach einer so einfachen Sache fragen würde. Beim Kompilieren erhalte ich die Meldung, dass die Funktion BU() nicht beteiligt ist. Ich habe es so formuliert (der Code ist gegeben), dass jetzt alles kompiliert wird, aber die Break-Even-Funktion funktioniert nicht. Ich habe die gleiche Breakeven-Funktion in anderen EAs gesehen.
Ich hätte nie gedacht, dass ich einmal nach einer so einfachen Sache fragen würde. Beim Kompilieren erhalte ich die Meldung, dass die Funktion BU() nicht beteiligt ist. Ich habe es so formuliert (der Code ist gegeben), dass jetzt alles kompiliert wird, aber die Break-Even-Funktion funktioniert nicht. In anderen EAs funktioniert genau die gleiche Break-Even-Funktion.
Der einzige Grund ist der falsche if(...)-Operator return; Es scheint, dass Sie nur einen haben - am Anfang des Programms.
Meine Herren!!! Worüber seid ihr verwirrt?
iFractals() gibt den Preis zurück, nicht die Taktnummer des Fraktals.
Der einzige Grund dafür ist ein falscher if(...)-Operator, der zurückkehrt; Sie scheinen einen zu haben - am Anfang des Programms.