← К каталогу
Исходный код · ID 3531

mql4.mqh

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Получить полный код

Поиск по коду файла

#ifndef __MQL4__TO__MQL5__
#define __MQL4__TO__MQL5__ sovetnikov_net_defines_23fdsd34dsfsdf23433324fdfdgg

#ifdef __MQL5__

#define OP_BUY ORDER_TYPE_BUY
#define OP_SELL ORDER_TYPE_SELL

#define MODE_MAIN 0
#define MODE_SIGNAL 1

#define MODE_TRADES 0
#define MODE_HISTORY 1

#define SELECT_BY_POS 0
#define SELECT_BY_TICKET 1

#define EMPTY -1

#define OBJPROP_FIBOLEVELS OBJPROP_LEVELS

datetime Time[2]= {0};

int OrdersHistoryTotal(datetime tmStart=0,datetime tmEnd=0)
  {
   if(tmEnd==0)
      tmEnd=TimeCurrent();
   HistorySelect(tmStart,tmEnd); //всю историю доступную загружаем
   return HistoryOrdersTotal();
  }

ulong HistoryOrderTicket(ulong uticket)
  {
   return uticket;
  }

string HistoryOrderSymbol(ulong uticket)
  {
   return HistoryOrderGetString(uticket,ORDER_SYMBOL);
  }

string HistoryOrderComment(ulong uticket)
  {
   return HistoryOrderGetString(uticket,ORDER_COMMENT);
  }

int HistoryOrderType(ulong uticket)
  {
   return (int)HistoryOrderGetInteger(uticket,ORDER_TYPE);
  }

double HistoryOrderClosePrice(ulong uticket)
  {
   if(HistoryDealSelect(uticket))
      return HistoryDealGetDouble(uticket,DEAL_PRICE);

   return 0;
  }

double HistoryOrderOpenPrice(ulong uticket)
  {
   return HistoryOrderGetDouble(uticket,ORDER_PRICE_OPEN);
  }

double HistoryOrderTakeProfit(ulong uticket)
  {
   return HistoryOrderGetDouble(uticket,ORDER_TP);
  }

double HistoryOrderStopLoss(ulong uticket)
  {
   return HistoryOrderGetDouble(uticket,ORDER_SL);
  }

double HistoryOrderLots(ulong uticket)
  {

   return HistoryOrderGetDouble(uticket,ORDER_VOLUME_INITIAL);
  }

double HistoryOrderProfit(ulong uticket)
  {
   ulong ut=-1;
   for(int i=HistoryDealsTotal(); i>=0; i--)
     {
      ut=HistoryDealGetTicket(i);
      long lid=HistoryDealGetInteger(ut,DEAL_POSITION_ID);

        {

         long ientry=HistoryDealGetInteger(ut,DEAL_ENTRY);

         if(ientry==DEAL_ENTRY_OUT)
           {
            double dprofit=HistoryDealGetDouble(uticket,DEAL_PROFIT);

           }

        }

     }

   return 0;
  }

double HistoryOrderSwap(ulong uticket)
  {
   if(HistoryOrderSelect(uticket))
      return HistoryDealGetDouble(uticket,DEAL_SWAP);

   return 0;
  }

double HistoryOrderCommission(ulong uticket)
  {
   if(HistoryOrderSelect(uticket))
      return HistoryDealGetDouble(uticket,DEAL_COMMISSION);

   return 0;
  }

int HistoryOrderMagicNumber(ulong uticket)
  {
   return (int)HistoryOrderGetInteger(uticket,ORDER_MAGIC);
  }

datetime HistoryOrderOpenTime(ulong uticket)
  {

   return (datetime)HistoryOrderGetInteger(uticket,ORDER_TIME_DONE);
  }

datetime HistoryOrderCloseTime(ulong uticket)
  {

   return (datetime)HistoryOrderGetInteger(uticket, ORDER_TIME_DONE);
  }

datetime OrderCloseTime(ulong uticket)
  {
   if(HistoryOrderSelect(uticket))
      return (datetime)HistoryOrderGetInteger(uticket, ORDER_TIME_DONE);

   return 0; //invalid time
  }

bool HistoryOrderSelect(ulong &uticket,ulong index,int select,int pool=MODE_TRADES)
  {
   if(select==SELECT_BY_POS)
      uticket=HistoryOrderGetTicket((uint)index);
   else
      uticket=HistoryOrderSelect(index);

   return (uticket>0);
  }

bool IsConnected()
  {
   return (bool)TerminalInfoInteger(TERMINAL_CONNECTED);
  }

bool IsTradeAllowed()
  {
   return (bool)AccountInfoInteger(ACCOUNT_TRADE_ALLOWED);
  }

bool IsTradeContextBusy()
  {
   return false;
  }

double AccountBalance()
  {
   return AccountInfoDouble(ACCOUNT_BALANCE);
  }

double AccountProfit()
  {
   return AccountInfoDouble(ACCOUNT_PROFIT);
  }

double AccountEquity()
  {
   return AccountInfoDouble(ACCOUNT_EQUITY);
  }

double AccountMargin()
  {
   return AccountInfoDouble(ACCOUNT_MARGIN);
  }

double AccountFreeMargin()
  {
   return AccountInfoDouble(ACCOUNT_MARGIN_FREE);
  }

long AccountNumber()
  {
   return AccountInfoInteger(ACCOUNT_LOGIN);
  }

int AccountLeverage()
  {
   return (int)AccountInfoInteger(ACCOUNT_LEVERAGE);
  }

string AccountServer()
  {
   return AccountInfoString(ACCOUNT_SERVER);
  }

int DayOfWeek()
  {
   MqlDateTime mtm;
   TimeCurrent(mtm);
   return mtm.day_of_week;
  }

int TimeDayOfWeek(datetime dtmTime)
  {
   MqlDateTime mtm;
   TimeToStruct(dtmTime,mtm);
   return mtm.day_of_week;
  }

int Year()
  {
   MqlDateTime mtm;
   TimeCurrent(mtm);
   return mtm.year;
  }

int Hour()
  {
   MqlDateTime mtm;
   TimeCurrent(mtm);
   return mtm.hour;
  }

int Minute()
  {
   MqlDateTime mtm;
   TimeCurrent(mtm);
   return mtm.min;
  }

string WindowExpertName()
  {
   return MQLInfoString(MQL_PROGRAM_NAME);
  }

int WindowFind(string name)
  {
   int window=-1;
   if((ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE)==PROGRAM_INDICATOR)
     {
      window=ChartWindowFind();
     }
   else
     {
      window=ChartWindowFind(0,name);
      if(window==-1)
         Print(__FUNCTION__+"(): Error = ",GetLastError());
     }
   return(window);
  }

long WindowBarsPerChart()
  {
   return ChartGetInteger(ChartID(),CHART_VISIBLE_BARS,0);
  }

double WindowPriceMax(int index)
  {
   return ChartGetDouble(0,CHART_PRICE_MAX,index);
  }

double WindowPriceMin(int index)
  {
   return ChartGetDouble(0,CHART_PRICE_MIN,index);
  }

bool IsVisualMode()
  {

   return (bool)MQLInfoInteger(MQL_VISUAL_MODE);
  }

bool IsTesting()
  {
   return (bool)MQLInfoInteger(MQL_TESTER);
  }

bool IsOptimization()
  {
   return (bool)MQLInfoInteger(MQL_OPTIMIZATION);
  }

string AccountCurrency()
  {
   return AccountInfoString(ACCOUNT_CURRENCY);
  }

double iMAOnArray(double &array[],
                  int total,
                  int period,
                  int ma_shift,
                  int ma_method,
                  int shift)
  {
   double buf[],arr[];
   if(total==0)
      total=ArraySize(array)

Показано первые 50% кода (символов: 8510)

Что вы получите после оплаты

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
851₽