ilan_rsi_mm_extr18.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ilan_rsi_mm_extr18.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник работает по обработчику тиков и управляет множеством одновременно открытых позиций, используя рыночные ордера и отложенные ордера различных типов.
Советник поддерживает открытие позиций BUY и SELL, а также BUYLIMIT, SELLLIMIT, BUYSTOP и SELLSTOP. Для управления рисками предусмотрены механизмы трейлинга (два режима), стоп по балансу (Equity Stop), автозакрытие по таймауту и система блокировки/хеджирования позиций. Размер лота может рассчитываться на основе процента риска или фиксироваться вручную.
Для генерации торговых сигналов используется пользовательский индикатор «i-Regr», подключаемый через iCustom, с настраиваемыми параметрами регрессии и таймфреймами. Советник идентифицирует позиции с помощью Magic Number и включает мониторинг прибыли с автоматическим закрытием при достижении целевых уровней.
Настройки программы
| Настройка | Описание |
|---|---|
| ????????? ????? ? ????? ?? ?????????? ??? ?????? ? ?????????. ?????? ??? 0.1, ?????: 0.15, 0.26, 0.4 (LotExponent) | Экспонента лота — Множитель для расчёта размера лота на каждую следующую сделку. При значении 0 используется массив фиксированных значений. |
| dec ??????????? ???? ??????, ???? = 0 ?? ?????????? ?????? ???????? ?????? ??? ????????? ????? (TakeProfit) | Тейк-профит (пункты) — Уровень тейк-профита в пунктах для обычных позиций. При 0 используются значения из массива. |
| dec ??? ??????? ?????? (PipStep) | Шаг входа (пункты) — Шаг в пунктах между точками входа в позицию. При значении 0 используется массив фиксированных значений. |
| c9 | Секция управления позицией — Текстовый параметр-секция для настроек управления позицией. |
| ?????? ????? ? ????????? 0.01 ??? ???? ???? ????? 0.1 ?? ????????? ??? ? ????? ????? 0.15 (Lots) | Фиксированный лот — Фиксированный размер лота, используемый при Risk = 0. |
| ?????? ?????? ???????? ? % ?? ????, ???? = 0 ?? ?????? ?????? ??????????? ???????? Lots (Risk) | Риск (% от баланса) — Процент риска от баланса для расчёта размера лота. При 0 используется фиксированный лот Lots. |
| ????? ????? ?????? ??????? ??????? ??????????? = ?????????? ????????? ? ???? ??????????? ? ????? ??? (LastTrade) | Порог сделок для особого лота — Пороговое количество сделок, после которого применяется особый размер лота и фиксированный уровень тейк-профита. |
| dec ??????????? ???? ?????? ????? ??????? ?????? ?????? ??? LastTrade (TakeProfitLast) | Тейк-профит последней сделки — Уровень тейк-профита в пунктах для последних сделок (при превышении порога LastTrade). |
| ???????????? ?????? ???????? ?????? ? % ?? ????, ???????? ??? ???? 10 000 ?????? ????????? ??????? ? (LasTradeSize) | Размер последней сделки (%) — Процент от баланса, ограничивающий размер последней сделки (в %). |
| ??????????? ?????????? ???????????? ???????? ??????? (MaxTrades) | Максимальное число сделок — Максимальное количество одновременно открытых сделок. |
| s11 | Секция трендовой стратегии — Текстовый параметр-секция для настроек трендовой стратегии. |
| dec ??? ???????? ????? ?? ??????, ???? =0 ?? ?? ?????? ?? ????????, ?????? ?????? ?????? ??? ?????? (TrendPS) | Трендовый шаг (пункты) — Размер в пунктах для входа в трендовую позицию. При 0 трендовая торговля отключена. |
| dec ???? ?? ?????? ????????? ??????? ????? 10% ????????, ?? ????????? ??? ????? ? ???????? (ProfitPerc) | Процент прибыли для полного закрытия (%) — Процент от баланса: при достижении совокупной прибыли этого уровня все позиции закрываются. |
| dec ???? ? ??? ?????? ????? ?? ?????? ? ???? ????? ?????? ???, ?? ??????????? ?? ?????????, ??????? (MinProfitPips) | Мин. прибыль для модификации (пункты) — Минимальная прибыль в пунктах для срабатывания условий модификации и закрытия части позиций. |
| dec ???? ? ??? ?????? ????? ?? ?????? ? ???? ????? ?????? ???, ?? ??????????? ?? ?????????, ??????? (MinProfitPipsOne) | Мин. прибыль для закрытия (пункты) — Минимальная прибыль в пунктах для автоматического закрытия отдельных прибыльных ордеров. |
| ??????? ??????? ????????? ???? ???? ????? ?? ? ???? ??????? (NumTr) | Порог сделок для закрытия — Пороговое количество сделок для условий закрытия части позиций в трендовой стратегии. |
| ?????????????? ????? ??????????? ???? = 0 ?? ?????? ?????? ?????? ? ????? ??????????? ?? ???, (=1 ?? (FDir) | Направление торговли — Задаёт направление торговли: 0 — только текущие направления, 1 — только противоположные, 2 — без ограничений по направлению. |
| c3 | Секция регрессии — Текстовый параметр-секция для настроек регрессии. |
| ????? (MagicNumber) | Magic Number — Magic Number (идентификатор) для обычных ордеров советника. |
| dec ??????????????? (slip) | Проскальгивание — Допустимое проскальгивание для открытия позиций (в пунктах). |
| minslip | Мин. проскальгивание — Допустимое проскальгивание для закрытия позиций (в пунктах). |
| 2 - ????????? 0.01, 1 - ???? ???? 0.1, 0 - ?????????? ???? 1. (lotdecimal) | Десятичность лота — Десятичность лота: 2 — шаг 0.01, 1 — шаг 0.1, 0 — шаг 1. |
| ?.?. ???? ?? "?????????????" (?.?. ???? ??????? ?????? ?? ? ????? ???????????) ???????? ?? ???????? (PercDown) | Процент стопа по балансу (%) — Процент баланса: максимальный допустимый убыток для срабатывания механизма аварийного закрытия. |
| ??????? ???? ?? ????? ?? 10 % ???????? ????? 30 ???? ??????????? ? ????? ???????, ?????? ??????????? (PercClose) | Процент закрытия по балансу (%) — Процент баланса: при достижении этой долларовой прибыли закрывает все позиции, если ранее был зафиксирован убыток PercDown. |
| ????????? ????? ???????????? ??? =0 (ComOn) | Комментарии в журнал — Включает или отключает вывод текстовых сообщений в журнал (0 — выключено, 1 — включено). |
| c4 | Секция таймфрейма — Текстовый параметр-секция для настроек таймфрейма. |
| ????????? ?? ??????? ???? ????????? ?????? ??. mper ??? = 5 - H1 (TFIlanX) | Таймфрейм советника — Таймфрейм для основного цикла советника (числовое значение, где 1 = M1, 5 = H1 и т. д.). 0 — автоматический выбор. |
| =3 ????? 3 ?????? ????????????? ?? ?? ?1 (nH1) | Порог сделок для H1 — Количество сделок на H1, при превышении которого таймфрейм советника переключается на H1 (0 — отключено). |
| =5 ????? 5 ?????? ????????????? ?? ?? ?4 (nH4) | Порог сделок для H4 — Количество сделок на H4, при превышении которого таймфрейм советника переключается на H4 (0 — отключено). |
| c8 | Секция блокировки — Текстовый параметр-секция для настроек блокировки. |
| ???????? ?????????? ????? ??????? ? ???????? ?????????????? ???????, ???? =0 ?? ?? ????????, ???? =0 (LockS) | Размер лота блокировки — Размер лота для открытия блокирующей (противоположной) позиции. 0 — механизм блокировки отключён. |
| ?????????? ????? ??? ??????? ???? (LMagN) | Magic Number блокировки — Magic Number (идентификатор) для ордеров, связанных с механизмом блокировки позиций. |
| ????? ?????? ?? ????? ?????? ????????? ??????? ????? ???? ????????? ??????????? ?????? ??????? ????? (NumLockMin) | Мин. позиций для принудительной блокировки — Минимальное количество позиций, при котором активируется режим принудительного закрытия блокировки. |
| ????? ?????? ?? ????? ?????? ????????? ??????? ????? ???? ?????????? ??????? ?????? ????? ??????? (NumLoc) | Число позиций для блокировки — Количество позиций, при котором открывается блокирующая позиция (при отсутствии активной блокировки). |
| ??????????? ?????????? ??????? ??????? (MinLP) | Мин. прибыль блокировки (пункты) — Минимальный уровень прибыли в пунктах для закрытия заблокированной позиции. |
| _tmp2_ | Секция i-Regr — Текстовый параметр-секция для настроек i-Regr (основной). |
| ??????? ?????? ? ????????? ?????, ??? =2 ?? ?????????? ??????? ?? ????????? ??????, =1 ?????? ?? ??? (kanal) | Режим канала — Режим канала индикатора: 0 — простой, 1 — без фильтра канала, 2 — с фильтром канала. |
| ?????? ????? (SPer) | Период индикатора — Период (количество баров) для расчёта пользовательского индикатора i-Regr. |
| ????????? ?? ??????? ???????? ?????????, (TFS) | Таймфрейм индикатора — Таймфрейм для расчёта пользовательского индикатора i-Regr (основной). |
| ???? = 0 ?? ?? ??????, ???? =1 ?? ???????? ?????? ??????????? ??????, ????? ???????????? ? ????? (invert) | Инверсия сигналов — Инвертирование сигналов индикатора: 0 — без инверсии, 1 — сигналы инвертируются. |
| _tmp3_ | Секция i-Regr малый — Текстовый параметр-секция для настроек i-Regr (малый). |
| ??? ? ???????? ???????? ???????? ?? ????????? ??? ???????? ????? (IndStep) | Шаг индикатора — Шаг индикатора, определяющий минимальное количество сделок для использования индикаторных сигналов. |
| ?????? ????? (SPermall) | Период индикатора (малый ТФ) — Период для расчёта индикатора i-Regr на малом таймфрейме. |
| ????????? ?? ??????? ???????? ????????? (TFSmall) | Таймфрейм индикатора (малый) — Таймфрейм для расчёта пользовательского индикатора i-Regr на малом таймфрейме. |
| t2 | Секция трейлинга — Текстовый параметр-секция для настроек трейлинга. |
| 0-?? ?????????? ????, 1 - ??????????? ????, 2 - ???? ???? ?????? (UseTrailingStop) | Использование трейлинг-стопа — Режим трейлинг-стопа: 0 — отключён, 1 — ступенчатый трейлинг, 2 — ступенчатый трейлинг с дополнительным коэффициентом. |
| dec ?????????? ?? ????? ?????????, ????? ??????? ???????? ???? //+---------------------------------- (ProfitTrailDist) | Дистанция трейлинга по прибыли — Расстояние в пунктах от средней цены для начала трейлинга по прибыли. |
| dec ?????????? ?? ??????? ??????? ???????? //| ???????? ???????????-???????????? | (TrailDist) | Дистанция ступенчатого трейлинга — Расстояние в пунктах между уровнями стоп-лосса при ступенчатом трейлинге. |
| dec ???????????? ?????? ?????? 5 ??????? //| ??????? ????????? ????? ???????, ?????????? ?? ????? ?? (TrailStep) | Шаг трейлинга — Шаг в пунктах для перемещения стоп-лосса при трейлинге. |
| ????? ?????? ?????????? ?????? ?????????? ???? //| ?? ??????? ???????? ??????????? (???????) ? "???" (NumIT) | Мин. сделок для трейлинга — Минимальное количество открытых сделок, при котором активируется трейлинг-стоп. |
| ???????? ???, ?????????? ?? ????? ????????? ?? ????????? ? xtral ??? ?????? ??? ?? ????? ?? ?? ????, (xtral) | Доп. коэффициент трейлинга — Дополнительный коэффициент для второго режима трейлинг-стопа, влияющий на скорость перемещения стоп-лосса. |
Поиск по коду файла
extern string ?2= "???????? ?????????";
extern double LotExponent = 1.4; // ????????? ????? ? ????? ?? ?????????? ??? ?????? ? ?????????. ?????? ??? 0.1, ?????: 0.15, 0.26, 0.43 ...
double learr[25]={1.3,1.4,1.5,1.6,1.7,2,2,2,2,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.6,1.6,1.6,1.6,1.6,1.6,1.6}; // le ? ?????? ??? ???? LotExponent=0
extern double TakeProfit = 30; //dec ??????????? ???? ??????, ???? = 0 ?? ?????????? ?????? ???????? ?????? ??? ????????? ?????
int tparr[25]={10,10,10,10,20,30,30,30,30,30,30,30,30,30,30,30,30,10,10,10,10,10,10,10,10,10}; // dec
extern double PipStep = 30; //dec ??? ??????? ??????
double psarr[25]={70,110,110,110,110,110,110,110,110,110,110,110,90,90,90,90,90,90,170,180,190,200,200,200,200,200}; //dec ???????? ???? PipStep=0
extern string c9 = "MM";
extern double Lots = 0.1; // ?????? ????? ? ????????? 0.01 ??? ???? ???? ????? 0.1 ?? ????????? ??? ? ????? ????? 0.15
extern double Risk = 0.5; // ?????? ?????? ???????? ? % ?? ????, ???? = 0 ?? ?????? ?????? ??????????? ???????? Lots
extern double LastTrade=100; // ????? ????? ?????? ??????? ??????? ??????????? = ?????????? ????????? ? ???? ??????????? ? ????? ????????? + lastradeprofit
extern double TakeProfitLast = 10.0; //dec ??????????? ???? ?????? ????? ??????? ?????? ?????? ??? LastTrade
extern double LasTradeSize=17; // ???????????? ?????? ???????? ?????? ? % ?? ????, ???????? ??? ???? 10 000 ?????? ????????? ??????? ?? ?????? 1 ????
extern int MaxTrades = 50; // ??????????? ?????????? ???????????? ???????? ???????
extern string s11 ="????????? ?????? ?? ??????";
extern double TrendPS = 11; //dec ??? ???????? ????? ?? ??????, ???? =0 ?? ?? ?????? ?? ????????, ?????? ?????? ?????? ??? ?????? ?????? ??????
extern double ProfitPerc= 5; //dec ???? ?? ?????? ????????? ??????? ????? 10% ????????, ?? ????????? ??? ????? ? ????????
extern double MinProfitPips =15; //dec ???? ? ??? ?????? ????? ?? ?????? ? ???? ????? ?????? ???, ?? ??????????? ?? ?????????, ??????? ?????????? ? + ?? ?????? MinProfitPips ?? ????? ?????????
extern double MinProfitPipsOne =2; //dec ???? ? ??? ?????? ????? ?? ?????? ? ???? ????? ?????? ???, ?? ??????????? ?? ?????????, ??????? ?????????? ? + ?? ?????? MinProfitPips ?? ????? ?????????
extern double NumTr=2; // ??????? ??????? ????????? ???? ???? ????? ?? ? ???? ???????
extern int FDir = 2; // ?????????????? ????? ??????????? ???? = 0 ?? ?????? ?????? ?????? ? ????? ??????????? ?? ???, (=1 ????) ?? ?????? ??????? ?? ????????? ? ????????? ????, =2 - ?? ?????? ?????????? ?????????, ? ??????????? ?? ???????
extern string c3= "??????????????? ?????????";
extern int MagicNumber = 54321; // ?????
extern double slip = 3.0; //dec ???????????????
extern double minslip =3;
extern int lotdecimal = 2; // 2 - ????????? 0.01, 1 - ???? ???? 0.1, 0 - ?????????? ???? 1.
extern double PercDown=0; // ?.?. ???? ?? "?????????????" (?.?. ???? ??????? ?????? ?? ? ????? ???????????) ???????? ?? ???????? ?? ????? ?????? ?????? 30 % ?? ???????? ???????, ?? ??? ???? ??????????? ? ????? ?? ?????????
extern double PercClose=0; // ??????? ???? ?? ????? ?? 10 % ???????? ????? 30 ???? ??????????? ? ????? ???????, ?????? ??????????? ??????????????, ???? ?? 60 % ??????? ? ????????, ?? ????????? ??? 20 %
extern int ComOn=0; // ????????? ????? ???????????? ??? =0
extern string c4= "????????? ????????? ? ????????";
extern int TFIlanX=0; // ????????? ?? ??????? ???? ????????? ?????? ??. mper ??? = 5 - H1
extern int nH1=0; // =3 ????? 3 ?????? ????????????? ?? ?? ?1
extern int nH4=0; // =5 ????? 5 ?????? ????????????? ?? ?? ?4
extern string c8= "????????? ????";
extern double LockS=0; // ???????? ?????????? ????? ??????? ? ???????? ?????????????? ???????, ???? =0 ?? ?? ????????, ???? =0.5, ?? ???????? 50% ??????? ?????
extern int LMagN=689; // ?????????? ????? ??? ??????? ????
extern int NumLockMin=4; // ????? ?????? ?? ????? ?????? ????????? ??????? ????? ???? ????????? ??????????? ?????? ??????? ???????????
extern int NumLoc=8; // ????? ?????? ?? ????? ?????? ????????? ??????? ????? ???? ?????????? ??????? ?????? ????? ???????
extern int MinLP=10; // ??????????? ?????????? ??????? ???????
extern string _tmp2_ = " --- i-Regr --- ? ??????? ???????? ??????????? ?????????? ?????";
extern int Regr.degree1 = 6; // ??????? ?????????
extern double Regr.kstd1 = 5; // ?????? ??????, ???? =0 ?? ???????? ?????? ??????? ?????
extern int kanal=2; // ??????? ?????? ? ????????? ?????, ??? =2 ?? ?????????? ??????? ?? ????????? ??????, =1 ?????? ?? ????????? ????? ???????, = 0 ?? ????????? ??????? ?????? ?????????? ???????? ????? ???????
int Regr.shift1 = 0; // ???????? ???????????? ???????? ????
extern int SPer = 800; // ?????? ?????
extern int TFS=7; // ????????? ?? ??????? ???????? ?????????,
extern int invert=0; // ???? = 0 ?? ?? ??????, ???? =1 ?? ???????? ?????? ??????????? ??????, ????? ???????????? ? ?????
extern string _tmp3_ = " --- i-Regr --- ? ????? ????????";
extern int IndStep = 3; // ??? ? ???????? ???????? ???????? ?? ????????? ??? ???????? ?????
extern int Regr.degree1mall = 3; // ??????? ?????????
extern double Regr.kstd1mall = 1.5; // ?????? ??????, ???? =0 ?? ???????? ?????? ??????? ?????
int Regr.shift1mall = 0; // ???????? ???????????? ???????? ????
extern int SPermall = 150; // ?????? ?????
extern int TFSmall=3; // ????????? ?? ??????? ???????? ?????????
bool UseEquityStop = FALSE;
double TotalEquityRisk = 20.0;
bool UseTimeOut = FALSE;
double MaxTradeOpenHours = 48.0;
extern string t2 = " ????????? ?????????";
extern int UseTrailingStop = 0; // 0-?? ?????????? ????, 1 - ??????????? ????, 2 - ???? ???? ??????
extern int ProfitTrailDist = 30; //dec ?????????? ?? ????? ?????????, ????? ??????? ???????? ???? //+------------------------------------------------------------------+
extern int TrailDist = 80; //dec ?????????? ?? ??????? ??????? ???????? //| ???????? ???????????-???????????? |
extern int TrailStep = 10; //dec ???????????? ?????? ?????? 5 ??????? //| ??????? ????????? ????? ???????, ?????????? ?? ????? ????????, |
extern int NumIT = 3; // ????? ?????? ?????????? ?????? ?????????? ???? //| ?? ??????? ???????? ??????????? (???????) ? "???", ? ??????? ?? ??????????? (???????) |
extern double xtral=2; // ???????? ???, ?????????? ?? ????? ????????? ?? ????????? ? xtral ??? ?????? ??? ?? ????? ?? ?? ????, ???????? ???? ???? ?? 90 ? ? +, ?????? ???? ?? ?????? 30 ? ? ???? ?????????
int mper[10]={0,1,5,15,30,60,240,1440,10080,43200};
int TFIlan=0;
int ccc=0;
double lota[100]; // ????
int modea[100]; // ??? ?????? OP_BUY 0 , OP_SELL 1 , OP_BUYLIMIT 2 , OP_SELLLIMIT 3 , OP_BUYSTOP 4 , OP_SELLSTOP 5
double opa[100]; // ???? ????????
double sla[100]; // ????????
double tpa[100]; // ??????
string comma[100]; // ???????????
datetime tima[100]; // ????? ???????? ??????
double profa[100];
int ticka[100];
double PriceTarget, StartEquity, BuyTarget, SellTarget, AveragePrice, SellLimit, BuyLimit,LastBuyPrice, LastSellPrice, Spread,mac;
bool flag;
string EAName = "Ilan_extr18";
int timeprev = 0, expiration;
int NumOfTrades = 0;
double iLots;
int cnt = 0, total;
double Stopper = 0.0;
bool TradeNow = FALSE, LongTrade = FALSE, ShortTrade = FALSE;
int ticket;
bool NewOrdersPlaced = FALSE;
double AccountEquityHighAmt, PrevEquity;
int TrendRe=1; // ??? =0 ????? ???????? ?????, ??? =1 ????? ?????, ?.?. ?????????? ?? ??????
double LastDD=0; // ????? ??????????? ???????????? ???????? ??? ??????? ????? ??????
double FirstTr=0; // ????? ?????????? ????? ?????? ?????? ? ?????
int ClLock=0;
int init() {
// код доступен только после оплаты
}
int deinit() {
return (0);
}
int start() {
// код доступен только после оплаты
}
int CountTrades() {
int count = 0;
for (int trade = OrdersTotal() - 1; trade >= 0; trade--) {
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
if (OrderType() == OP_SELL || OrderType() == OP_BUY) count++;
}
return (count);
}
int LockTicket(int m) {
int t = 0;
for (int trade = OrdersTotal() - 1; trade >= 0; trade--) {
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != m) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == m)
if (OrderType() == OP_SELL || OrderType() == OP_BUY)t=OrderTicket();
}
return (t);
}
void again() {
timeprev = Time[1];
return (0);
}
void CloseThisSymbolAll(int mn) {
for (int trade = OrdersTotal() - 1; trade >= 0; trade--) {
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == mn) {
while (!IsTradeAllowed()) Sleep(1000);
if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid,Digits), slip, Blue);
if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask,Digits), slip, Red);
PrintF ("close ALL orders Type : order : Bid "+OrderType()+" : "+OrderOpenPrice()+" : "+Bid);
}
}
}
}
int OpenPendingOrder(int pType, double pLots, double pPrice, int pSlippage, double ad_24, int ai_32, int ai_36, string a_comment_40, int a_magic_48, int a_datetime_52, color a_color_56) {
int l_ticket_60 = 0;
int l_error_64 = 0;
int l_count_68 = 0;
int li_72 = 3;
pPrice=NormalizeDouble(pPrice,Digits);
switch (pType) {
case 2:
for (l_count_68 = 0; l_count_68 < li_72; l_count_68++) {
l_ticket_60 = OrderSend(Symbol(), OP_BUYLIMIT, pLots, RoundToTickSize(pPrice), pSlippage, StopLong(ad_24, ai_32), TakeLong(pPrice, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError();
if (l_error_64 == 0/* NO_ERROR */) break;
if (!(l_error_64 == 4/* SERVER_BUSY */ || l_error_64 == 137/* BROKER_BUSY */ || l_error_64 == 146/* TRADE_CONTEXT_BUSY */ || l_error_64 == 136/* OFF_QUOTES */)) break;
Sleep(1000);
}
break;
case 4:
for (l_count_68 = 0; l_count_68 < li_72; l_count_68++) {
l_ticket_60 = OrderSend(Symbol(), OP_BUYSTOP, pLots, RoundToTickSize(pPrice), pSlippage, StopLong(ad_24, ai_32), TakeLong(pPrice, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError();
if (l_error_64 == 0/* NO_ERROR */) break;
if (!(l_error_64 == 4/* SERVER_BUSY */ || l_error_64 == 137/* BROKER_BUSY */ || l_error_64 == 146/* TRADE_CONTEXT_BUSY */ || l_error_64 == 136/* OFF_QUOTES */)) break;
Sleep(5000);
}
break;
case 0:
for (l_count_68 = 0; l_count_68 < li_72; l_count_68++) {
RefreshRates();
l_ticket_60 = OrderSend(Symbol(), OP_BUY, pLots, RoundToTickSize(Ask), pSlippage, StopLong(Bid, ai_32), TakeLong(Ask, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError();
if (l_error_64 == 0/* NO_ERROR */) break;
if (!(l_error_64 == 4/* SERVER_BUSY */ || l_error_64 == 137/* BROKER_BUSY */ || l_error_64 == 146/* TRADE_CONTEXT_BUSY */ || l_error_64 == 136/* OFF_QUOTES */)) break;
Sleep(5000);
}
break;
case 3:
for (l_count_68 = 0; l_count_68 < li_72; l_count_68++) {
l_ticket_60 = OrderSend(Symbol(), OP_SELLLIMIT, pLots, RoundToTickSize(pPrice), pSlippage, StopShort(ad_24, ai_32), TakeShort(pPrice, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError();
if (l_error_64 == 0/* NO_ERROR */) break;
if (!(l_error_64 == 4/* SERVER_BUSY */ || l_error_64 == 137/* BROKER_BUSY */ || l_error_64 == 146/* TRADE_CONTEXT_BUSY */ || l_error_64 == 136/* OFF_QUOTES */)) break;
Sleep(5000);
}
break;
case 5:
for (l_count_68 = 0; l_count_68 < li_72; l_count_68++) {
l_ticket_60 = OrderSend(Symbol(), OP_SELLSTOP, pLots, RoundToTickSize(pPrice), pSlippage, StopShort(ad_24, ai_32), TakeShort(pPrice, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError();
if (l_error_64 == 0/* NO_ERROR */) break;
if (!(l_error_64 == 4/* SERVER_BUSY */ || l_error_64 == 137/* BROKER_BUSY */ || l_error_64 == 146/* TRADE_CONTEXT_BUSY */ || l_error_64 == 136/* OFF_QUOTES */)) break;
Sleep(5000);
}
break;
case 1:
for (l_count_68 = 0; l_count_68 < li_72; l_count_68++) {
l_ticket_60 = OrderSend(Symbol(), OP_SELL, pLots, RoundToTickSize(Bid), pSlippage, StopShort(Ask, ai_32), TakeShort(Bid, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError();
if (l_error_64 == 0/* NO_ERROR */) break;
if (!(l_error_64 == 4/* SERVER_BUSY */ || l_error_64 == 137/* BROKER_BUSY */ || l_error_64 == 146/* TRADE_CONTEXT_BUSY */ || l_error_64 == 136/* OFF_QUOTES */)) break;
Sleep(5000);
}
}
return (l_ticket_60);
}
double StopLong(double ad_0, int ai_8) {
if (ai_8 == 0) return (0);
else return (ad_0 - ai_8 * Point);
}
double StopShort(double ad_0, int ai_8) {
if (ai_8 == 0) return (0);
else return (ad_0 + ai_8 * Point);
}
double TakeLong(double ad_0, int ai_8) {
if (ai_8 == 0) return (0);
else return (ad_0 + ai_8 * PПоказано первые 50% кода (символов: 34834)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.