Здравствуйте! Подскажите пожалуйста: как найти тип последнего закрытого ордера и если он закрылся по тейкпрофиту одно условие если по стоплоссу другое условие. За ранние всех благодарю.
Подскажите пожалуйста: как найти тип последнего закрытого ордера и если он закрылся по тейкпрофиту одно условие если по стоплоссу другое условие. За ранние всех благодарю.
А какие вообще типы бывают? Про условия вообще ничего не понял
Я пишу советник точнее пока учусь мне нужно найти последний закрытый ордер потом узнать какой у него тип сел или бай потом узнать как он закрылся по тейкпрофиту или по стоплоссу потом если закрылся по тейкпрофиту одно условие если по стоплоссу другое условие
Я пишу советник точнее пока учусь мне нужно найти последний закрытый ордер потом узнать какой у него тип сел или бай потом узнать как он закрылся по тейкпрофиту или по стоплоссу потом если закрылся по тейкпрофиту одно условие если по стоплоссу другое условие
Ну так в истории и тип (buy/sell) прописан, и время закрытия указано
Функция GetTypeLastClosePos(). Эта функция возвращает тип последней закрытой позиции или -1. Более точный отбор учитываемых позиций задаётся внешними параметрами:
sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - "" означает любой рыночный инструмент. NULL означает текущий инструмент. mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор. //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV | //+----------------------------------------------------------------------------+ //| Версия : 19.02.2008 | //| Описание : Возвращает тип последней закрытой позиции или -1 | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ int GetTypeLastClosePos(string sy="", int mn=-1) { datetime t; int i, k=OrdersHistoryTotal(), r=-1;
if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if ((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (t<OrderCloseTime()) { t=OrderCloseTime(); r=OrderType(); } } } } } return®; }Пишу советники на заказ http://forexsovetniki.ru/index/sovetniki_na_zakaz/0-17