thanos ea source code.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «thanos ea source code.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
В коде используются индикаторные функции 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.