Ну к примеру я специально вшил в эксперта возможность удаления всех стрелочек и другой шелухи рисующейся при срабатывании ордеров/позиций. Т.к. они там совершенно ни к чему. Можно было-бы убрать с графика линию Bid я бы и ее скинул. Так что зависит от ситуации...
В этом разделе представлены примеры для работы со свойствами графика. Для каждого свойства приведены одна или две законченные функции, которые позволяют задавать/получать значение этого свойства. Эти функции можно использовать в своих MQL4 программах как есть. На рисунке показана графическая панель для наглядной демонстрации того, как изменение...
Графики в торговой платформе отображают изменение котировок финансовых инструментов во времени. Они необходимы для проведения технического анализа и работы советников. Они позволяют трейдерам наглядно следить за котировками валют и акций в режиме реального времени и моментально реагировать на любое изменение ситуации на финансовых рынках...
Ну к примеру я специально вшил в эксперта возможность удаления всех стрелочек и другой шелухи рисующейся при срабатывании ордеров/позиций. Т.к. они там совершенно ни к чему. Можно было-бы убрать с графика линию Bid как это можно сделать в MT5 я бы и ее скинул. Так что зависит от ситуации...
Для счетов с хеджинговым учетом позиций добавлен новый вид торговых операций — закрытие позиции встречной.
Такой вопрос-
Сейчас код выглядит так-
//+------------------------------------------------------------------+//| Close Positions |//+------------------------------------------------------------------+void ClosePositions()
{
for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current ordersif(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
}
//+------------------------------------------------------------------+
Насколько я понимаю это не то,как организовать закрытие позиции встречной?
Привет. Объясните вызов функции в условии if. Просто вызов функции класса , как в таком случае должен выполниться или не выполниться if. Ведь тут нет условия, функция вернет всегда какое то значение. Это вообще правильный код?
//| Script program start function | "Операция &&: Результат первого выражения false, поэтому второе выражение не вычислялось" //| функция всегда возвращает false | //| функция всегда возвращает true |
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---if(bln_find_order) // true -> you should look for a order
{
staticlong counter=0;
Print("Attempt number ",counter);
ResetLastError();
if(HistoryOrderSelect(ul_find_order))
{
long type_order=HistoryOrderGetInteger(ul_find_order,ORDER_TYPE);
if(type_order==ORDER_TYPE_SELL_STOP)
{
Print("The pending order ",ul_find_order," is found! Type of order is ",
EnumToString((ENUM_ORDER_TYPE)HistoryOrderGetInteger(ul_find_order,ORDER_TYPE)));
bln_find_order=false; // true -> you should look for a order
counter=0;
return;
}
else
{
Print("The order ",ul_find_order," is not pending");
bln_find_order=false; // true -> you should look for a orderreturn;
}
}
else
{
Print("Order ",ul_find_order," is not find, error#",GetLastError());
}
counter++;
}
}
Все хорошо до определенного момента. Пока в истории не появится другой тип ордера.
Например SELL_LIMIT.
Как только в истории появляется SELL_LIMIT я уже не могу получить тикет последнего SELL_STOP.
Советник выкидывает ошибку.
The order 9 is not pending
Хотя в истории то есть SELL_STOP
И при чем тут 9ый если мне тикет 7го нужен
Такое ощущение что советник ищет требуемый ордер не по всей истории а только по последнему
Ну к примеру я специально вшил в эксперта возможность удаления всех стрелочек и другой шелухи рисующейся при срабатывании ордеров/позиций. Т.к. они там совершенно ни к чему. Можно было-бы убрать с графика линию Bid я бы и ее скинул.
Так что зависит от ситуации...
И в чём проблема?
CHART_SHOW_BID_LINE
Отображение значения Bid горизонтальной линией на графике
bool
CHART_SHOW_ASK_LINE
Отображение значения Ask горизонтальной линией на графике
bool
CHART_SHOW_LAST_LINE
Отображение значения Last горизонтальной линией на графике
bool
И в чём проблема?
CHART_SHOW_BID_LINE
Отображение значения Bid горизонтальной линией на графике
bool
CHART_SHOW_ASK_LINE
Отображение значения Ask горизонтальной линией на графике
bool
CHART_SHOW_LAST_LINE
Отображение значения Last горизонтальной линией на графике
bool
В MT5 это можно сразу в профиле настроить. И не показывать Bid. В MT4 этого нет.
В MT5 это можно сразу в профиле настроить. И не показывать Bid. В MT4 этого нет.
Как это нету?
https://docs.mql4.com/ru/constants/chartconstants/enum_chart_property#enum_chart_property_integer
Как это нету?
https://docs.mql4.com/ru/constants/chartconstants/enum_chart_property#enum_chart_property_integer
Ну если более понятно через свойство графика. То-есть стандартными средствами.
Ну если более понятно через свойство графика. То-есть стандартными средствами
Но ведь изначально вопрос стоял просто убрать линию Bid без каких-то уточнений.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Вопросы от начинающих MQL5 MT5 MetaTrader 5
Konstantin Nikitin, 2018.06.25 15:01
Ну к примеру я специально вшил в эксперта возможность удаления всех стрелочек и другой шелухи рисующейся при срабатывании ордеров/позиций. Т.к. они там совершенно ни к чему. Можно было-бы убрать с графика линию Bid как это можно сделать в MT5 я бы и ее скинул.
Так что зависит от ситуации...
Удали скриптом, в чём проблема-то?
Новый тип торговой операции Close By
Для счетов с хеджинговым учетом позиций добавлен новый вид торговых операций — закрытие позиции встречной.
Такой вопрос-
Сейчас код выглядит так-
Насколько я понимаю это не то,как организовать закрытие позиции встречной?
Привет. Объясните вызов функции в условии if. Просто вызов функции класса , как в таком случае должен выполниться или не выполниться if. Ведь тут нет условия, функция вернет всегда какое то значение. Это вообще правильный код?
Логическое отрицание НЕ(!)
Логическое отрицание НЕ(!)
Спасибо. Я просто не понял, что двоичная переменая возвращается. В таком случае понятно.
Есть такой советник который позволяет определить момент, когда сработал отложенный ордер
https://www.mql5.com/ru/code/17610
С помощью него получаю тикет ордера SELL_STOP
Код соотвецтвено изменил на
Все хорошо до определенного момента. Пока в истории не появится другой тип ордера.
Например SELL_LIMIT.
Как только в истории появляется SELL_LIMIT я уже не могу получить тикет последнего SELL_STOP.
Советник выкидывает ошибку.
The order 9 is not pending
Хотя в истории то есть SELL_STOP
И при чем тут 9ый если мне тикет 7го нужен
Здравствуйте. Получаю ошибку если StopLoss_=0
failed modify #2 sell 3.00 Si-9.18 sl: 0, tp: 62749 -> sl: 0, tp: 62774 [Invalid stops]