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

thanos ea source code.mq5

Похожие материалы по тегам

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

Краткий обзор

О программе

В коде используются индикаторные функции MQL5: iRSI и iFractals с CopyBuffer для получения данных. Работает проверка торговых часов, удаление ордеров по часу, отображение информации о балансе, прибыли и свободном марже через графические объекты на графике.

Настройки программы

НастройкаОписание
Delete_Orders Удаление ордеров — Переключатель включает или выключает удаление ордеров в указанный час
DeleteHour Час удаления — Целочисленный час, в который выполняняется удаление ордеров
Allow_BUY Разрешить покупку — Переключатель разрешает или запрещает открытие покупочных ордеров
Allow_SELL Разрешить продажу — Переключатель разрешает или запрещает открытие продажных ордеров
EA_makes_first_order Советник делает первый ордер — Переключатель определяет, советник ли инициирует первый ордер или ожидает его
Open_order_on_trend Открывать ордер по тренду — Переключатель управления открытием ордеров при наличии тренда
First_step Первый шаг — Целочисленный размер первого шага сетки в пунктах
Minimum_price_distance Минимальное расстояние цены — Целочисленное минимальное расстояние между ценой и ордером в пунктах
Move_step Шаг перемещения — Целочисленный шаг перемещения отложенных ордеров в пунктах
Distance_between_orders Расстояние между ордерами — Целочисленное расстояние между ордерами в пунктах
Maximum_allowed_loss Максимальная допустимая потеря — Числовой предел максимального убытка для блокировки новых ордеров
Close_loss_by_drawdown Закрытие убытка по просадке — Числовой уровень просадки для закрытия позиций
Order_lotsize Размер лота ордера — Числовой начальный размер лота для ордеров
Increase_lotsize_by Увеличение лота на — Числовое прибавление к лоту при каждом следующем ордере
Multiply_lotsize_by Умножение лота на — Числовой множитель лота для расчёта следующего ордера
Round_lotsize_to_decimals Округление лота до десятичных — Целочисленное количество знаков после запятой для округления лота
Profit_for_closing_2_directions Прибыль для закрытия двух направлений — Числовой порог общей прибыли для закрытия всех позиций
Profit_for_closing_1_direction Прибыль для закрытия одного направления — Числовой порог прибыли по одному направлению для закрытия
Auto_calculated_profit Автоматический расчёт прибыли — Целочисленный режим автоматического расчёта уровня прибыли для закрытия
Loss_for_closing Убыток для закрытия — Числовой уровень убытка для принудительного закрытия позиций
__________ Разделитель — Текстовый разделитель без функционального назначения
Trailing_settings Настройки трейлинга — Текстовое описание режимов трейлинга: выключено, свечи, фракталы, точки
Trailing_type Тип трейлинга — Целочисленный тип трейлинга: 0 выключен, 1 свечи, 2 фракталы, 3 точки
Trailing_step Шаг трейлинга — Целочисленный шаг сдвига стоп-лосса при трейлинге в пунктах
Minimum_trailing_profit Минимальная прибыль трейлинга — Целочисленный минимальный уровень прибыли для активации трейлинга в пунктах
Padding_by_fractals_or_candles Отступ по фракталам или свечам — Целочисленный отступ в пунктах при использовании фракталов или свечей
Timeframe_fractals_or_candles Таймфрейм фракталов или свечей — Целочисленный таймфрейм для расчёта фракталов или свечей в минутах
___________ Разделитель — Текстовый разделитель без функционального назначения
Other_settings Прочие настройки — Текстовый параметр для дополнительных настроек
Magic Магический номер — Целочисленный идентификатор ордеров и позиций советника
Font_size Размер шрифта — Целочисленный размер шрифта для текстовых меток на графике
Color_information Цвет информации — Цветовая настройка информационных элементов на графике
Stoploss Стоп-лосс — Целочисленный размер стоп-лосса в пунктах от цены открытия
Takeprofit Тейк-профит — Целочисленный размер тейк-профита в пунктах от цены открытия
____________ Разделитель — Текстовый разделитель без функционального назначения
Indicator_settings Настройки индикатора — Текстовый параметр, указывающий используемый индикатор RSI
Opening_1_order_on_indicators Открытие ордера по индикаторам — Переключатель разрешает открытие первого ордера на основе сигнала индикатора
Oversold_zone Зона перепроданности — Целочисленный уровень RSI ниже которого считается перепроданность
Overbought_zone Зона перекупленности — Целочисленный уровень RSI выше которого считается перекупленность
RSI_Period Период RSI — Целочисленный период расчёта индикатора RSI
Timeframe_indicator Таймфрейм индикатора — Целочисленный таймфрейм для расчёта индикатора RSI в минутах
_____________ Разделитель — Текстовый разделитель без функционального назначения
Trading_hours Часы торговли — Текстовый параметр описания режима торговли по часам
StartHour Час начала — Целочисленный час начала торговой сессии
EndHour Час окончания — Целочисленный час окончания торговой сессии
Получить полный код

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

#include <Trade/Trade.mqh>

const int SYMBOL_RIGHTPRICE = 220;

input bool  Delete_Orders=true;
input int   DeleteHour=20;
input bool  Allow_BUY = true;
input bool  Allow_SELL = true;
input bool  EA_makes_first_order = true;
input bool  Open_order_on_trend = false;
input int   First_step = 10;
input int   Minimum_price_distance = 30;
input int   Move_step = 5;
input int   Distance_between_orders = 30;
input double Maximum_allowed_loss = 100000.0;
input double Close_loss_by_drawdown = 10.0;
input double Order_lotsize = 0.1;
input double Increase_lotsize_by = 0.0;
input double Multiply_lotsize_by = 1.5;
input int    Round_lotsize_to_decimals = 2;
input double Profit_for_closing_2_directions = 10.0;
input double Profit_for_closing_1_direction = 50.0;
input int    Auto_calculated_profit = 50;
input double Loss_for_closing = 100000.0;
input string __________ = "";
input string Trailing_settings = "0-Off  1-Candles  2-Fractals  3-Points";
input int    Trailing_type = 1;
input int    Trailing_step = 0;
input int    Minimum_trailing_profit = 10;
input int    Padding_by_fractals_or_candles = 0;
input int    Timeframe_fractals_or_candles = 15;
input string ___________ = "";
input string Other_settings = "";
input int    Magic = 777;
input int    Font_size = 10;
input color  Color_information = clrLime;
input int    Stoploss = 0;
input int    Takeprofit = 0;
input string ____________ = "";
input string Indicator_settings = "RSI";
input bool   Opening_1_order_on_indicators = false;
input int    Oversold_zone = 15;
input int    Overbought_zone = 85;
input int    RSI_Period = 5;
input int    Timeframe_indicator = 0;
input string _____________  = "";
input string Trading_hours = "";
input int    StartHour = 0;
input int    EndHour = 24;

bool   gi_292=false;
double gd_296=0.0;     // Tick value
int    gi_304=0;       // STOPLEVEL
int    gi_308=3456;    // unused in original
int    gi_312=0;       // AccountNumber
int    gi_316=0;       // Slippage/deviation
string gs_320="";

#define OP_BUY       0
#define OP_SELL      1
#define OP_BUYLIMIT  2
#define OP_SELLLIMIT 3
#define OP_BUYSTOP   4
#define OP_SELLSTOP  5

int f0_11449(bool ai_0,int ai_4,int ai_8){ return (ai_0?ai_4:ai_8); }
void f0_13961(string as_0,int ai_8){ f0_4365(); }
void f0_4365(){}

int f0_4285(int m){
   if (m>43200) return 0;
   if (m>10080) return 43200;
   if (m>1440)  return 10080;
   if (m>240)   return 1440;
   if (m>60)    return 240;
   if (m>30)    return 60;
   if (m>15)    return 30;
   if (m>5)     return 15;
   if (m>1)     return 5;
   if (m==1)    return 1;
   if (m==0)    return (int)Period();
   return 0;
}
string f0_9613(int m){
   if(m==1) return "M1";
   if(m==5) return "M5";
   if(m==15)return "M15";
   if(m==30)return "M30";
   if(m==60)return "H1";
   if(m==240)return "H4";
   if(m==1440)return "D1";
   if(m==10080)return "W1";
   if(m==43200)return "MN1";
   return "period error";
}
ENUM_TIMEFRAMES TFfromMinutes(int m){
   switch(m){
      case 0:     return PERIOD_CURRENT;
      case 1:     return PERIOD_M1;
      case 5:     return PERIOD_M5;
      case 15:    return PERIOD_M15;
      case 30:    return PERIOD_M30;
      case 60:    return PERIOD_H1;
      case 240:   return PERIOD_H4;
      case 1440:  return PERIOD_D1;
      case 10080: return PERIOD_W1;
      case 43200: return PERIOD_MN1;
      default:    return PERIOD_CURRENT;
   }
}
void f0_12282(const string name,const string txt,int x,int y,color col){
   if(ObjectFind(0,name)<0){
      ObjectCreate(0,name,OBJ_LABEL,0,0,0);
      ObjectSetInteger(0,name,OBJPROP_CORNER,1);
      ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
      ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
   }
   ObjectSetString(0,name,OBJPROP_TEXT,txt);
   ObjectSetInteger(0,name,OBJPROP_COLOR,col);
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
}

double GetRSI(const string sym, ENUM_TIMEFRAMES tf, int period, ENUM_APPLIED_PRICE price, int shift){
   static int handle=-1;
   static string last_sym="";
   static ENUM_TIMEFRAMES last_tf=PERIOD_CURRENT;
   static int last_period=0;
   static ENUM_APPLIED_PRICE last_price=PRICE_CLOSE;

   if(handle==INVALID_HANDLE || sym!=last_sym || tf!=last_tf || period!=last_period || price!=last_price){
      if(handle!=INVALID_HANDLE) IndicatorRelease(handle);
      handle=iRSI(sym,tf,period,price);
      last_sym=sym; last_tf=tf; last_period=period; last_price=price;
   }
   if(handle==INVALID_HANDLE) return 0.0;
   double buf[];
   if(CopyBuffer(handle,0,shift,1,buf)<=0) return 0.0;
   return buf[0];
}

double GetFractal(const string sym, ENUM_TIMEFRAMES tf, int buffer_index, int shift){
   static int handle=INVALID_HANDLE;
   static string last_sym="";
   static ENUM_TIMEFRAMES last_tf=PERIOD_CURRENT;
   if(handle==INVALID_HANDLE || sym!=last_sym || tf!=last_tf){
      if(handle!=INVALID_HANDLE) IndicatorRelease(handle);
      handle=iFractals(sym,tf);
      last_sym=sym; last_tf=tf;
   }
   if(handle==INVALID_HANDLE) return 0.0;
   double val[];
   if(CopyBuffer(handle,buffer_index,shift,1,val)<=0) return 0.0;
   return val[0];
}

int MT5PosTypeToMT4(int pt){
   if(pt==(int)POSITION_TYPE_BUY)  return OP_BUY;
   if(pt==(int)POSITION_TYPE_SELL) return OP_SELL;
   return -1;
}
int MT5OrderTypeToMT4(ENUM_ORDER_TYPE ot){
   switch(ot){
      case ORDER_TYPE_BUY_STOP:  return OP_BUYSTOP;
      case ORDER_TYPE_SELL_STOP: return OP_SELLSTOP;
      case ORDER_TYPE_BUY_LIMIT:  return OP_BUYLIMIT;
      case ORDER_TYPE_SELL_LIMIT: return OP_SELLLIMIT;
      default: return -1;
   }
}

bool ModifyPositionByTicket(long ticket, double sl, double tp){
   MqlTradeRequest req; MqlTradeResult res; ZeroMemory(req); ZeroMemory(res);
   req.action  = TRADE_ACTION_SLTP;
   req.position= ticket;
   req.sl      = sl;
   req.tp      = tp;
   req.symbol  = _Symbol;
   bool ok = OrderSend(req,res);
   if(!ok || res.retcode!=TRADE_RETCODE_DONE){
      PrintFormat("Error PositionModify ticket=%I64d sl=%.5f tp=%.5f ret=%d",ticket,sl,tp,res.retcode);
      return false;
   }
   return true;
}
bool ModifyPendingOrderPrice(long order_ticket, double new_price){
   MqlTradeRequest req; MqlTradeResult res; ZeroMemory(req); ZeroMemory(res);
   req.action = TRADE_ACTION_MODIFY;
   req.order  = order_ticket;
   double sl=0,tp=0;

   if(OrderSelect(order_ticket)){
      sl = OrderGetDouble(ORDER_SL);
      tp = OrderGetDouble(ORDER_TP);
   }
   req.price = new_price;
   req.sl    = sl;
   req.tp    = tp;
   req.deviation = gi_316;
   bool ok = OrderSend(req,res);
   if(!ok || res.retcode!=TRADE_RETCODE_DONE){
      PrintFormat("Error OrderModify ticket=%I64d price=%.5f ret=%d",order_ticket,new_price,res.retcode);
      return false;
   }
   return true;
}
bool DeletePendingOrder(long order_ticket){
   MqlTradeRequest req; MqlTradeResult res; ZeroMemory(req); ZeroMemory(res);
   req.action = TRADE_ACTION_REMOVE;
   req.order  = order_ticket;
   bool ok=OrderSend(req,res);
   if(!ok || res.retcode!=TRADE_RETCODE_DONE){
      PrintFormat("Error OrderDelete ticket=%I64d ret=%d",order_ticket,res.retcode);
      return false;
   }
   return true;
}
bool ClosePositionByTicket(long ticket, double volume, int direction/*1 buy, -1 sell*/){

   MqlTradeRequest req; MqlTradeResult res; ZeroMemory(req); ZeroMemory(res);
   req.action   = TRADE_ACTION_DEAL;
   req.position = ticket;
   req.symbol   = _Symbol;
   req.volume   = volume;
   req.deviation= gi_316;

   if(!PositionSelectByTicket(ticket)) return false;
   ENUM_POSITION_TYPE ptype=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
   if(ptype==POSITION_TYPE_BUY){
      req.type = ORDER_TYPE_SELL;
      req.price= SymbolInfoDouble(_Symbol,SYMBOL_BID);
   }else{
      req.type = ORDER_TYPE_BUY;
      req.price= SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   }
   bool ok=OrderSend(req,res);
   if(!ok || (res.retcode!=TRADE_RETCODE_DONE && res.retcode!=TRADE_RETCODE_PLACED)){
      PrintFormat("Error ClosePosition ticket=%I64d ret=%d",ticket,res.retcode);
      return false;
   }
   return true;
}
bool SendPending(ENUM_ORDER_TYPE type,double lot,double price,int deviation,const string comment,int magic){
   MqlTradeRequest req; MqlTradeResult res; ZeroMemory(req); ZeroMemory(res);
   req.action      = TRADE_ACTION_PENDING;
   req.symbol      = _Symbol;
   req.type        = type;
   req.volume      = lot;
   req.price       = price;
   req.deviation   = deviation;
   req.type_time   = ORDER_TIME_GTC;
   req.type_filling= ORDER_FILLING_RETURN;
   req.magic       = magic;
   req.comment     = comment;

   bool ok = OrderSend(req,res);
   if(!ok || res.retcode!=TRADE_RETCODE_DONE){
      PrintFormat("OrderSend pending failed: type=%d lot=%.2f price=%.5f ret=%d",type,lot,price,res.retcode);
      return false;
   }
   return true;
}

double f0_833(int ai_0,double ad_4,double ad_12){

   double ld_20=0.0;
   int stopLevelPts=gi_304;
   int tfm = tf_fractals; // Use local var
   ENUM_TIMEFRAMES tf = TFfromMinutes(tfm);

   if(ad_12>2.0){
      if(ai_0==1) ld_20 = NormalizeDouble(ad_4 - ad_12*_Point, _Digits);
      else        ld_20 = NormalizeDouble(ad_4 + ad_12*_Point, _Digits);
   }else{
      if(ad_12==2.0){
         if(ai_0==1){
            int li_32=1;
            for(; li_32<100; li_32++){
               ld_20 = GetFractal(_Symbol, tf, 1/*LOWER*/, li_32);
               if(ld_20!=0.0){
                  ld_20 -= NormalizeDouble(Padding_by_fractals_or_candles*_Point,_Digits);
                  if(ad_4 - stopLevelPts*_Point > ld_20) break;
               }else ld_20=0;
            }
            ObjectDelete(0,"FR Buy");
            ObjectCreate(0,"FR Buy",OBJ_ARROW,0,iTime(_Symbol,PERIOD_CURRENT,0),ld_20+_Point);
            ObjectSetInteger(0,"FR Buy",OBJPROP_ARROWCODE,218);
            ObjectSetInteger(0,"FR Buy",OBJPROP_COLOR,clrRed);
         }
         if(ai_0==-1){
            int li_28=1;
            for(; li_28<100; li_28++){
               ld_20 = GetFractal(_Symbol, tf, 0/*UPPER*/, li_28);
               if(ld_20!=0.0){
                  ld_20 += NormalizeDouble(Padding_by_fractals_or_candles*_Point,_Digits);
                  if(ad_4 + stopLevelPts*_Point < ld_20) break;
               }else ld_20=0;
            }
            ObjectDelete(0,"FR Sell");
            ObjectCreate(0,"FR Sell",OBJ_ARROW,0,iTime(_Symbol,PERIOD_CURRENT,0),ld_20);
            ObjectSetInteger(0,"FR Sell",OBJPROP_ARROWCODE,217);
            ObjectSetInteger(0,"FR Sell",OBJPROP_COLOR,clrRed);
         }
      }
      if(ad_12==1.0){
         if(ai_0==1){
            int li_32=1;
            for(; li_32<500; li_32++){
               ld_20 = NormalizeDouble(iLow(_Symbol, tf, li_32) - Padding_by_fractals_or_candles*_Point,_Digits);
               if(ld_20!=0.0){
                  if(ad_4 - stopLevelPts*_Point > ld_20) break;
                  ld_20=0;
               }
            }
            ObjectDelete(0,"FR Buy");
            ObjectCreate(0,"FR Buy",OBJ_ARROW,0,iTime(_Symbol,tf,li_32),ld_20+_Point);
            ObjectSetInteger(0,"FR Buy",OBJPROP_ARROWCODE,159);
            ObjectSetInteger(0,"FR Buy",OBJPROP_COLOR,clrRed);
         }
         if(ai_0==-1){
            int li_28=1;
            for(; li_28<500; li_28++){
               ld_20 = NormalizeDouble(iHigh(_Symbol, tf, li_28) + Padding_by_fractals_or_candles*_Point,_Digits);
               if(ld_20!=0.0){
                  if(ad_4 + stopLevelPts*_Point < ld_20) break;
                  ld_20=0;
               }
            }
            ObjectDelete(0,"FR Sell");
            ObjectCreate(0,"FR Sell",OBJ_ARROW,0,iTime(_Symbol,tf,li_28),ld_20);
            ObjectSetInteger(0,"FR Sell",OBJPROP_ARROWCODE,159);
            ObjectSetInteger(0,"FR Sell",OBJPROP_COLOR,clrRed);
         }
      }
   }

   if(ai_0==1){
      if(ld_20!=0.0){
         ObjectDelete(0,"SL Buy");
         ObjectCreate(0,"SL Buy",OBJ_ARROW,0,iTime(_Symbol,PERIOD_CURRENT,0)+60*Period(), ld_20);
         ObjectSetInteger(0,"SL Buy",OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
         ObjectSetInteger(0,"SL Buy",OBJPROP_COLOR,clrBlue);
      }
      if(gi_304>0){
         ObjectDelete(0,"STOPLEVEL-");
         ObjectCreate(0,"STOPLEVEL-",OBJ_ARROW,0,iTime(_Symbol,PERIOD_CURRENT,0)+60*Period(), ad_4 - gi_304*_Point);
         ObjectSetInteger(0,"STOPLEVEL-",OBJPROP_ARROWCODE,4);
         ObjectSetInteger(0,"STOPLEVEL-",OBJPROP_COLOR,clrBlue);
      }
   }
   if(ai_0==-1){
      if(ld_20!=0.0){
         ObjectDelete(0,"SL Sell");
         ObjectCreate(0,"SL Sell",OBJ_ARROW,0,iTime(_Symbol,PERIOD_CURRENT,0)+60*Period(), ld_20);
         ObjectSetInteger(0,"SL Sell",OBJPROP_ARROWCODE,SYMBOL_RIGHTPRICE);
         ObjectSetInteger(0,"SL Sell",OBJPROP_COLOR,clrPink);
      }
      if(gi_304>0){
         ObjectDelete(0,"STOPLEVEL+");
         ObjectCreate(0,"STOPLEVEL+",OBJ_ARROW,0,iTime(_Symbol,PERIOD_CURRENT,0)+60*Period(), ad_4 + gi_304*_Point);
         ObjectSetInteger(0,"STOPLEVEL+",OBJPROP_ARROWCODE,4);
         ObjectSetInteger(0,"STOPLEVEL+",OBJPROP_COLOR,clrPink);
      }
   }
   return ld_20;
}

bool TradingHours(){
   datetime now = TimeCurrent();
   MqlDateTime dt;
   TimeToStruct(now, dt);
   int currenthour = dt.hour;
   int sh = StartHour, eh = EndHour;
   if(sh==0) sh=24;
   if(eh==0) eh=24;
   if(currenthour==0) currenthour=24;

   if(sh<eh){
      if(currenthour<sh || currenthour>=eh) return false;
   }else if(sh>eh){
      if(currenthour<sh && currenthour>=eh) return false;
   }
   return true;
}

void DeleteOrders(int type=-1){
   for(int i=OrdersTotal()-1;i>=0;i--){
      ulong ticket = OrderGetTicket(i);
      if(ticket > 0){
         string sym=OrderGetString(ORDER_SYMBOL);
         long magic=OrderGetInteger(ORDER_MAGIC);
         ENUM_ORDER_TYPE ot=(ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE);
         if(sym==_Symbol && magic==Magic){
            if(ot==ORDER_TYPE_BUY_STOP || ot==ORDER_TYPE_SELL_STOP || ot==ORDER_TYPE_BUY_LIMIT || ot==ORDER_TYPE_SELL_LIMIT){
               DeletePendingOrder((long)ticket);
            }
         }
      }
   }
}

int tf_fractals;
int dist_between;
int first_step;

int OnInit(){
      // код доступен только после оплаты
   }
   gs_320 = " " + AccountInfoString(ACCOUNT_CURRENCY);
   SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE,gd_296);
   tf_fractals = f0_4285(Timeframe_fractals_or_candles);
   if(_Digits==5 || _Digits==3) gi_316=30;

   Comment("Grid");
   gi_312 = (int)AccountInfoInteger(ACCOUNT_LOGIN);
   gi_292 = (AccountInfoInteger(ACCOUNT_TRADE_MODE)!=ACCOUNT_TRADE_MODE_DEMO) && (MQLInfoInteger(MQL_TESTER)==0);

   long stoplevel;
   SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL,stoplevel);
   gi_304 = (int)stoplevel;

   dist_between = Distance_between_orders;
   if(dist_between < gi_304){
      Alert("Distance_between_orders less STOPLEVEL, changed to ",gi_304);
      dist_between = gi_304;
   }
   first_step = First_step;
   if(first_step < gi_304){
      Alert("First_step less STOPLEVEL, changed to ",gi_304);
      first_step = gi_304;
   }

   int li_0 = Font_size + Font_size/2;

   ObjectCreate(0,"Balance",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"Balance",OBJPROP_CORNER,1);
   ObjectSetInteger(0,"Balance",OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,"Balance",OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;

   ObjectCreate(0,"Equity",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"Equity",OBJPROP_CORNER,1);
   ObjectSetInteger(0,"Equity",OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,"Equity",OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;

   ObjectCreate(0,"FreeMargin",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"FreeMargin",OBJPROP_CORNER,1);
   ObjectSetInteger(0,"FreeMargin",OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,"FreeMargin",OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;

   ObjectCreate(0,"ProfitB",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"ProfitB",OBJPROP_CORNER,1);
   ObjectSetInteger(0,"ProfitB",OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,"ProfitB",OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;

   ObjectCreate(0,"ProfitS",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"ProfitS",OBJPROP_CORNER,1);
   ObjectSetInteger(0,"ProfitS",OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,"ProfitS",OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;

   ObjectCreate(0,"Profit",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"Profit",OBJPROP_CORNER,1);
   ObjectSetInteger(0,"Profit",OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,"Profit",OBJPROP_YDISTANCE,li_0);
   li_0 += 3*Font_size;

   int li_4=0;
   string ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,ls_8,OBJPROP_TEXT,"--------------------------------------------------------");
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,clrAqua);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += 3*Font_size;
   ObjectSetString(0,ls_8,OBJPROP_TEXT,"Parameter set");
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size+2);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,clrAqua);

   li_4++;
   ls_8="Param"+(string)li_4;
   string ls_16="";
   if(Allow_BUY)  ls_16="Buy ";
   if(Allow_SELL) ls_16=ls_16+"Sell ";
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,ls_8,OBJPROP_TEXT,"Allowed "+ls_16);
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);

   li_4++;
   ls_8="Object"+(string)li_4;
   if(!Open_order_on_trend){
      ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
      ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
      ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
      ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
      li_0 += Font_size*2;
      ObjectSetString(0,ls_8,OBJPROP_TEXT,"Do not open orders on a trend ");
      ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
      ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
      ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);
      li_4++;
      ls_8="Object"+(string)li_4;
   }
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += 2*Font_size;
   ObjectSetString(0,ls_8,OBJPROP_TEXT, EA_makes_first_order ? "Expert advisor initiate first order" : "Expert advisor await first order");
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,ls_8,OBJPROP_TEXT, StringFormat("The first step %d p",first_step));
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,ls_8,OBJPROP_TEXT, StringFormat("The minimum distance to the price %d p",Minimum_price_distance));
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,ls_8,OBJPROP_TEXT, StringFormat("Step change orders %d p",Move_step));
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,ls_8,OBJPROP_TEXT, StringFormat("Step between orders %d p",dist_between));
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,ls_8,OBJPROP_TEXT,"--------------------------------------------------------");
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,clrAqua);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,35);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   ObjectSetString(0,ls_8,OBJPROP_TEXT,"Do not open order in this direction");
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,"Char.b",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"Char.b",OBJPROP_CORNER,1);
   ObjectSetInteger(0,"Char.b",OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,"Char.b",OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,"Char.b",OBJPROP_TEXT,(string)(char)233);
   ObjectSetInteger(0,"Char.b",OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,"Char.b",OBJPROP_FONT,"Wingdings");
   ObjectSetInteger(0,"Char.b",OBJPROP_COLOR,clrLime);

   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,35);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   ObjectSetString(0,ls_8,OBJPROP_TEXT, StringFormat("when the loss %.2f%s",Maximum_allowed_loss,gs_320));
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_information);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,"Char.s",OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,"Char.s",OBJPROP_CORNER,1);
   ObjectSetInteger(0,"Char.s",OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,"Char.s",OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,"Char.s",OBJPROP_TEXT,(string)(char)234);
   ObjectSetInteger(0,"Char.s",OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,"Char.s",OBJPROP_FONT,"Wingdings");
   ObjectSetInteger(0,"Char.s",OBJPROP_COLOR,clrLime);

   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,5);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size*2;
   ObjectSetString(0,ls_8,OBJPROP_TEXT,"--------------------------------------------------------");
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,clrAqua);

   li_4++;
   ls_8="Param"+(string)li_4;
   ObjectCreate(0,ls_8,OBJ_LABEL,0,0,0);
   ObjectSetInteger(0,ls_8,OBJPROP_CORNER,1);
   ObjectSetInteger(0,ls_8,OBJPROP_XDISTANCE,35);
   ObjectSetInteger(0,ls_8,OBJPROP_YDISTANCE,li_0);
   li_0 += Font_size;
   ObjectSetString(0,ls_8,OBJPROP_TEXT,"closing of the general profit of");
   ObjectSetInteger(0,ls_8,OBJPROP_FONTSIZE,Font_size);
   ObjectSetString(0,ls_8,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,ls_8,OBJPROP_COLOR,Color_inform

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

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

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

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

Стоимость полного кода
3 951,10₽ ≈ $48.30