Wenn Sie im Tester beobachten wollen, können Sie den Test für eine spätere Zeit als die tatsächliche Zeit entfernen. Dies geschieht in OnInit. Und ich erinnere mich nicht, ob in 4ka im Tester eine Zeitanfrage genau die Testerzeit zurückgibt. Ich denke, es wird die aktuelle Zeit zurückgeben, so dass im Tester nur Bestellungen auf einmal aufgegeben werden und das war's. Auch bei der Abfrage der Ortszeit wird die aktuelle Ortszeit angezeigt.
Es ist in der 5k im Tester eine komplette Umgebung Emulator.
Bitte helfen Sie mir, Korrekturen vorzunehmen. Dieser EA schließt die offenen Aufträge nicht zwangsweise. Ich möchte die Zeit der Zwangsschließung zusammen mit der Zeit der Grenzwerteinstellung einstellen können. Ich brauche TP und trall, um sie zu optimieren. Ein Trall, so dass alle Grenzen auf eine kleine Art und Weise geschlossen werden würden, aber sammeln nächtlichen Lärm.
Hallo. Wer kann mit einem EA für MT4 helfen. Ich brauche einen EA ohne Tricks, um manuell erteilte Aufträge (mit oder ohne Magie) zu verfolgen. Wenn eine Order bei einem Stop Loss geschlossen wird, öffnet der EA eine neue Order in der gleichen Richtung mit einem bestimmten Lot, SL und TP.Wenn eine Order bei einem Take Profit geschlossen wird, öffnet der EA eine neue Order in der entgegengesetzten Richtung mit einem bestimmten Lot, SL und TP. Vielleicht gibt es einige fertige Lösungen, ich habe nichts gefunden. Vielen Dank im Voraus.
Anton Yakovlev: Wenn Sie eine gute Strategie haben und bereit sind, sie zu teilen, kann ich einen EA schreiben.
Hallo, ich brauche einen Indikator, der auf der Grundlage von Kerzenbewegungen (Muster) arbeitet. ist es möglich, es zu schreiben, wie viel und wie Sie Ihre Anfrage übergeben.
Setzen Sie 2 unterschiedlich ausgerichtete Kauf-Limit-/Verkaufs-Limit-Aufträge in einem Abstand von X mit Stop, Take, Trawl.
Zum Beispiel:
Wenn der Kurs eines der Limits berührt und diesen Auftrag mit Stop oder Take schließt, wird das gegenüberliegende Limit annulliert und es werden wieder 2 unterschiedlich ausgerichtete Limits gesetzt.
Und wie kann man die Streuung bei Begrenzern begrenzen?
Wenn der Spread z.B. höher als 5 Pips ist, sollten Sie keine Pending Orders platzieren, aber wenn es zu problematisch ist, können Sie diesen Parameter auch weglassen.
Ivan Bielyi #: Ich meine, wenn der Spread höher als 5 Punkte ist, sollten wir keine Pending Orders platzieren, aber wenn es sehr problematisch ist, können wir diesen Parameter auslassen.
Was soll das bringen? Sie werden jetzt nicht ausgeführt (es handelt sich um Grenzwerte). Und wenn es dann an der Zeit ist, den Auftrag auszuführen, wird die Spanne ganz anders aussehen.
Was soll das bringen? Sie werden jetzt nicht ausgeführt (es handelt sich um Grenzwerte). Und wenn es dann an der Zeit ist, den Auftrag auszuführen, wird die Spanne ganz anders aussehen.
Wenn Sie im Tester beobachten wollen, können Sie den Test für eine spätere Zeit als die tatsächliche Zeit entfernen. Dies geschieht in OnInit. Und ich erinnere mich nicht, ob in 4ka im Tester eine Zeitanfrage genau die Testerzeit zurückgibt. Ich denke, es wird die aktuelle Zeit zurückgeben, so dass im Tester nur Bestellungen auf einmal aufgegeben werden und das war's. Auch bei der Abfrage der Ortszeit wird die aktuelle Ortszeit angezeigt.
Es ist in der 5k im Tester eine komplette Umgebung Emulator.
Danke für die Klarstellung
https://www.mql5.com/ru/code/10236
//+------------------------------------------------------------------+
//| i`lbeback.mq4 |
//| Copyright ? 2011, AM2 && Tiburond |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2011, AM2 && Tiburond"
#property link "http://www.forexsystems.biz"
#define MAGIC 20110406
extern int StopLoss = 1300; //???????? ??????
extern int StartHour = 21; //??? ?????? ????????(???????????? ?????)
extern int Distance = 250; //?????????? ?? ???? ??? ????????? ??????
extern int Step = 50; //??? ????????? ???????
extern int Count = 4; //?????????? ??????????????? ???????
extern int Expiration = 4; //????? ????????? ??????
extern double Lots = 1; //???
extern bool MM = true; //?????????? ???????????????
extern double TSP = 5; //????
extern bool BU = true; //?????????? ?????? ??????? ? ????????? ? ??????? ???
extern int BUHour = 2; //??? ????? ??????? ??????? ??????? ? ?????????
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int b=0,s=0,res;
datetime expiration = TimeCurrent()+3600*Expiration;
double BuyPrice=fND(Open[0]-Distance*Point);
double SellPrice=fND(Open[0]+Distance*Point);
for (int i=OrdersTotal()-1;i>=0;i--)
{
if (OrderSelect(i, SELECT_BY_POS))
{
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=MAGIC) continue;
if (OrderType()==OP_BUYLIMIT) b++;
if (OrderType()==OP_SELLLIMIT) s++;
}
}
if (Hour()>BUHour && Hour()<StartHour && AllProfit()>0) ClosePositions();
if (Hour()>BUHour && DayOfWeek() == 5) ClosePositions();
if (Hour()==StartHour && b<1 && DayOfWeek() != 5)
for(i=1;i<=Count;i++)
{
{
res=OrderSend(Symbol(),OP_BUYLIMIT,fLots(),fND(Ask-(Distance*Point+i*Step*Point)),3,fND(BuyPrice-StopLoss*Point),fND(Open[0]),"",MAGIC,expiration,Blue);
Sleep(3000);
if(res<0)
{
Print("??????: ",GetLastError());
} else {
RefreshRates();
}
}
}
if (Hour()==StartHour && s<1 && DayOfWeek() != 5)
for(i=1;i<=Count;i++)
{
{
res=OrderSend(Symbol(),OP_SELLLIMIT,fLots(),fND(Bid+(Distance*Point+i*Step*Point)),3,fND(SellPrice+StopLoss*Point),fND(Open[0]),"",MAGIC,expiration,Red );
Sleep(3000);
if(res<0)
{
Print("??????: ",GetLastError());
} else {
RefreshRates();
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
double fND(double d, int n=-1)
{
if (n<0) return(NormalizeDouble(d, Digits));
return(NormalizeDouble(d, n));
}
//+------------------------------------------------------------------+
double fLots()
{
double lot=Lots;
double lot_min =MarketInfo( Symbol(), MODE_MINLOT );
double lot_max =MarketInfo( Symbol(), MODE_MAXLOT );
if (MM)
{
double lot_step =MarketInfo( Symbol(), MODE_LOTSTEP );
double lotcost =MarketInfo( Symbol(), MODE_TICKVALUE );
double dollarsPerPip=0.0;
lot = AccountFreeMargin()*TSP/100.0;
dollarsPerPip=lot/StopLoss;
lot=fND(dollarsPerPip/lotcost, 2);
lot=fND(lot/lot_step, 0) * lot_step;
}
if (lot<lot_min) lot=lot_min;
if (lot>lot_max) lot=lot_max;
return(lot);
}
//+------------------------------------------------------------------+
void ClosePositions()
{
if(BU)
for (int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol())
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)
{
if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Blue);
if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
}
Sleep(1000);
}
}
}
//+------------------------------------------------------------------+
double AllProfit()
{
double Profit = 0;
for (int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MAGIC) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) Profit += OrderProfit();
}
return (Profit);
}
//+------------------------------------------------------------------+
Bitte helfen Sie mir, Korrekturen vorzunehmen. Dieser EA schließt die offenen Aufträge nicht zwangsweise. Ich möchte die Zeit der Zwangsschließung zusammen mit der Zeit der Grenzwerteinstellung einstellen können.
Ich brauche TP und trall, um sie zu optimieren. Ein Trall, so dass alle Grenzen auf eine kleine Art und Weise geschlossen werden würden, aber sammeln nächtlichen Lärm.
Wenn Sie eine gute Strategie haben und bereit sind, sie zu teilen, kann ich einen EA schreiben.
Wie begrenze ich den Spread bei Limit-Aufträgen?
Und wie kann man die Streuung bei Begrenzern begrenzen?
Ich meine, wenn der Spread höher als 5 Punkte ist, sollten wir keine Pending Orders platzieren, aber wenn es sehr problematisch ist, können wir diesen Parameter auslassen.
Was soll das bringen? Sie werden jetzt nicht ausgeführt (es handelt sich um Grenzwerte). Und wenn es dann an der Zeit ist, den Auftrag auszuführen, wird die Spanne ganz anders aussehen.
Was soll das bringen? Sie werden jetzt nicht ausgeführt (es handelt sich um Grenzwerte). Und wenn es dann an der Zeit ist, den Auftrag auszuführen, wird die Spanne ganz anders aussehen.
Was sie als Grundlage nimmt und wie komplex der Algorithmus ist.
Ermittelt den Trend des gleitenden Durchschnitts