Существует ли такой советник, который вычисляет расстояние до ближайшего ордера вверх или вниз и выдает его в окно Alert?
- [АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5.
- [Архив!] FOREX - Тенденции, прогнозы и следствия (Эпизод № 12: февраль 2012)
- Две функции start
Скрипт
//+------------------------------------------------------------------+ //| DistMarket.mq4 | //| Copyright 2012, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- Alert (DistMarketAndPos()); //---- return(0); } //+------------------------------------------------------------------+ //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 19.02.2008 | //| Описание : Возвращает расстояние в пунктах между рынком и ближайшей | //| позицей | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" или NULL - текущий символ) | //| op - торговая операция ( -1 - любая позиция) | //| mn - MagicNumber ( -1 - любой магик) | //+----------------------------------------------------------------------------+ int DistMarketAndPos(string sy="", int op=-1, int mn=-1) { double d, p; int i, k=OrdersTotal(), r=1000000; if (sy=="" || sy=="0") sy=Symbol(); p=MarketInfo(sy, MODE_POINT); if (p==0) if (StringFind(sy, "JPY")<0) p=0.0001; else p=0.01; for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) { if (mn<0 || OrderMagicNumber()==mn) { if (OrderType()==OP_BUY) { d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p; if (r>d) r=NormalizeDouble(d, 0); } if (OrderType()==OP_SELL) { d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p; if (r>d) r=NormalizeDouble(d, 0); } } } } } return(r); }
Файлы:
distmarket.mq4
3 kb
Спасибо, а как теперь убрать алерт, чтоб компилировался?
qwanya:
Спасибо, а как теперь убрать алерт, чтоб компилировался?
Спасибо, а как теперь убрать алерт, чтоб компилировался?
А что Вы делали, что у Вас не получилось? Какие варианты этой строки:
Alert (DistMarketAndPos());
Вы перебрали?
Напрягите хоть один мускул мозха и придумайте 5-ть различных вариантов этой строки и каждый раз пробуйте скомпилировать код. Я почти уверен, что если получится перовое (напрячь), то получится и второе! :)))
Я много вариантов пробовал, мозХи уже кипят, здесь все такие приветливые!!! Это всего лишь часть советника, остальную часть я сделал. Пол учебника даже прочитал, чтоб дальше читать и понимать, нужно сначала все читать, что то понимаю, что здесь спрашиваю, так что Вы не серчайте :)
qwanya:
Я много вариантов пробовал, мозХи уже кипят, здесь все такие приветливые!!! Это всего лишь часть советника, остальную часть я сделал. Пол учебника даже прочитал, чтоб дальше читать и понимать, нужно сначала все читать, что то понимаю, что здесь спрашиваю, так что Вы не серчайте :)
Я много вариантов пробовал, мозХи уже кипят, здесь все такие приветливые!!! Это всего лишь часть советника, остальную часть я сделал. Пол учебника даже прочитал, чтоб дальше читать и понимать, нужно сначала все читать, что то понимаю, что здесь спрашиваю, так что Вы не серчайте :)
Подсказка:
1 вариант
Comment( "\n",DistMarketAndPos());
Спасибо, сделал, вот только на SELL теперь перевернуть не могу, чтоб вместе работало

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь