Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 43

 
Dimka-novitsek: Aber es kämpft immer noch... Sagen wir action=ORDER_TYPE_SELL, dann heißt es 'action' - nicht deklarierter Bezeichner. OderENUM_ORDER_TYPE action=ORDER_TYPE_SELL, hier steht 'action' - unerwartetes Token. Und so weiter...

Die Frage "Was ist eine Funktion und was ist ein Funktionsaufruf" ist also immer noch ungelesen? :)

OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,i,last_tick.bid,margin); //параметры функции вставляются примерно так :)
 

Ich gehe schon...

Ich mache die Funktion nicht... Ich werde herausfinden, woher es kommt! Es tut mir leid, wenn ich Sie irregeführt oder missverstanden habe. Ich werde einfach...

Ah, hier.

OrderCalcMargin

Berechnet die erforderliche Marge für die angegebene Auftragsart im aktuellen Konto und im aktuellen Marktumfeld, ohne Berücksichtigung aktueller schwebender Aufträge und offener Positionen. Ermöglicht es Ihnen, den Betrag der Marge für den geplanten Handel zu schätzen. Der Wert wird in der Kontowährung zurückgegeben.
bool OrderCalcMargin(
ENUM_ORDER_TYPE action, // Auftragsart
string symbol, // Name des Symbols
double volume, // Volumen
doppelter Preis, //offener Preis
double& margin //Variable zur Ermittlung des Randwerts
);

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Dimka-novitsek:

Er runzelt immer noch die Stirn... Sagen wir action=ORDER_TYPE_SELL, dann heißt es 'action' - nicht deklarierter Bezeichner. OderENUM_ORDER_TYPE action=ORDER_TYPE_SELL, hier steht 'action' - unerwartetes Token.

Es ist überall... Und auf Englisch...

Dimitri!

Auch hier verweise ich Sie auf die Abschnitte über Funktionen und Funktionsaufrufe!


Definition der Funktion:

int function (int a, int b)
{
   return (a+b);
}

Zuerst kommt die Kopfzeile.

Sie enthält den Typ des Rückgabewerts (int), den Namen der Funktion und ihre Eingabeparameter mit ihren Typen!


Funktionsaufruf:

int c = 1;
int d = 5;
int summa;
summa = function(c, d);   // вызывается функция, фактические параметры переменные c и d
summa = function(1, 3);   // вызывается функция, фактические параметры числа 1 и 3
summa = function(1, d);   // вызывается функция, фактические параметры число 1 и переменная d

hier haben Sie zunächst einige Variablen definiert (oder auch nicht)

und dann rufen Sie die Funktion auf, indem Sie in Klammern schreiben, für welche Zahlen oder Variablen Sie sie aufrufen.

 
Ah, ich werde die Variablen oberhalb der Funktion deklarieren!
 
Ugh!!! 0 Fehler, 0 Warnung(en) 1 1 , Danke!!!
 
Bitte helfen Sie mir, ich kann nicht ein Programmierer zu werden, so sagen Sie mir einfach, was zu tun ist, ich habe ein Expert Advisor mql5, wie es zu mql4 zu ändern, wenn Sie nicht sagen können, mir bitte!!!! oder in privat
 
fokeevis:
Hilfe bitte, ich kann nicht ein Programmierer zu werden, so bitte sagen Sie mir, was zu tun ist, ich habe ein mql5 Expert Advisor, wie kann ich es ändern, um mql4, wenn Sie nicht schwer sind, mir zu sagen, über es!!!! oder persönlich.
Es ist kompliziert und sehr schwierig, vor allem für einen Nicht-Programmierer, daher ist es richtig, dass Sie Jobs fragen.
 
Ich habe auf Anfrage von jemandem eine Funktion entwickelt, die in etwa so aussehen sollte.
double GetLot(  double Risk,  ENUM_ORDER_TYPE  action ,  string  symbol ,   double  price ,  double   Lot  ){ 
                     double  volume=1,margin=1; 
                       if(!use_percent_of_deposit) return  (Lot) ; MqlTick last_tick;SymbolInfoTick(Symbol(),last_tick);
                                           switch(action)
     {
      case ORDER_TYPE_BUY: price=last_tick.asc ;
      case ORDER_TYPE_SELL: price=last_tick.bid ;
      case ORDER_TYPE_BUY_LIMIT: price=price;
      case ORDER_TYPE_SELL_LIMIT:  price=price;
      case ORDER_TYPE_BUY_STOP:  price=price;
      case ORDER_TYPE_SELL_STOP:  price=price;
      case ORDER_TYPE_BUY_STOP_LIMIT:  price=price;
      case ORDER_TYPE_SELL_STOP_LIMIT:  price=price;}
                     OrderCalcMargin(
         action,           // тип ордера
                  symbol,           // имя символа
                  volume,           // объем
                  price,            // цена открытия
                 margin            // переменная для получения значения маржи
                   ); 
         
         double  Koeffitsyenta=AccountInfoDouble(ACCOUNT_BALANCE)/ margin ;
         Lot= (Koeffitsyenta*Risk)/100;
         double Pt=1/SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP); 
          Lot= Lot*Pt; Print( "Lot*Pt  " ,  Lot   );
         Lot=NormalizeDouble(Lot,0); 
          Lot= Lot/Pt;
         double MAX=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX);
           double MIN=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN);
          if (Lot>MAX) Lot=MAX;if (Lot<MIN) Lot=MIN;
          return(Lot);
                 
                   }
Ich habe es noch nicht kompiliert, ich habe es nicht getestet, ich habe es in Notepad geschrieben.
 
Dimka-novitsek:
Ich habe auf Anfrage von jemandem eine Funktion entwickelt, die in etwa so aussehen sollte. Ich habe sie noch nicht kompiliert, ich habe sie nicht bei der Arbeit getestet, ich habe sie in Notepad geschrieben.
Was ist also die Frage?
 

Ist es möglich, den Spread auf dem MetaQuotes-Demo-Server konstant zu machen, denn die Fehlersuche und Anpassung wird zu einem Alptraum, da man den Spread berücksichtigen muss, der sich ständig ändert und das Bild verzerrt????????

Dergleitende Aufschlag bereitet unnötige Kopfschmerzen.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
Grund der Beschwerde: