Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 43

 
Dimka-novitsek: Eppure, sta ancora combattendo... Diciamo action=ORDER_TYPE_SELL, dice 'action' - identificatore non dichiarato. OppureENUM_ORDER_TYPE action=ORDER_TYPE_SELL, dice 'action' - token inaspettato. E così via...

Quindi "cos'è una funzione e cos'è una chiamata di funzione" non è ancora stato letto? :)

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

Lo prendo io...

Non faccio la funzione... Scoprirò da dove viene! Mi dispiace se vi ho fuorviato o se ho capito male. Io...

Ah, ecco.

OrderCalcMargin

Calcola l'importo del margine richiesto per il tipo di ordine specificato nel conto corrente e nell'ambiente di mercato corrente, senza considerare gli attuali ordini pendenti e le posizioni aperte. Permette di stimare la quantità di margine per il commercio pianificato. Il valore viene restituito nella valuta del conto.
bool OrderCalcMargin(
ENUM_ORDER_TYPE azione, // tipo di ordine
stringa simbolo, // nome del simbolo
doppio volume, // volume
doppio prezzo, //prezzo aperto
double& margin //variabile per ottenere il valore del margine
);

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

Si acciglia ancora... Diciamo action=ORDER_TYPE_SELL, dice 'action' - identificatore non dichiarato. OENUM_ORDER_TYPE action=ORDER_TYPE_SELL, dice 'action' - token inaspettato.

È dappertutto... E in inglese...

Dimitri!

Ancora una volta vi indico le sezioni delle funzioni e delle chiamate di funzione!


Definizione della funzione:

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

prima viene la sua intestazione.

Ha il tipo di valore di ritorno (int), il nome della funzione e i suoi parametri di ingresso con i loro tipi!


chiamata di funzione:

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

qui prima avete definito alcune variabili (o no)

e poi chiamate la funzione scrivendo tra parentesi per quali numeri o variabili la chiamate.

 
Ah, dichiarerò le variabili sopra la funzione!
 
Ugh!!! 0 errore(i), 0 avviso(i) 1 1 , Grazie!!!
 
Per favore aiutatemi, non posso diventare un programmatore, quindi ditemi solo cosa fare, ho un Expert Advisor mql5 come modificarlo in mql4, se non potete dirmi per favore!!!! o in privato
 
fokeevis:
Aiuto per favore, non posso diventare un programmatore, quindi per favore ditemi cosa fare, ho un Expert Advisor mql5, come posso modificarlo in mql4, se non è difficile parlarmene!!!! o di persona.
È complicato e molto difficile, soprattutto per i non programmatori, quindi dovreste contattare Jobs.
 
Ho sviluppato una funzione su richiesta di qualcuno, dovrebbe avere un aspetto simile a questo.
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);
                 
                   }
Non l'ho ancora compilato, non l'ho testato, l'ho scritto in Notepad.
 
Dimka-novitsek:
Ho sviluppato una funzione su richiesta di qualcuno, dovrebbe assomigliare a questa. Non l'ho ancora compilata, non l'ho testata nel lavoro, l'ho scritta in Notepad.
Quindi qual è la domanda?
 

È possibile rendere costante lo spread sul server MetaQuotes-Demo, perché il debug, la regolazione diventa un incubo, bisogna tenere conto dello spread, che cambia continuamente e distorce il quadro????????

Lospread fluttuante è un mal di testa inutile.

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