Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 502

 

if(!ExistPositions(Symbol(),-1,44444))OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point,44444)

poprobuj

 
Zver4991:


Es sollte also geprüft werden, ob es überhaupt keine offenen Positionen mit diesem Assistenten gibt, egal zu welchem Zeitpunkt der Eröffnung..... eine einfache Begrenzung des Assistenten....toast

if(ExistPositions(NULL,-1,44444,-1)==false)//wenn es keine offenen Positionen mit dieser magischen Zahl gibt, dann check......

.... oder vielleicht verstehe ich nicht.... Ich habe -1, weil es mir egal ist, wann eine Position eröffnet wird ..... jedenfalls wird sie nur bei einem neuen Balken eröffnet und wenn der alte geschlossen wird, weil die Bedingungen festlegen, dass die Position nur eröffnet werden kann, wenn es keine offenen Positionen mit dieser magischen Zahl gibt

um es noch einfacher zu machen: Position öffnen und warten, bis sie geschlossen wird.... wenn er schließt, dann öffnet er wieder und sollte sicherlich nicht bei jedem Takt eine Position mit diesem Zauberer öffnen.... - auch hier besagt die Bedingung, zu prüfen, ob es keine offenen Positionen mit diesem Zauberer gibt


Setzen Sie also 0 in den letzten Parameter, damit es keine Rolle spielt, wann die Position eröffnet wird.
 
r772ra:

Geben Sie also 0 in den letzten Parameter ein, damit es keine Rolle spielt, wann die Position eröffnet wurde.

Ich habe das getan und es hat nicht geholfen, es erzeugt immer noch eine Position auf jedem Balken
 
gince:

if(!ExistPositions(Symbol(),-1,44444))OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point,44444)

poprobuj


es funktioniert auch nicht, es wird immer noch ein Handel auf jeden Balken gestempelt
 
Zver4991:

es hilft nicht, immer noch auf jeden Balken zu stempeln

fand den Fehler..... es ist alles über das Symbol, das ich einstellte, dass es mir egal ist, welches Symbol zu suchen, solange es nicht mit diesem Magier wäre, aber wenn ich einstelle, dass das aktuelle in Ordnung ist, um zu starten....obwohl seltsam, weil, wenn es nicht auf dem aktuellen Symbol und ist auf einem anderen dann würden wir nicht haben, um das Geschäft zu öffnen, bis es auf dem anderen Symbol mit diesem Magier schließt
 
Wie kann ich einen Parameter wie den Winkel eines gleitenden Durchschnitts mit bestimmten Parametern in einen EA einführen?
 
Wie verhindere ich, dass ein Limit gesetzt wird, wenn es bereits vorhanden ist?
 
Profitov:
Wie kann ich einen Parameter wie den Winkel eines gleitenden Durchschnitts mit bestimmten Parametern in einen EA einführen?

Es kommt darauf an, was man einstechen will )))
 
woin2110:
Wie kann ich verhindern, dass das Limit gesetzt wird, wenn es bereits gesetzt ist?

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.03.2008                                                     |
//|  Описание : Возвращает флаг существования ордеров.                         |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любой ордер)                    |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    ot - время открытия             ( 0   - любое время установки)          |
//+----------------------------------------------------------------------------+
bool ExistOrders(string sy="", int op=-1, int mn=-1, datetime ot=0) {
  int i, k=OrdersTotal(), ty;
 
  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      ty=OrderType();
      if (ty>1 && ty<6) {
        if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op)) {
          if (mn<0 || OrderMagicNumber()==mn) {
            if (ot<=OrderOpenTime()) return(True);
          }
        }
      }
    }
  }
  return(False);
}
 
Ich danke Ihnen vielmals.