[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 841

 
etroplus:

Bitte um Rat!

Gibt es eine Funktion, die den Gewinnwert einer offenen Position in Pips zurückgibt?

(Bid - OrderOpenPrice())/Point;    //для ордеров BUY
(OrderOpenPrice() - Ask)/Point;    //для ордеров SELL
 
webgreck:

prüfen, ob ein Datumswechsel stattgefunden hat und die Funktionen

MarketInfo(Symbol(),MODE_SWAPSHORT);
MarketInfo(Symbol(),MODE_SWAPLONG);
 
alsu:

prüfen, ob sich das Datum geändert hat und die Funktionen verwenden


Wie können Sie das Datum kontrollieren? Es ändert sich nicht. Sehen Sie sich den Screenshot an.

 
webgreck:


Ich habe eine Menge von Aufträgen, die unterschiedlich ausgearbeitet werden müssen, welche Art von Trailing, welche Art von festen Zielen und setzen Parität, aber ich kann nicht mit dieser Aufgabe zu bewältigen, weil nach dem Geschäft geschlossen ist und öffnet wegen der Swap, ändert es die Ticket-Nummer, so kann ich nicht die Ticket-Nummer verwenden, um die Position zu identifizieren, um zu wissen, was mit ihm zu tun.

Bitte geben Sie mir Ratschläge, wie ich mit dem Swap umgehen soll und wie ich einen Handel erkennen kann und weiß, ob ich bereits die Parität dafür festgelegt habe oder nicht usw.


In diesen Fällen kann die "magische Auftragsnummer" aktiv genutzt werden.
 
abolk:

In diesen Fällen kann die Magic Number Order aktiv genutzt werden.

Ich verwende bereits die magische Zahl, um die drei Arten von Signalen zu identifizieren ... Wenn ich bereits eine Parität für eine Pose platziert habe, sollte ich mir wahrscheinlich eine Möglichkeit überlegen, die magische Zahl zu verwenden, um festzustellen, ob ich bereits eine Parität platziert habe. Zum Beispiel können wir einer Bestellung einen magischen Zahlenwert geben, aber die magische Zahl kann nicht bearbeitet werden ... oder liege ich falsch? Wir können ihr nur einen Wert geben, wenn wir die Bestellung einstellen, aber was können wir in die magische Zahl schreiben, damit wir in der Lage sind zu überprüfen, ob die Parität bereits für die Bestellung eingestellt wurde?
 
webgreck:

Ich verwende es bereits, um die drei Arten von Signalen zu identifizieren ... Wenn Ihr Algorithmus eng mit der Auftragserfassung verbunden ist, muss ich Ihren Algorithmus kennen, um mir in diesem Fall helfen zu können.

Wenn Ihr Algorithmus eng mit der Auftragsidentifizierung verbunden ist, sollten wir Ihren Algorithmus kennen, um Ihnen in diesem Fall helfen zu können.
 
abolk:

Wenn Ihr Algorithmus eng mit der Identifizierung von Aufträgen verknüpft ist, müssen wir Ihren Algorithmus kennen, um Ihnen in diesem Fall helfen zu können.


Ich hatte Angst vor dieser Frage, denn das System ist ziemlich kompliziert und lässt sich nur schwer mit zwei Worten beschreiben. Ich möchte den Code auch nicht posten, da es Tausende von Codezeilen sind und niemand sie verstehen oder sich darum kümmern wird...

Ich dachte, es gäbe einige gängige flexible Methoden zur Umsetzung der Auftragserfassung ... Die magische Zahl ist im Grunde das, wofür sie da ist, aber sie kann nicht bearbeitet werden, um sich daran zu erinnern, dass der Auftrag bereits so oder so erledigt wurde ...

Vielleicht ist es noch möglich, eine magische Zahl zu bearbeiten?

 
webgreck:


Wie kontrollieren Sie das Datum, das sich nicht ändert? Sehen Sie sich den Screenshot an.

wie kann sich das nicht ändern? auf ihrem bildschirmfoto war es der 13. januar um 00:00 14. swap floz - swap open
 
webgreck:


Ja, das ist die Frage, vor der ich Angst hatte), weil der Algorithmus nicht einfach ist ... das System ist ziemlich komplex und kann nicht mit 2 Worten beschrieben werden. Und den Code zu setzen macht auch keinen Sinn, da es Tausende von Codezeilen gibt und niemand sie verstehen und erforschen wird ...

Ich dachte, es gäbe einige gängige flexible Tricks, um die Identifizierung von Aufträgen zu implementieren ... Wir haben eine magische Zahl für diesen Zweck, aber wir können sie nicht bearbeiten, um uns daran zu erinnern, was bereits mit dieser Bestellung gemacht wurde ...

Vielleicht ist es möglich, die magische Zahl einer Bestellung zu bearbeiten?


Und man rechnet die Öffnungszeit in int um - da hat man zwei Magier für eine Position. Wenn Sie die Parität nicht eingestellt haben, gibt es nur Magie. Wenn Sie die Parität bereits eingestellt haben, ist die Variable, die für das Vorhandensein der eingestellten Parität verantwortlich ist, gleich dem Zeitpunkt der Positionseröffnung, der mit int bezeichnet wird, und die Position hat eine magische Zahl... :)
Von dort aus tanzen...
 

Hallo!

Ich kann nicht verstehen, warum die geöffneten Aufträge nicht geändert werden, die Änderungsbedingung ist ein Gewinn über 5 Pips.

//+------------------------------------------------------------------+
|| news trade.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#property link "http://www.metaquotes.net"


extern bool In_BUYSTOP=true;
extern intProfit_buy=100;
extern int StopLoss_buy=5;
extern double Lots_buy=0.01;
//+------------------------------------------------------------------+
extern bool In_SELLSTOP =true;
extern inttern TakeProfit_sell=100;
extern int StopLoss_sell =5;
extern double Lots_sell =0.01;
extern int LevelProfit = 25; // - Gewinnniveau in Punkten, das erreicht werden muss, um seinen Stopp auf das Breakeven-Niveau zu verlegen.
extern int LevelWLoss = 1; // - Breakeven-Level in Punkten, auf das die Stop-Position verschoben wird, nachdem ihr Gewinn das LevelProfit-Level in Punkten erreicht hat.

//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//----
int profitbuy=((Bid - OrderOpenPrice())/Point); // BUY
int profitsell=((OrderOpenPrice()- Ask)/Point); // SELL
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
//----
{
int-Ticket;
wenn (Bid >iHigh(NULL,PERIOD_D1,1))
{
if(AufträgeSumme() < 1)
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots_sell,iHigh(NULL,PERIOD_D1,1),3,iHigh(NULL,PERIOD_D1,1)+StopLoss_sell*Point,iHigh(NULL,PERIOD_D1,1)-TakeProfit_sell*Point,Hour() == 21 && Minute() == 59);
if(OrderSelect(1, SELECT_BY_POS,MODE_TRADES)==true)
{
int profitsell=((OrderOpenPrice()- Ask)/Point);
wenn (Gewinn>5)
ticket=OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderTakeProfit(),0,Blue);
zurück(0);
}
}
wenn (Ask <iLow(NULL,PERIOD_D1,1))
{
if(AufträgeSumme() < 1)
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots_buy,iLow(NULL,PERIOD_D1,1),3,iLow(NULL,PERIOD_D1,1)-StopLoss_buy*Point,iLow(NULL,PERIOD_D1,1)+TakeProfit_buy*Point,Hour() == 21 && Minute() == 59);
if(OrderSelect(1, SELECT_BY_POS,MODE_TRADES)==true)
{
int profitbuy=((Bid - OrderOpenPrice())/Point);
wenn (Gewinnkauf>5)
int stopmodify=OrderOpenPrice();
OrderModify(OrderTicket(),OrderOpenPrice(),stopmodify,OrderTakeProfit(),0,Blue);
zurück(0);
}
}
//ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
zurück(0);
}
//+------------------------------------------------------------------+