Trend Racing 3.57 ME
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trend racing 3.57 me lite.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Trend Racing 3.57 ME — торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник анализирует ценовые данные с помощью нескольких технических индикаторов и принимает торговые решения для открытия и управления позициями. Поддерживается автоматическое управление ордерами, включая трейлинг-стоп, фиксацию прибыли и ограничение убытков.
Настройки программы
| Настройка | Описание |
|---|---|
| Set1 | Разделитель — Текстовый разделитель группы настроек. |
| ???????? ??????? ???? (Lots) | Лот — Размер лота для открытия сделок. |
| ??????????? ?????????????? ?????????? ????? ?????? ???? (LotExponent) | Степень лота — Множитель увеличения лота при добавлении ордеров. |
| ?????? ? ??????? (TakeProfit) | Тейк-профит — Уровень фиксации прибыли в пунктах. |
| ??????????????? ???? ( ?????? ? ???????? ) )) (slip) | Проскальзывание — Допустимое проскальзывание при исполнении ордера в пунктах. |
| ?????????? ????? ?? ??????? (AddOrdersInd) | Добавление по сигналу — Добавлять дополнительные ордера только при совпадении с сигналом индикатора. |
| ?????????? ??????????? ??????????? ??????? ? ??? ( ???? ?? "0" ) (MaxTradesB) | Макс. покупок — Максимальное количество одновременных покупочных позиций. |
| ?????????? ??????????? ??????????? ??????? ? ???? ( ???? ?? "0" ) (MaxTradesS) | Макс. продаж — Максимальное количество одновременных продажных позиций. |
| ?????????????, ??????????? ???????? "????" ?????? ?? ????? ??? (MagicNumberB) | Магический номер покупок — Идентификатор ордеров на покупку. |
| ?????????????, ??????????? ???????? "????" ?????? ?? ????? ???? (MagicNumberS) | Магический номер продаж — Идентификатор ордеров на продажу. |
| Set2 | Разделитель — Текстовый разделитель группы настроек. |
| Set3 | Разделитель — Текстовый разделитель группы настроек. |
| ????????? ??????? (FirstPipStep) | Первый шаг — Начальный шаг увеличения расстояния между ордерами в пунктах. |
| ???????, ???????????? ??? ??????? ??????????, ??? ?????????? EconomProfil ??????? ?? FirstEconomOrd (LongPipStep) | Длинный шаг — Шаг между ордерами при активном экономном профиле. |
| ?? ??????? ????????????? ??? ? ??????????? ?? ?????? ?????? (PipStepExponent) | Степень шага — Степень увеличения шага между ордерами. |
| Set4 | Разделитель — Текстовый разделитель группы настроек. |
| ??????????? ???? ????????? ??????? ????? (Warning) | Предупреждение — Показывать предупреждение перед запуском советника. |
| ??????????? ?????????? (info) | Информация — Отображение информационных меток на графике. |
| ??????????? ?????? ????????? ???? ??????? ?? ??????????? (Zero) | Нулевой уровень — Отображение нулевого уровня на графике. |
| ?????????? ????????? ???????? (BarControl) | Контроль бара — Разрешить обработку только на новом баре. |
| ??????? (debug) | Отладка — Включить вывод отладочной информации в журнал. |
| ????? ??? ?????????? ?????????? (EconomProfil) | Экономный профиль — Включить экономный режим управления ордерами. |
| ?????, ? ???????? ?????????? ??????????? ?????. ????????, ???? 4, ?? 4, 5, 6 ... ?????? ????? 1 ? ?? (FirstEconomOrd) | Первый эконом. ордер — Номер ордера, начиная с которого активируется экономный профиль. |
| ????????? ?????? ?????????? ????????? ??????? ?????????? ?????? (Overlapping) | Перекрытие — Разрешить перекрытие позиций и управление прибыльными ордерами. |
| ? ?????? ?????? ???????? ??????????. (LeadingOrder) | Лидерский ордер — Минимальное количество ордеров для активации управления прибылью. |
| ??????? ?????????? (FLPersent) | Процент фиксации — Процент от прибыли лидерского ордера для порога закрытия. |
| MASet | Настройки MA — Текстовый разделитель группы настроек скользящих средних. |
| ?????? ??????? ?? (MA1_Period) | Период MA1 — Период первой скользящей средней. |
| ?????? ????????? ?? (MA2_Period) | Период MA2 — Период второй скользящей средней. |
| DeltaSet | Настройки дельты — Текстовый разделитель группы настроек дельты. |
| Comm1 | Комментарий DelFX — Текстовый комментарий к параметру DelFX. |
| ??????? ??????? ?? "?? ?????????" (DelFX) | Дельта FX — Дельта для расчёта расстояния между скользящими средними. |
| Comm5 | Комментарий CCI — Текстовый разделитель группы настроек CCI. |
| ????????? ???????? CCI (CCI_kontr) | Контроль CCI — Включить фильтрацию сигналов по индикатору CCI. |
| ??????? ?? ??????? CCI (CCI_Lim) | Лимит CCI — Граничное значение индикатора CCI для фильтрации сигналов. |
| Comm6 | Комментарий — Текстовый разделитель. |
| Comm7 | Комментарий ADX — Текстовый разделитель группы настроек ADX. |
| ADX_kontr | Контроль ADX — Включить фильтрацию сигналов по индикатору ADX. |
| ?????????? ???????? ????? ADX (ADX_Trend) | Уровень ADX — Минимальное значение ADX для подтверждения тренда. |
| Comm8 | Комментарий MAonRSI — Текстовый разделитель группы настроек MAonRSI. |
| Comm9 | Комментарий — Текстовый комментарий. |
| MAonRSI | MAonRSI — Включить расчёт сигналов на основе MAonRSI. |
| ?????? ?????????? RSI (RSI_Period) | Период RSI — Период индикатора RSI. |
| ?????? ?? ?????????? MAonRSI (MA_Period) | Период MA — Период скользящей средней для MAonRSI. |
| ??????? ??????? RSI (RSI_max) | Максимум RSI — Верхний порог RSI для сброса сигнала. |
| ?????? ??????? RSI (RSI_min) | Минимум RSI — Нижний порог RSI для сброса сигнала. |
| Comm14 | Комментарий — Текстовый разделитель. |
| Comm15 | Комментарий — Текстовый комментарий. |
| Bool | Bool — Включить дополнительный режим сигнала. |
| 0/1/5-- ?????????. (TF) | Таймфрейм — Таймфрейм для расчёта полос Боллинджера. |
| 5/5/60-- ??????. (period) | Период — Период для расчёта полос Боллинджера. |
| 1/1/3-- ?????????? ?? ???????? ?????. (deviation) | Отклонение — Стандартное отклонение для полос Боллинджера. |
| 0/1/5-- ????? ?????????? ???????????? ???????? ???????. (bandsshift) | Сдвиг полос — Горизонтальный сдвиг полос Боллинджера. |
| 0/1/6-- ???????????? ????. ????? ???? ????? ?? ??????? ????????. ???????? 0-6. (appliedprice) | Применяемая цена — Тип цены для расчёта полос Боллинджера. |
| 0/1/10-- ????? ?? ????? ??????????? ? ???????. (?? ???????????? ????????) (DeltaOut) | Дельта выхода — Дельта для условия выхода из позиции. |
| 0/1/10-- ???? ?? ????? ??????????? ? ???????. (?? ???????????? ????????) (DeltaIn) | Дельта входа — Дельта для условия входа в позицию. |
| Comm10 | Комментарий — Текстовый разделитель. |
| ?????? ?? ?? ???? ?? ????? ??? ?????????? ???????? ?? ???????? ??????? ?????? (AClim) | Лимит AC — Граничное значение индикатора AC для фильтрации. |
| Comm11 | Комментарий — Текстовый разделитель. |
| ????????? ????? ?? ????? (Tral) | Трейлинг-стоп — Включить трейлинг-стоп для управления стоп-лоссом. |
| ?????????? ??? ?????????? ?????. (AutoTP) | Авто TP — Автоматический тейк-профит при активном трейлинге. |
| ?????????? ? ??????, ?? ??????? ????? ????????????? ???????? ????? ( ?????????, ??? ?? ???? ????? ?? (TralDist) | Расстояние трейлинга — Расстояние трейлинга в пунктах. |
| Comm12 | Комментарий — Текстовый разделитель. |
| ??????? ??????????? ???????? ???? "?????" ??????? (CloseAll) | Закрыть все — Закрыть все позиции по символу при запуске. |
| ?????? ???????? ????? ??????, ???? ????????? ????????/?????? ?????? ?????????? (0.1 - 10% ? ??? ???? (TradeStop) | Стоп по убытку — Процентный лимит убытка от баланса для остановки торговли. |
| ????????? ???????? ?????? ?? ???????? (LL) | Лимит убытка — Включить ограничение убытка по суммарной прибыли. |
| ??????? ?????? ? ??????? ?????? (LossLevel) | Уровень убытка — Порог убытка в пунктах для закрытия позиций. |
Поиск по коду файла
#include <stderror.mqh>
#include <stdlib.mqh>
#include <WinUser32.mqh>
extern string Set1 = "====== ????? ????????? =====";
extern double Lots = 0.01; // ???????? ??????? ????
extern double LotExponent = 1.4; // ??????????? ?????????????? ?????????? ????? ?????? ????
extern double TakeProfit = 10.0; // ?????? ? ???????
double StopLoss = 0; // ???? ? ???????
extern double slip = 5; // ??????????????? ???? ( ?????? ? ???????? ) ))
extern bool AddOrdersInd = False; // ?????????? ????? ?? ???????
extern int MaxTradesB = 30; // ?????????? ??????????? ??????????? ??????? ? ??? ( ???? ?? "0" )
extern int MaxTradesS = 30; // ?????????? ??????????? ??????????? ??????? ? ???? ( ???? ?? "0" )
extern int MagicNumberB = 777; // ?????????????, ??????????? ???????? "????" ?????? ?? ????? ???
extern int MagicNumberS = 555; // ?????????????, ??????????? ???????? "????" ?????? ?? ????? ????
extern string Set2 = "===== ????????? ???????? =====";
extern string Set3 = " ?? ???????? ??????? ????????? ";
extern double FirstPipStep = 6.0; // ????????? ???????
extern double LongPipStep = 100; // ???????, ???????????? ??? ??????? ??????????, ??? ?????????? EconomProfil ??????? ?? FirstEconomOrd
extern double PipStepExponent= 1.8; // ?? ??????? ????????????? ??? ? ??????????? ?? ?????? ??????
extern string Set4 = "== ?????????????? ????????? ==";
extern bool Warning = True; // ??????????? ???? ????????? ??????? ?????
extern bool info = True; // ??????????? ??????????
extern bool Zero = True; // ??????????? ?????? ????????? ???? ??????? ?? ???????????
extern bool BarControl = True; // ?????????? ????????? ????????
extern bool debug = False; // ???????
extern bool EconomProfil = True; // ????? ??? ?????????? ??????????
extern int FirstEconomOrd = 4; // ?????, ? ???????? ?????????? ??????????? ?????. ????????, ???? 4, ?? 4, 5, 6 ... ?????? ????? 1 ? ??? ?? ???.
extern bool Overlapping = True; // ????????? ?????? ?????????? ????????? ??????? ?????????? ??????
extern int LeadingOrder = 4; // ? ?????? ?????? ???????? ??????????.
extern int FLPersent = 7; // ??????? ??????????
extern string MASet = "======== ????????? ?? ========";
int MATimeFrame = 0; // 0 (????)- ?????? ???????? ???????; 1 - PERIOD_M1; 5 - PERIOD_M5; 15 - PERIOD_M15; 30 - PERIOD_M30;
extern int MA1_Period = 7; // ?????? ??????? ??
int MA1_Shift = 0; // ????? ??????? ??
extern int MA2_Period = 21; // ?????? ????????? ??
int MA2_Shift = 0; // ????? ????????? ??
extern string DeltaSet = "== ???? ???????????? ??????? ==";
extern string Comm1 = " ???????? ????? ? ??????, 0 - 5";
extern double DelFX = 2; // ??????? ??????? ?? "?? ?????????"
int MA_sf = 1; // ????? "????-????" ??? ????? ??????????? ??????
extern string Comm5 = "=== ??????? ???????? ?? CCI ===";
extern bool CCI_kontr = True; // ????????? ???????? CCI
extern double CCI_Lim = 170.0; // ??????? ?? ??????? CCI
int CCI_tf = 0; // ???? ????? CCI 0 - ???????
int CCI_Per = 14; // ?????? CCI
int CCI_sf = 1; // ????? "????-????" ??? ????? ????????? CCI
extern string Comm6 = "= ????????? ????????????? ?????? =";
extern string Comm7 = "=========== ?? ADX ==========";
extern bool ADX_kontr = True;
int TF_ADX = 0; // ????????? ADX, 0 - ???????
int Per_ADX = 7; // ?????? ADX
extern double ADX_Trend = 25; // ?????????? ???????? ????? ADX
int PriceADX = 0; // 0 - ???? ????????, 1 - ???? ????????
int Sh_ADX = 1; // ????? "????-????" ??? ????? ????????? ADX ( ?? ????? ???? 0! )
extern string Comm8 = "=== ????????? ????? ?? MAonRSI ===";
extern string Comm9 = " (????????? ?????????? ??????????)";
extern bool MAonRSI = False;
int MAonRSI_TimeFr = 0; // ?? ?????????? MAonRSI ( ?? ????????? - ??????? )
extern int RSI_Period = 8; // ?????? ?????????? RSI
int RSI_Metod = 6; // ????? ??????? ???? RSI
extern int MA_Period = 21; // ?????? ?? ?????????? MAonRSI
int MA_Metod = 1; // ????? ??????? ???? ??
double Delta_MAonRSI = 2.0; // ???? ?????????????????? ?????????? ( 0 - 5 )
extern int RSI_max = 70; // ??????? ??????? RSI
extern int RSI_min = 30; // ?????? ??????? RSI
extern string Comm14 = "===== ????????? ??????????? ======";
extern string Comm15 = " (????????? ?????????? ??????????)";
extern bool Bool = False;
extern int TF = 0; //--0/1/5-- ?????????.
extern int period = 20; //--5/5/60-- ??????.
extern int deviation = 1; //--1/1/3-- ?????????? ?? ???????? ?????.
extern int bandsshift = 0; //--0/1/5-- ????? ?????????? ???????????? ???????? ???????.
extern int appliedprice = 0; //--0/1/6-- ???????????? ????. ????? ???? ????? ?? ??????? ????????. ???????? 0-6.
extern int DeltaOut = 0; //--0/1/10-- ????? ?? ????? ??????????? ? ???????. (?? ???????????? ????????)
extern int DeltaIn = 0; //--0/1/10-- ???? ?? ????? ??????????? ? ???????. (?? ???????????? ????????)
extern string Comm10 = "= ????????? ??????? ????? ?? ??=";
extern double AClim = 0.0001; // ?????? ?? ?? ???? ?? ????? ??? ?????????? ???????? ?? ???????? ??????? ??????
extern string Comm11 = "======= ????????? ????? ========";
extern bool Tral = False; // ????????? ????? ?? ?????
extern int AutoTP = 100; // ?????????? ??? ?????????? ?????.
extern int TralDist = 2; // ?????????? ? ??????, ?? ??????? ????? ????????????? ???????? ????? ( ?????????, ??? ?? ???? ????? ???? ????? )
extern string Comm12 = "== ??????, ????????, ???????? ==";
extern bool CloseAll = False; // ??????? ??????????? ???????? ???? "?????" ???????
extern double TradeStop = 0.0; // ?????? ???????? ????? ??????, ???? ????????? ????????/?????? ?????? ?????????? (0.1 - 10% ? ??? ?????.. )
extern bool LL = False; // ????????? ???????? ?????? ?? ????????
extern int LossLevel = 10; // ??????? ?????? ? ??????? ??????
int MA1_Price = 0; //0 - ???? ????????; 1 - ???? ????????; 2 - ???????????? ????; 3 - ??????????? ????;
int MA1_Method = 0; //0 - ??????? ?????????? ???????; 1 - ???????????????? ?????????? ???????;
int MA2_Price = 0;
int MA2_Method = 0;
double StopperB = 0.0, StopperS = 0.0, LossB, LossS;
double STOP_L, Lprofit, Profit_B, Profit_S, Cprofit, BUBuyLevel, BUSellLevel;
double LastBuyPrice, LastSellPrice, PipStepB, PipStepS, iLotsB, iLotsS, SL,TP, ACmax, ACmin, Dig, CCI_min, CCI_max;
double CProfit = 0, CProfit2 = 0, LProfit = 0, PrcCL1 = 0, PrcCL = 0, Take_Profit;
bool BarControl_0, flagB, flagS;
bool NewOrdersPlacedB = True, NewOrdersPlacedS = True;
int timeprev = 0, NumOfTradesB = 0, NumOfTradesS = 0, cnt = 0, DCCoef = 10000, TPControlB = 0, TPControlS = 0, k=1;
int ticket, expiration, totalB, totalS, total, CheckTotalS, CheckTotalB, lotdecimal, Error, Lpos, StopSet, Cpos;
string title="???????? ??????????", title1=" Trend Racing 3.57 ME ", msg="";
string EAName = "Trend Racing 3.57 ME";
string txt1, txt2, txt3, txt4, txt5, txt6;
int init() {
// код доступен только после оплаты
}
int deinit() {
ObjectDelete("Lable1");
ObjectDelete("Lable2");
ObjectDelete("Lable3");
ObjectDelete("Lable4");
ObjectDelete("Lable5");
ObjectDelete("Zero");
ObjectDelete("LableB");
ObjectDelete("LableS");
ObjectDelete("Lable!");
ObjectDelete("TPBuy");
ObjectDelete("TPSell");
return (0);
}
int start()
{
// код доступен только после оплаты
}
if (StopSet == 4) return (0);
if (!IsDllsAllowed()) StopSet = 1;
if (!IsLibrariesAllowed()) StopSet = 2;
if ((Bool) && (MAonRSI)) StopSet = 8;
Take_Profit = TakeProfit;
STOP_L = NormalizeDouble(MarketInfo(Symbol(),MODE_STOPLEVEL),Dig);
double spread = MarketInfo(Symbol(), MODE_SPREAD);
if (Tral) Take_Profit = AutoTP;
if (TakeProfit <= STOP_L) {
Take_Profit = (STOP_L + spread + k);
int attention = 1;
if (debug) {
Print ("???????? !!! ?? ??????? ?????? ?????? !!! " );
Print ("??? ???? ????????? ?? ????????????? ?????????? ??!");
Print ("?????????? ???????? ???????, ????????????? ????? ????????????.");
}
}
if (debug) Print ("??????? ??????? ?????? ?? ?? ??????? ??????????? ", STOP_L);
if (StopLoss !=0) StopSet = 5;
double Balans = NormalizeDouble(AccountBalance(),Dig);
double Sredstva = NormalizeDouble(AccountEquity() ,Dig);
double KontrSr = NormalizeDouble(Sredstva/Balans,1);
if (KontrSr <= TradeStop) StopSet = 6;
if (CloseAll) StopSet = CloseThisSymbolAll();
if (LL) {
double LB = ProfitB();
double LS = ProfitS();
double L = (- LossLevel);
if (LB < L) CloseThisSymbolBUY ();
if (LS < L) CloseThisSymbolSELL();
}
total = CountTradesAll();
totalB = CountTradesB();
totalS = CountTradesS();
if (total != 0) OrderTake_Profit();
if (TPControlS == 1 ) NewOrdersPlacedS = True;
if (TPControlB == 1 ) NewOrdersPlacedB = True;
if (CheckTotalB != totalB) NewOrdersPlacedB = True;
if (CheckTotalS != totalS) NewOrdersPlacedS = True;
if (NewOrdersPlacedB) RecalculationB();
if (NewOrdersPlacedS) RecalculationS();
PipStepB = NormalizeDouble(FirstPipStep * MathPow(PipStepExponent, totalB), 0);
PipStepS = NormalizeDouble(FirstPipStep * MathPow(PipStepExponent, totalS), 0);
if (debug) {
Print("??????? ??????? ??? ", PipStepB);
Print("??????? ??????? ???? ", PipStepS);
}
iLotsB = NormalizeDouble(Lots, lotdecimal);
iLotsS = NormalizeDouble(Lots, lotdecimal);
NumOfTradesB = totalB;
NumOfTradesS = totalS;
if (EconomProfil) {
if (totalB >= FirstEconomOrd) {
PipStepB = LongPipStep;
NumOfTradesB = FirstEconomOrd-1;
}
if (totalS >= FirstEconomOrd) {
PipStepS = LongPipStep;
NumOfTradesS = FirstEconomOrd-1;
}
}
if (totalB > 0 && totalB <= MaxTradesB) LastBuyPrice = FindLastBuyPrice();
if (totalS > 0 && totalS <= MaxTradesS) LastSellPrice = FindLastSellPrice();
if (totalB >= MaxTradesB) {
if (debug) Print ("?????????? ??????????? ??????????? ????? ?????? ?? ????? ???, ");
if (debug) Print ("????? ?????? ??? ??????????? ?? ?????, ????????????? ????? ????????????.");
}
if (totalS >= MaxTradesS) {
if (debug) Print ("?????????? ??????????? ??????????? ????? ?????? ?? ????? ????, ");
if (debug) Print ("????? ?????? ???? ??????????? ?? ?????, ????????????? ????? ????????????.");
}
if ((StopSet == 1) || (StopSet == 2) || (StopSet == 3) || (StopSet==5) || (StopSet==6) || (StopSet==7) || (StopSet == 8)) {
if (StopSet == 1) msg=" ????????? ???????? ?????? ?? ??????? "+"\n"+" dll, ????????? ????????. ";
if (StopSet == 2) msg=" ????????? ???????? ?????? ?? ??????? "+"\n"+" ??????????, ????????? ????????. ";
if (StopSet == 3) msg=" ??????? ???????? ????????? ??. ????????? "+"\n"+" ??????? ? ???????? ???????? ??????? ";
if (StopSet == 5) msg=" ???????? ?? ???????????? ? ?????????, "+"\n"+" ?????????? ???????? StopLoss = 0. ";
if (StopSet == 6) msg=" ???????? ?????????? ??????? ???????? "+"\n"+" ???????. ";
if (StopSet == 7) msg=" ???????? ??????????, ??? ?????? ??????? "+"\n"+" ?? ?????????? ????????????. ";
if (StopSet == 8) msg=" ???????? ??? ??????????: MAonRSI ? "+"\n"+" ??????????. ???????? ???? ?? ???. ";
int ret = MessageBox(msg,title,MB_OK|MB_ICONSTOP);
if (ret == IDOK) {
Print ("???????? ?????????? ????????????? ??? ?????????????");
Sleep (3000);
return (0);
}
}
int SignalMA = 0;
int SignalCCI = 0;
int SignalADX = 0;
int SignalRSI = 0;
int SignalAC = 0;
int Signal = 0;
int SignalBool = 0;
if (MAonRSI) {
CCI_kontr = False; ADX_kontr = False;
SignalRSI = MAonRSI(); SignalAC = AC(); // ????????? ???, ????? MAonRSI ? ??
if ((SignalRSI == 1) && (SignalAC ==1)) Signal = 1; // ????????? ???
if ((SignalRSI ==-1) && (SignalAC ==1)) Signal = -1; // ????????? ????
}
if (Bool) {
CCI_kontr = False; ADX_kontr = False;
SignalBool = SBool(); SignalAC = AC(); // ????????? ???, ????? ??????????? ? ??
if ((SignalBool == 1) && (SignalAC ==1)) Signal = 1; // ????????? ???
if ((SignalBool ==-1) && (SignalAC ==1)) Signal = -1; // ????????? ????
}
if ((!CCI_kontr) && (!ADX_kontr)&& (!MAonRSI) && (!Bool)) { // CCI ???????? ????????, ADX ???????? ????????
SignalMA = MA(); SignalAC = AC();
if ((SignalMA == 1) && (SignalAC ==1)) Signal = 1; // ????????? ???
if ((SignalMA ==-1) && (SignalAC ==1)) Signal = -1; // ????????? ????
}
if ((CCI_kontr) && (!ADX_kontr)) { // CCI ???????? ??????? ADX ???????? ????????
SignalMA = MA(); SignalCCI = CCI(); SignalAC = AC();
if ((SignalMA == 1) && (SignalCCI == 1) && (SignalAC ==1)) Signal = 1; // ????????? ???
if ((SignalMA ==-1) && (SignalCCI ==-1) && (SignalAC ==1)) Signal = -1; // ????????? ????
}
if ((!CCI_kontr) && (ADX_kontr)) { // CCI ???????? ????????, ADX ???????? ???????
SignalMA = MA(); SignalAC = AC(); SignalADX = ADX();
if ((SignalMA == 1) && (SignalAC ==1) && (SignalADX ==1)) Signal = 1; // ????????? ???
if ((SignalMA ==-1) && (SignalAC ==1) && (SignalADX ==1)) Signal = -1; // ????????? ????
}
if ((CCI_kontr) && (ADX_kontr)) {
SignalMA = MA(); SignalCCI = CCI(); SignalAC = AC(); SignalADX = ADX();
if ((SignalMA == 1) && (SignalCCI == 1) && (SignalAC ==1) && (SignalADX ==1)) Signal = 1; // ????????? ???
if ((SignalMA ==-1) && (SignalCCI ==-1) && (SignalAC ==1) && (SignalADX ==1)) Signal = -1; // ????????? ????
}
if (info) {
if (Signal == 1)txt2="Maneuver BUY";
if (Signal == -1)txt2="Maneuver SELL";
if (Signal == 0)txt2="Pit stop...";
ObjectSetText("Lable2",txt2,14,"Fixedsys",Blue);
txt3= DoubleToStr (MarketInfo(Symbol(), MODE_SPREAD),0);
ObjectSetText("Lable3","??????? ????? "+txt3+"",14,"Fixedsys",FireBrick);
txt5 = DoubleToStr ((LastBuyPrice - PipStepB * Point), Dig);
txt6 = DoubleToStr ((LastSellPrice + PipStepS * Point), Dig);
if (totalB == 0) txt5 = "--";
if (totalS == 0) txt6 = "--";
ObjectSetText("LableB","????. ?????? Buy "+txt5+"",14,"Fixedsys",Blue);
ObjectSetText("LableS","????. ?????? Sell "+txt6+"",14,"Fixedsys",FireBrick);
ObjectDelete ("Lable!");
if (attention == 1) {
ObjectCreate ("Lable!", OBJ_LABEL,0,0,1.0);
ObjectSet ("Lable!", OBJPROP_CORNER, 0);
ObjectSet ("Lable!", OBJPROP_XDISTANCE, 23);
ObjectSet ("Lable!", OBJPROP_YDISTANCE, 80);
ObjectSetText("Lable!","L",20,"Wingdings 2",FireBrick);
}
}
double ZeroLevel = Zerro();
if (Tral) {
if (totalB > 0) {
double PriceTargetB = (BUBuyLevel + TakeProfit * Point);
if (Bid > NormalizeDouble ((PriceTargetB + TralDist * Point + STOP_L * Point),Dig)) {
LossB = NormalizeDouble((Bid - TralDist * Point - STOP_L * Point),Dig);
TralModifyB();
}
}
if (totalS > 0) {
double PriceTargetS = (BUSellLevel - TakeProfit * Point);
if (Ask < NormalizeDouble ((PriceTargetS - TralDist * Point - STOP_L * Point),Dig)) {
LossS = NormalizeDouble((Ask + TralDist * Point + STOP_L * Point),Dig);
TralModifyS();
}
}
}
if (info) {
ObjectDelete("TPBuy");
ObjectCreate("TPBuy", OBJ_HLINE, 0, 0,PriceTargetB);
ObjectSet ("TPBuy", OBJPROP_COLOR, Blue);
ObjectSet ("TPBuy", OBJPROP_WIDTH, 1);
ObjectSet ("TPBuy", OBJPROP_RAY, False);
ObjectDelete("TPSell");
ObjectCreate("TPSell", OBJ_HLINE, 0, 0,PriceTargetS);
ObjectSet ("TPSell", OBJPROP_COLOR, Red);
ObjectSet ("TPSell", OBJPROP_WIDTH, 1);
ObjectSet ("TPSell", OBJPROP_RAY, False);
}
if (Zero) {
ObjectDelete("Zero");
ObjectCreate("Zero", OBJ_HLINE, 0, 0,ZeroLevel);
ObjectSet ("Zero", OBJPROP_COLOR, DodgerBlue);
ObjectSet ("Zero", OBJPROP_WIDTH, 1);
ObjectSet ("Zero", OBJPROP_RAY, False);
}
if ((totalB >= LeadingOrder) || (totalS >= LeadingOrder)) {
if(Overlapping) {
Lpos = 0; Cpos = 0; Lprofit = 0; Cprofit = 0;
Lpos = LidingProfitOrder();
Cpos = CloseProfitOrder();
if (debug) {
Print ("?????????? ?????? ", Lprofit," ", Lpos);
Print ("?????????? ?????? ", Cprofit," ", Cpos);
}
Cprofit = MathAbs(Cprofit);
PrcCL1 = (Cprofit + Cprofit * FLPersent/100);
if(Lprofit > PrcCL1) {
CloseSelectOrder();
}
}
}
if (total == 0) {
flagB = False;
flagS = False;
}
CheckTotalB = totalB;
CheckTotalS = totalS;
if ((BarControl_0)&&(timeprev == Time[0])) return (0);
timeprev = Time[0];
if (!AddOrdersInd) {
if (totalB > 0 && totalB <= MaxTradesB) {
if ((NormalizeDouble((LastBuyPrice - Ask)/Point, 0)) >= PipStepB) {
iLotsB = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTradesB), lotdecimal);
ticket = OPENORDER ("Buy");
Sleep (3000);
if (ticket < 0) {
BarControl_0 = False;
return (0);
}
BarControl_0 = BarControl;
}
}
}
if (AddOrdersInd) {
if (totalB > 0 && totalB <= MaxTradesB) {
if (((NormalizeDouble((LastBuyPrice - Ask)/Point, 0)) >= PipStepB) && (Signal == 1)) {
iLotsB = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTradesB), lotdecimal);
ticket = OPENORDER ("Buy");
Sleep (3000);
if (ticket < 0) {
BarControl_0 = False;
return (0);
}
BarControl_0 = BarControl;
}
}
}
if (!AddOrdersInd) {
if (totalS > 0 && totalS <= MaxTradesS) {
if ((NormalizeDouble((Bid - LastSellPrice) / Point, 0))>=PipStepS ) {
iLotsS = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTradesS), lotdecimal);
ticket = OPENORDER ("Sell");
Sleep (3000);
if (ticket < 0) {
BarControl_0 = False;
return (0);
}
BarControl_0 = BarControl;
}
}
}
if (AddOrdersInd) {
if (totalS > 0 && totalS <= MaxTradesS) {
if (((NormalizeDouble((Bid - LastSellPrice) / Point, 0))>=PipStepS ) && (Signal == -1)) {
iLotsS = NПоказано первые 50% кода (символов: 32133)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.