Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 12
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
ЧТО ОНО ПЕЧАТАЕТ
Для каждого символа: цифры, точка, шаг и стоимость, размер контракта, минимальный / шаг / максимальный лот, спред и его плавающий характер, режим исполнения, своп по длинной и короткой позиции, а также маржа, необходимая для одного минимального лота, в соотношении с вашей текущей свободной маржой. Затем часть, отвечающая на сам вопрос:
--- XAUUSD (bid 4402.15 / ask 4402.63) --------------------- stops level 350 pts | freeze level 0 pts | EFFECTIVE band 351 pts VERDICT: a stop/pending placed 100 pts from price would be REJECTED as 'Invalid price' (band is 351 pts) buy at ask 4402.63: you asked SL 4401.63 -> nearest legal SL 4399.12 (moved out)
double MinStopDistance(const string sym) { long stops = SymbolInfoInteger(sym, SYMBOL_TRADE_STOPS_LEVEL); long freeze = SymbolInfoInteger(sym, SYMBOL_TRADE_FREEZE_LEVEL); long band = (stops > freeze ? stops : freeze) + 1; return band * SymbolInfoDouble(sym, SYMBOL_POINT); }
double LegalStopLoss(const string sym, const bool isBuy, const double price, const double wanted) { double dist = MinStopDistance(sym); int digits = (int)SymbolInfoInteger(sym, SYMBOL_DIGITS); double sl = wanted; if(isBuy) { if(price - sl < dist) sl = price - dist; } else { if(sl - price < dist) sl = price + dist; } return NormalizeDouble(sl, digits); }
Остановка, которая уже является законной, возвращается без изменений, поэтому можно безопасно прокладывать маршрут через каждую остановку. Объединение существующих вычислений занимает всего одну строку:
double sl = LegalStopLoss(_Symbol, true, ask, ask - atr * 1.5);
ПРИМЕЧАНИЯ ПО ЧТЕНИЮ РЕЗУЛЬТАТОВ
Символы должны присутствовать в окне «Market Watch» и должны иметь как минимум один тик. Если для символа нет данных о тиках, откройте его график один раз и запустите процедуру снова.
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/76178
Session Opening Range Breakout EA
Советник, который определяет максимум и минимум заданного окна открытия сессии, а затем открывает сделки при подтверждённом прорыве этого диапазона с учётом размера позиции, зависящего от уровня риска, и ограничением в одну сделку за сессию.
Reverse RSI Bands
«Reverse RSI Bands» — это опережающий индикатор, который математически реконструирует формулу RSI. Он выводит точные ценовые диапазоны целевых значений непосредственно на основном графике, показывая в режиме реального времени, при какой именно цене RSI достигнет указанных вами уровней перекупленности или перепроданности.
Custom Simple Moving Average
Двухступенчатое адаптивное скользящее среднее (базовое среднее + вторичное сглаживание), которое меняет цвет в зависимости от наклона и отмечает пересечения цены и среднего значения стрелками.
YURAZ_MCCH
Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.
