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

 
Nein, warum?
 
StrToDouble
 
Es gibt 2 schwebende Aufträge, von denen einer ausgelöst wurde, wie kann ich den zweiten löschen?
 
Sie stellen dieselbe Frage mehr als einmal. Schreiben Sie genau auf, was Sie brauchen, und ich werde es Ihnen verschreiben.
 
zhuki >>:
Вы не однократно задаёте один и тот же вопрос. Пишите точно, что надо я вам пропишу.

Es gibt 2 schwebende Aufträge, von denen einer ausgelöst wurde, wie kann ich den zweiten löschen?

 
                  for(int i=OrdersTotal()-1;i>=0;i--)
                   {
                  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) continue;
                  if (OrderSymbol()==Symbol())
                  if (OrderType()>1)   OrderDelete(OrderTicket());
                  }
Es gibt also zwei von ihnen, oder gibt es bereits eine. Damit werden alle ausstehenden Aufträge gelöscht. Oder?
 
war dabei, ein System zu schreiben. stieß auf ein Problem.
gibt es einen Experten
#include <H1.mqh>

void init(){}
void deinit(){}
void start(){Print(f1());}
es gibt mqh
#import "B1.ex4"
#import "B2.ex4"

string f1();
string f2();
und zwei Bibliotheken, zunächst B1
#property library
#property stacksize  8192

#include <H1.mqh>
/*
#import "B2.ex4"
   string f2();
#import*/

string f1(){return(StringConcatenate("Апчхи! ", f2()));}
jetzt und B2
#property library
#property stacksize  8192

string f2(){return(" Будь здоров!");}

Ich benötige einen Expert Advisor, der die Funktion aus der ersten Bibliothek ohne Probleme aufrufen kann, und die Funktion aus B1 verwendet die Funktion aus B2,
aber das Terminal schreibt, dass
2010.04.13 20:25:03 B2 EURUSD,M30: Funktion 'f1' wird nicht gefunden
Wie kann man das beheben? Ist es überhaupt möglich, dass Funktionen aus einer Bibliothek Funktionen aus einer anderen Bibliothek aufrufen?
 
Ich tue dies zu Beginn des EA, indem ich feststelle, was bei der Ankunft des Tics geschieht. Zum Beispiel.
int BL=0,SL=0,B=0,S=0,BS=0,SS=0;
//-------------- Определим что имеем --------------------------------------------      
          for(int r=0;r<OrdersTotal();r++) //  
      {
      if(OrderSelect(r,SELECT_BY_POS,MODE_TRADES)==false)    continue;
      if(OrderSymbol()==Symbol())
      {
      if (OrderType()==OP_BUY )         B++;
      if (OrderType()==OP_SELL )        S++;
      if (OrderType()==OP_BUYLIMIT )   BL++;
      if (OrderType()==OP_SELLLIMIT)   SL++;
      if (OrderType()==OP_BUYSTOP )    BS++;
      if (OrderType()==OP_SELLSTOP)    SS++;
      }}
Außerdem müssen Sie die Anzahl der Aufträge festlegen, mit denen Sie arbeiten können. Zum Beispiel, wie viele ausstehende Aufträge BL+SL+BS+SS und so weiter.
Brauchen Sie es?
 
Das kann ich so nicht verstehen, schreiben Sie es in meine persönliche Nachricht, ich werde es korrigieren.
 
vlandex >>:

Есть 2 отложенных ордера, один из них сработал, как удалить второй?

Löscht alle verbleibenden ausstehenden Aufträge.

Und wenn Sie eine substanzielle Antwort wollen, dann Teil des Algorithmus im Studio.

//В конец кода отдельной функцией
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int OrdersDelete(int MagicNumber) //magic 
{
   for(int i = 0; i < OrdersTotal(); i++)
   {
      // already closed
      if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES ) == false) continue;
      // not current symbol
      if(OrderSymbol() != Symbol()) continue;
      // order was opened in another way
      if(OrderMagicNumber() != MagicNumber) continue;
        if(OrderType() >1)
        OrderDelete(OrderTicket());
   }
  return(0); 
}
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

int start()
{
 OrdersDelete(STUPID);//STUPID это мажик номер Вашего советчика
 трали вали ...