[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 505

 
MaxZ:
Was ist, wenn ein Geschäft manuell eröffnet wurde? Oder das Terminal wurde neu geladen!? Diese Bedingung ist eigentlich nur für TF D1 geeignet.

iTime( ) ist für jede TF gültig, im Gegensatz zu Time[ ] :))
 
borilunad:

iTime( ) ist für jede TF geeignet, im Gegensatz zu Time[ ] :))

Ich habe es selbst herausgefunden... Über TF habe ich mein eigenes Argument gelöscht! ;) Lesen Sie ein neues Buch! :D

 
MaxZ:

Vielleicht... Loki war schon immer ein Profiteur der DCs und wird es auch in Zukunft sein. Sonst würden sie alle verboten werden! :DD

Im vorliegenden Fall könnte man zwar argumentieren, aber darauf habe ich keine Lust.

Sagen Sie mir lieber, ob Sie wissen, ob es solche Konten in MT4 gibt!? :)))


Wenn ich mich nicht irre, gibt interbankfh bei der Eröffnung von Gegenkonten eine Marge frei.
 
VladislavVG:

Wenn ich mich nicht irre, befreit interbankfh die Marge bei der Eröffnung eines Schalters.
F4U tut es auch... Sie haben eine Funktion namens "gesperrte Marge". Nur, wie ich weiß, kann man ein solches Schloss auch nicht öffnen, wenn die verfügbaren Mittel im Minus sind.
 
MaxZ:

Was ist, wenn eine manuelle Transaktion offen ist?

Es besteht keine Notwendigkeit, die falschen Griffe zu verwenden und die Logik des TS zu durchbrechen.

Wählen Sie das eine oder das andere:

  1. Krumme Griffe
  2. Halbautomatisch, d.h. die Automatisierungssignale, die der Händler ausführt.
  3. Autotrading

Wenn Sie sie nicht benötigen, streichen Sie sie durch.

 
MaxZ:

Ich habe es selbst herausgefunden... Über TF Ihr Argument wurde gelöscht! ;) Lesen Sie das neue Argument! :D

Einverstanden! Es ist gut, alle Bedingungen zu haben und sie alle zusammen zu lösen!

Wenn ich nicht mehr als einen öffnen muss, verwende ich auch ExistPosts() von KimIV, aber das funktioniert nur, solange die Position nicht geschlossen ist!

 
borilunad:

Ich bin einverstanden! Es ist gut, alle Bedingungen zu haben und sie alle zusammen zu lösen!

Wenn ich nicht mehr als eine Position öffnen muss, verwende ich auch ExistPostions() von KimIV, aber das funktioniert, bis die Position geschlossen ist!

Alles in allem: Es hat geklappt! :))) Oh, und Man Us hat ein Dankeschön geschrieben! :)

Dies bleibt jedoch unklar:

MaxZ:

Gibt es MT4-Konten, bei denen man ein Schloss mit negativem Eigenkapital eröffnen kann? Ich stelle diese Frage aus reinem Interesse. Der Streit wurde in einem anderen Forum ausgetragen. Mir wurde gesagt, dass es solche Konten gibt! :DD

Damit es keine unnötigen Fragen gibt, hier ein Beispiel:

Sie haben einen Handel mit dem Volumen N eröffnet. Ihr Terminal sagt nach der Zeile "Free:": "-XXX.XX"... Könnten Sie ein Schloss mit Volumen N! öffnen? Ich glaube nicht, dass dies bei einem normalen Konto möglich ist... Und mir wurde gesagt, dass es einige Sonderkonten gibt! :)))))) Ich kann es nicht glauben...

 
MaxZ:

Wie auch immer, es ist erledigt! :))) Oh, und Man Us schrieb Danke! :)

Dies ist jedoch nach wie vor unklar:



Und ich kann es nicht glauben! Ruht Onkel Kolja dort?

Es ist normal, dass bei einem Defizit auf dem Konto alle Positionen zwangsweise geschlossen werden. Eine andere Sache ist, wenn es Ihnen gelungen ist, einen Verlust zu eröffnen, weil sich die Marge für den Verlust nicht erhöht, während Sie in derselben Richtung nicht einmal eine schwebende Position eröffnen können.

 

Liebe Fachleute, Hilfe bei den Funktionen. Ich habe zwei Funktionen (nicht meine), die ich verwende, um den aktuellen Gewinn (Verlust) eines Paares in offenen Aufträgen zu berechnen, die wie folgt aussehen:

double PPLot;//(в глобальных настройках)
//----------------------------------------------------------------------
//Вспомогательная функция для расчета общей прибыли (убытка) по паре
double Auto_Points()
{
  if(Digits==5 || Digits==3){
    PPLot=10*MarketInfo(Symbol(),MODE_TICKVALUE);
    return(Point*10.0);
  }
  else{
    PPLot=MarketInfo(Symbol(),MODE_TICKVALUE);
    return(Point);
  }
}
//Функция расчета Прибыли/убытка по паре
double SummSymbol()
{
    int n=0;
    double SumSymbol=0;
    int NBuy=0;
    int NSell=0;
    int ttl=OrdersTotal();
    for(int cnt=0;cnt<ttl;cnt++){
        OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
        if(OrderSymbol()==Symbol()){
           n++;
           if(OrderType()==OP_BUY){
              NBuy++;
              SumSymbol+=OrderSwap()+((Bid-OrderOpenPrice())/Auto_Points())*OrderLots()*PPLot;
           }
           if(OrderType()==OP_SELL){
              NSell++;
              SumSymbol+=OrderSwap()+((OrderOpenPrice()-Ask)/Auto_Points())*OrderLots()*PPLot;
           }
        }
    }
    return(SumSymbol);
}

Aber das Problem ist, dass sie nur auf das Paar zählen, auf dem der EA steht und ich muss angeben, für welches Paar Gewinn (Verlust) zu zählen, zum Beispiel wie folgt: SummSymbol(string OrdSmb)

Ich habe Symbol() in OrdSmb geändert, aber meine Berechnungen sind für alle Paare falsch, außer für das des Beraters.

 
Lians:

Liebe Fachleute, Hilfe bei den Funktionen. Ich habe zwei Funktionen (nicht meine), die ich verwende, um den aktuellen Gewinn (Verlust) eines Paares in offenen Aufträgen zu berechnen, die wie folgt aussehen:

Aber das Problem ist, dass sie nur auf das Paar zählen, auf dem der EA steht und ich muss angeben, für welches Paar Gewinn (Verlust) zu zählen, zum Beispiel wie folgt: SummSymbol(string OrdSmb)

Ich habe Symbol() in OrdSmb geändert, aber meine Berechnungen sind für alle Paare falsch, außer für das des Beraters.


Siehe

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает суммарный профит открытых позиций в валюте депозита |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double GetProfitOpenPosInCurrency(string sy="", int op=-1, int mn=-1) {
  double p=0;
  int    i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (mn<0 || OrderMagicNumber()==mn) {
            p+=OrderProfit()+OrderCommission()+OrderSwap();
          }
        }
      }
    }
  }
  return(p);
}
Grund der Beschwerde: