[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 376
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Hier habe ich die MathAbs-Funktion angewendet, Alert zeigt Null und Null, aber ich möchte die Differenz Modul und Bar Index...
{
int mas1[30,2],mas2[30,2],mas3[30,2],ind_1;
{
for (int i=1;i<=count_bars;i++)
{
mas1[i, 0]=Close[i];
mas1[i, 1]=i;
mas2[i, 0]=Open[ i];
mas2[i, 1]=i;
mas3[i, 0] = MathAbs(Close[ i]-Open[ i]);
mas3[i, 0] = i;
ArraySort( mas3);
mod_1=mas3[2, 0];
ind_1=mas3[2, 1];
Alert( mod_1," ",ind_1);
}
}
return(0);
}
Hallo zusammen
Ich bin neu in mql4 und versuche, einen Expert Advisor mit dem Aligator-Indikator zu schreiben
Ich versuche, einen EA auf mql4 zu schreiben, aber es ist noch nichts Brauchbares herausgekommen.
Bürgerinnen und Bürger Fachleute haben Ihnen vielleicht solch triviale Anfragen, Fragen, ... gestellt.
Aber noch können Sie Profis bitten, einen Experten auf dem Aligator Indikator zu schreiben
Pips-Strategie
Kauf- und Verkaufspositionen werden geschlossen, wenn StopLoss und TakeProfit erreicht sind.
Ein Kaufsignal, wenn die grüne Linie die blaue und rote Linie von unten nach oben kreuzt, eröffnet eine Kaufposition
ein Verkaufssignal, wenn das grüne Lineal rot und blau von oben nach unten kreuzt, um eine Verkaufsposition zu eröffnen
Eröffnen Sie nicht mehr als einen Auftrag, bis der Crossover geschlossen ist.
StopLoss =10;
TakeProfit =10;
Magie =33;
SlipSeite =5;
Los =0,1;
Ich danke Ihnen im Voraus
Ihre Arrays sind int, aber Open und Close sind double
Ersetzt, immer noch Nullen. Eine weitere Sache - in meinen zweidimensionalen Arrays ist ein Satz vom Typ double und der zweite vom Typ int (Balkenindizes). Wie kann man sie für die Zeit der Berechnungen in denselben Typ umwandeln, aber wieder in denselben Typ zurückkehren, wenn das Ergebnis ausgegeben wird?
Und was bedeutet count_bars?
Und was bedeutet count_bars?
count_bars = 30;
Ich habe nachgedacht, und beschlossen, dass zwei Arrays überflüssig sind, sie sind bereits programmatisch angegeben. Jetzt wird es leichter zu denken sein. Wie kann ich sie auf einen Typ reduzieren?
{
double mas1[30,2],mod_1;
int ind_1;
{
for (int i=1;i<=30;i++)
{
mas1[i, 0] = MathAbs(Close[i]-Open[i]);
mas1[i, 1] = i;
ArraySort(mas1);
mod_1=mas1[2, 0];
ind_1=mas1[2, 1];
Alert(mod_1," ",ind_1);
}
}
return(0);
}
count_bars = 30;
Dann ersetzen Sie durch
zu
Dann ersetzen Sie durch
zu
Ich habe sie ersetzt. mod_1 ergibt set={1,3,5,7,9,...,29}, aber ind_1 zeigt weiterhin Null.
zeigt nicht Null
aber Ihr Code ist ein wenig unverständlich
z.B. das mas-Array ist noch nicht gebildet worden, aber Sie sortieren es bereits
Vielleicht macht es der Kontext Ihrer Frage besser:
Ersetzt. mod_1 ergibt set={1,3,5,7,9,...,29}, aber ind_1 zeigt weiterhin Null an.
Ja.... Und warum bin ich so geistesabwesend?!
Es stellt sich heraus, dass alles einfach ist - ArraySort(mas1,30,1,MODE_DESCEND ). Du musst nur alles schreiben, was du schreiben sollst.
zeigt nicht Null
aber Ihr Code ist ein wenig unverständlich
z.B. das mas-Array wurde noch nicht erstellt und Sie sortieren es bereits