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.
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.
//+------------------------------------------------------------------+ //| 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);
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,); }
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.
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.
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.
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.
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.
Bitte spammen Sie nicht mehr. Ein Beitrag in einem Thema reicht aus, um gehört zu werden. Den Rest habe ich gelöscht.
//+------------------------------------------------------------------+
//| 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);
}
//+------------------------------------------------------------------+
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.
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.
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?
Können Sie den Fehler beheben, damit ich sehen kann, dass es sich nicht um einen Irrtum handelt?