- [АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3.
- Вопросы от начинающих MQL5 MT5 MetaTrader 5
- Закрытие сделок по времени
Подскажите код советника, который без остановки открывает ордера. Можно без условий входа и выхода. Нужен грамотно написанный скелет кода.
Без остановки - то есть открывать новую позицию на каждом тике - низзя, ибо в конце концов маржи не хватит.
не так, нужен "правильный" скелет с циклом открытия, сопровождения и закрытия ордеров. Открытие следующего ордера сразу после закрытия предыдущего по какому-то условию (я сам допишу, думаю будет смесь индикаторов, я пока в поиске ;). То есть нужна сова которая топчется на месте и по возможности часто открывает сделки - для отработки бонусных средств
не так, нужен "правильный" скелет с циклом открытия, сопровождения и закрытия ордеров. Открытие следующего ордера сразу после закрытия предыдущего по какому-то условию (я сам допишу, думаю будет смесь индикаторов, я пока в поиске ;). То есть нужна сова которая топчется на месте и по возможности часто открывает сделки - для отработки бонусных средств
не так, нужен "правильный" скелет с циклом открытия, сопровождения и закрытия ордеров. Открытие следующего ордера сразу после закрытия предыдущего по какому-то условию (я сам допишу, думаю будет смесь индикаторов, я пока в поиске ;). То есть нужна сова которая топчется на месте и по возможности часто открывает сделки - для отработки бонусных средств
Значит Вам нужно перед открытием вести подсчёт открытых позиций - организуйте цикл по всем позициям (PositionsTotal), внутри отсортируйте только те, что открыты по нужному символу и имеют нужный magic.
Обрабатывать лучше в ручную, в тренде. Советник же съест всё.
Если бы я рассматривал такую возможность, сюда бы не писал. Мне нужен пример уже готового или похожего кода для обучения.
Значит Вам нужно перед открытием вести подсчёт открытых позиций - организуйте цикл по всем позициям (PositionsTotal), внутри отсортируйте только те, что открыты по нужному символу и имеют нужный magic.
Я мало что понял из написанного... Если не сложно - ткните меня носом в нужный пример или часть кода. Изучить мкл с нуля пытаюсь уже несколько месяцев после работы по вечерам - не дается :(
В 40 обучение идет сложнее чем в 20...
Я мало что понял из написанного... Если не сложно - ткните меня носом в нужный пример или часть кода. Изучить мкл с нуля пытаюсь уже несколько месяцев после работы по вечерам - не дается :(
В 40 обучение идет сложнее чем в 20...
Вот советник: во входных параметрах задаём максимальное количество открытых позиций.
В OnTick() проверяем - если количество позиций больше, чем задано - значит выходим.
//+------------------------------------------------------------------+ //| PositionsTotal.mq5 | //| Copyright © 2017, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2017, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" #property description "Count of positions" //--- input patameter input ushort InpMaxPositions=1; //--- ulong m_magic=15489; // magic number //--- #include <Trade\PositionInfo.mqh> CPositionInfo m_position; // trade position object //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- int total=0; for(int i=PositionsTotal()-1;i>=0;i--) if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties if(m_position.Symbol()==Symbol() && m_position.Magic()==m_magic) total++; //--- if(total>InpMaxPositions) return; else { //--- your code } //--- return; } //+------------------------------------------------------------------+
Вот советник: во входных параметрах задаём максимальное количество открытых позиций.
В OnTick() проверяем - если количество позиций больше, чем задано - значит выходим.
спасибо, буду пробовать ;)
Уважаемый а тоже самое для mt4???
В стандартной поставке терминала есть пример советника MACD Sample называется. В базе кодов тоже полно примеров.
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования