KimIV, а нет в Вашей коллекции, скрипта, который закрывал бы одной командой все открыте оредар: buy, sell, buystop, sellstop, buylimit, selllimit - принудительно, циклично, чтобы закрылось без ошибок и все???
KimIV, а нет в вашей коллекции скрипта, наподобее вот этого - ByMarketBuySymbols и ByMarketSellSymbols, только общего, чтобы допустим по скрипту открывалось 5 позий на бай и 2 на селл?
Пожелание: если возможно, в первом посте вывесить и обновлять список Ваших функций/скриптов с ссылками на соответствующие страницы ветки и кратким описанием. Тогда будет супер-tool! А то кто-то где-то про что-то "пошлёт к Киму" а потом тут листаeш долго, чтобы найти...
Выполняет перемещение ценового уровня StopLoss открытых позиций в безубыток. Функция MovingInWL() принимает следующие необязательные параметры:
sy - Наименование инструмента. "" - любой символ, NULL - текущий символ. Значение по умолчанию "".
op - Торговая операция. Допустимые значения: -1, OP_BUY, OP_SELL. Значение по умолчанию -1 - любая операция.
mn - Идентификатор торговых операций, MagicNumber. Значение по умолчанию -1 - любой магик.
Кроме того, функция MovingInWL() предполагает наличие глобальных переменных (внешних параметров скрипта или советника):
int LevelProfit - Уровень профита в пунктах, которого должна достигнуть позиция для того, чтобы её стоп был перенесён на уровень безубытка.
int LevelWLoss - Уровень безубытка в пунктах, на который будет перенесён стоп позиции после того, как её профит достигнет уровня LevelProfit в пунктах.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 11.09.2008 |//| Описание : Перенос уровня стопа в безубыток |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ( "" - любой символ, |//| NULL - текущий символ) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void MovingInWL(string sy="",int op=-1,int mn=-1){double po, pp;int i, k=OrdersTotal();for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
po=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){if(OrderStopLoss()-OrderOpenPrice()<LevelWLoss*po){
pp=MarketInfo(OrderSymbol(),MODE_BID);if(pp-OrderOpenPrice()>LevelProfit*po){
ModifyOrder(-1,OrderOpenPrice()+LevelWLoss*po,-1);}}}if(OrderType()==OP_SELL){if(OrderStopLoss()==0||OrderOpenPrice()-OrderStopLoss()<LevelWLoss*po){
pp=MarketInfo(OrderSymbol(),MODE_ASK);if(OrderOpenPrice()-pp>LevelProfit*po){
ModifyOrder(-1,OrderOpenPrice()-LevelWLoss*po,-1);}}}}}}
ЗЫ. Советник с примером использования функции MovingInWL() можно взять здесь.
mamma писал(а)>> если возможно, в первом посте вывесить и обновлять список Ваших функций/скриптов с ссылками на соответствующие страницы ветки и кратким описанием.
На первой странице уже невозможно...
Выложу здесь... Если пост для обновления заблокируется, то буду выкладывать заново. Так что следите за веткой :-)
Выполняет перемещение ценового уровня StopLoss открытых позиций по алгоритму TrailingStop. Функция SimpleTrailing() принимает следующие необязательные параметры:
sy - Наименование инструмента. "" - любой символ, NULL - текущий символ. Значение по умолчанию "".
op - Торговая операция. Допустимые значения: -1, OP_BUY, OP_SELL. Значение по умолчанию -1 - любая операция.
mn - Идентификатор торговых операций, MagicNumber. Значение по умолчанию -1 - любой магик.
Кроме того, функция SimpleTrailing() предполагает наличие глобальных переменных (внешних параметров скрипта или советника):
bool TSProfitOnly - Переключатель зоны, в которой трал начинает свою работу. Если True, то трал начнёт работу только после того, как профит позиции достигнет значения TStop.Buy/Sell+TrailingStep пунктов. Если False, то советник будет просто следить за тем, чтобы стоп позиции относительно текущей цены всегда был не далее, чем TStop.Buy/Sell+TrailingStep пунктов. Другими словами при True советник работает только в профитной зоне позиции, а при False и в отрицательной.
int TStop.Buy - Размер трала в пунктах для покупок.
int TStop.Sell - Размер трала в пунктах для продаж.
int TrailingStep - Шаг трала в пунктах. Необходим для того, чтобы не мучить дилера частыми запросами.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 11.09.2008 |//| Описание : Сопровождение позиций простым тралом |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ( "" - любой символ, |//| NULL - текущий символ) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void SimpleTrailing(string sy="",int op=-1,int mn=-1){double po, pp;int i, k=OrdersTotal();if(sy=="0") sy=Symbol();for(i=0; i<k; i++){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if((OrderSymbol()==sy || sy=="")&&(op<0||OrderType()==op)){
po=MarketInfo(OrderSymbol(),MODE_POINT);if(mn<0||OrderMagicNumber()==mn){if(OrderType()==OP_BUY){
pp=MarketInfo(OrderSymbol(),MODE_BID);if(!TSProfitOnly || pp-OrderOpenPrice()>TStop.Buy*po){if(OrderStopLoss()<pp-(TStop.Buy+TrailingStep-1)*po){
ModifyOrder(-1, pp-TStop.Buy*po,-1);}}}if(OrderType()==OP_SELL){
pp=MarketInfo(OrderSymbol(),MODE_ASK);if(!TSProfitOnly ||OrderOpenPrice()-pp>TStop.Sell*po){if(OrderStopLoss()>pp+(TStop.Sell+TrailingStep-1)*po ||OrderStopLoss()==0){
ModifyOrder(-1, pp+TStop.Sell*po,-1);}}}}}}}}
ЗЫ. Советник с примером использования функции SimpleTrailing() можно взять здесь.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Такой функции нет. Объекты можно создавать и управлять ими только на том графике, к окну которого прикреплен советник.
Спасибо за оперативный ответ. А в 5-й версии Метатрейдера будет?
http://forum.alpari-idc.ru/showpost.php?p=368730&postcount=24
Нашел уже здесь.
Большое Вам спасибо за нужную работу.
Пожелание: если возможно, в первом посте вывесить и обновлять список Ваших функций/скриптов с ссылками на соответствующие страницы ветки и кратким описанием. Тогда будет супер-tool! А то кто-то где-то про что-то "пошлёт к Киму" а потом тут листаeш долго, чтобы найти...
Функция MovingInWL().
Выполняет перемещение ценового уровня StopLoss открытых позиций в безубыток. Функция MovingInWL() принимает следующие необязательные параметры:
Кроме того, функция MovingInWL() предполагает наличие глобальных переменных (внешних параметров скрипта или советника):
ЗЫ. Советник с примером использования функции MovingInWL() можно взять здесь.
если возможно, в первом посте вывесить и обновлять список Ваших функций/скриптов с ссылками на соответствующие страницы ветки и кратким описанием.
На первой странице уже невозможно...
Выложу здесь... Если пост для обновления заблокируется, то буду выкладывать заново. Так что следите за веткой :-)
Функция SimpleTrailing().
Выполняет перемещение ценового уровня StopLoss открытых позиций по алгоритму TrailingStop. Функция SimpleTrailing() принимает следующие необязательные параметры:
Кроме того, функция SimpleTrailing() предполагает наличие глобальных переменных (внешних параметров скрипта или советника):
ЗЫ. Советник с примером использования функции SimpleTrailing() можно взять здесь.
//------- Подключение внешних модулей -----------------------------------------+
#include "b-Positions.mqh" // Работа с позициями
Где найти этот файл?
//------- Подключение внешних модулей -----------------------------------------+
#include "b-Positions.mqh" // Работа с позициями
Где найти этот файл?
здесь