[Archiv!] Ich schreibe einen Ratgeber für FREE - Seite 22

 
nab17:
Hallo liebe Programmierer

Ich habe eine Frage. Ich benötige einen EA, der zwei bestimmte Aufträge mit ihrem Gesamtgewinn schließt, ohne andere Aufträge zu beeinträchtigen.
Es ist mir nicht gelungen, etwas Geeignetes zu finden.
Herzlichen Dank!

Ich würde es zu schätzen wissen, wenn Sie mich nicht mehr mit Spam-Mails überhäufen würden. Ein Beitrag in einem Thema reicht aus, um gehört zu werden. Die anderen habe ich gelöscht.
 
Vinin:
Bitte spammen Sie nicht mehr. Ein Beitrag in einem Thema reicht aus, um gehört zu werden. Den Rest habe ich gelöscht.
Woher kommen dann die höflichen und geduldigen Moderatoren? Das verstehe ich nicht.
 
Helfen Sie mir, einen Fehler im EA-Code zu beheben. Ich habe versucht, einen EA zu schreiben, der auf dem Indikator Laguerre.mq4 basiert. Beim Kompilieren trat ein Fehler auf. Die Fehlerstelle im Code ist fett gedruckt. Der Indikator befindet sich im Hauptteil des Expert Advisors.


//+------------------------------------------------------------------+
//| Laguerre+.mq4 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+

//---- Eingabeparameter
extern int TrailingStop=0;
extern int StopLoss=0;
extern double lots=0.1;
extern double gamma = 0,7;
extern int Preis_Typ=0;
//---- Puffer
double Filter[];
double L0[];
double L1[];;
double L2[];
double L3[];

//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{
IndikatorPuffer(5);
//---- Indikatoren
SetIndexStyle(0, DRAW_LINE);
SetIndexDrawBegin(0, 1);
SetIndexLabel(0, "LaguerreFilter");
SetIndexPuffer(0, Filter);
SetIndexBuffer(1, L0);
SetIndexPuffer(2, L1);
SetIndexBuffer(3, L2);
SetIndexBuffer(4, L3);
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")";
IndicatorShortName(short_name);
zurück(0);
}

//+------------------------------------------------------------------+
//| Funktion zur Deinitialisierung des Custor-Indikators |
//+------------------------------------------------------------------+
int deinit()
{
zurück(0);
}

//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Iterationsfunktion |
//+------------------------------------------------------------------+
int start()
{
int-Grenze;
int counted_bars = IndicatorCounted();
Doppel-CU, CD;
//---- zuletzt gezählte Takt wird nachgezählt
if (gezählte_Balken>0)
gezählte_Balken--;
sonst
gezählte_Balken = 1;
Grenze = Balken - gezählte_Balken;
//---- Berechnungen für RSI
for (int i=limit; i>=0; i--)
{
double Price=iMA(NULL,0,1,0,0,Price_Type,i);

L0[i] = (1,0 - gamma)*Preis + gamma*L0[i+1];
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1];
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1];
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1];

CU = 0;
CD = 0;
wenn (L0[i] >= L1[i])
CU = L0[i] - L1[i];
sonst
CD = L1[i] - L0[i];
wenn (L1[i] >= L2[i])
CU = CU + L1[i] - L2[i];
sonst
CD = CD + L2[i] - L1[i];
wenn (L2[i] >= L3[i])
CU = CU + L2[i] - L3[i];
sonst
CD = CD + L3[i] - L2[i];

wenn (CU + CD != 0)
Filter[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0;
}
zurück(0);

//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{
wenn (Auftragssumme()>0)
{
CU = 0;
CD = 0;
{
OrderSelect(SELECT_BY_POS);
if (AuftragSymbol()==Symbol())
{
if (Auftragsart()== OP_BUY)
{
wenn ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i])
OrderClose(OrderTicket(),OrderLots());
sonst CU++;
}
wenn (OrderType()== OP_SELL)
{
if (CD = L1[i] - L0[i],CD = CD + L2[i] - L1[i],CD = CD + L3[i] - L2[i])
OrderClose(OrderTicket(),OrderLots())
sonst CD++;
}
}
}

wenn (CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,);
}
wenn (CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0/*(Bid+StopLoss*Point)*/,0,);
}



//----
zurück(0);
}
//+------------------------------------------------------------------+
 
Zwei Anläufe. Lesen Sie das Lehrbuch noch einmal, dekonstruieren Sie die typische EA-Struktur.
 
Wenn die Pfeile eines Indikators müssen eine Bestellung in Richtung des Pfeils zu öffnen und wenn es ändert, schließen Sie die vorherige Bestellung und öffnen Sie eine neue, Einstellung Stop-Loss und Take-Profit.
 
kvg31:

Ich werde einen Ratgeber von beliebiger Komplexität schreiben. Die Hauptsache ist, dass man eine gute Idee hat. Wie Sie es verwenden werden, ist mir egal: verkaufen - ist mir egal (ich werde kein Geld verlangen).

P. S. Wenn Sie einen Indikator benötigen, müssen Sie mir die Strategie nennen, in der Sie ihn verwenden wollen.


Hallo! Brauche einen Handelsroboter auf MTD 4. Ich kann Bilder mit Beispielen von Trades schicken. bitte auf die Mail antworten. money3@inbox.ru Alle Angaben werden per Mail weitergeleitet. zusammen mit einem Foto und der Beschreibung.
 
Oleg888:

Hallo! Brauche einen Handelsroboter auf MTD 4. Ich kann Bilder mit Beispielen von Transaktionen senden. bitte auf die Mail antworten. money3@inbox.ru Ich werde alle Details per Mail schicken. zusammen mit einem Foto und einer Beschreibung.
Und einige Bilder von MTD 4.
 
granit77:
Zwei Anläufe. Lesen Sie das Lehrbuch noch einmal, dekonstruieren Sie die typische EA-Struktur.

Können Sie den Fehler korrigieren, damit ich ihn erkennen kann?
 
ramses:
Können Sie den Fehler beheben, damit ich sehen kann, dass es sich nicht um einen Irrtum handelt?
Wissen Sie, warum niemand Ihren Code korrigiert? Denn das zeigt eindeutig, dass Sie das Lehrbuch nicht gelesen haben, und in diesem Fall wäre es ein schwieriges und wahrscheinlich nutzloses Gespräch.
 
Hallo, ich benötige einen EA, der Positionen in beide Richtungen in einem bestimmten Abstand zum Markt platziert (z.B. Bay Stop und Sell Limit, optional besser in eine Richtung), wobei der Spread berücksichtigt wird. Mit der Möglichkeit, Anhänger zu aktivieren, während die Position nicht auf dem Markt ist, und sich zum Breakeven zu bewegen (nach flexiblen Kriterien), nachdem sie geöffnet wurde. Und wenn es eine Option gäbe, Positionen automatisch zu öffnen oder zu schließen, nachdem vorherige Positionen geschlossen wurden, wäre das großartig.
Grund der Beschwerde: