Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 222
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Можете проверить торговый робот
//+------------------------------------------------------------------+
//| Experts1.mq4 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
input double Lots=0.01;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int OnInit()
( OrderSend(Symbol(),OP_BUY,Lots,3,0,Ask+0.0084,Ask-0.0084)
double lot=Lots;
if profit then Lots=lot+0.01 else Lots=lot-0.01
if Lots=0 then Lots=0.01
if Lots>0.03 then Lots=0.01
//---
//---
return();
}
Добрый день, уважаемые эксперты!
Прошу помощи, подсказки как это сделать, где прочитать, написания части кода.
Прикрепил часть кода. Мне нужно чтобы при открытие ордера или лимит ордера я мог вписывать в него свой комментарий. Т.е. не сразу в коде а при открытие панели эксперта.
нужно чтобы при открытие ордера или лимит ордера я мог вписывать в него свой комментарий.
Комментарий пишется при создании ордера, и больше изменить его уже невозможно.
Комментарий пишется при создании ордера, и больше изменить его уже невозможно.
Огромное Вам спасибо. Именно это мне и нужно.
подскажите как прописать условие при котором отложенный ордер будет однократно передвинут при определённом движении цены,
1. Создать массив, в котором хранить тикеты открытых ордеров и флаг того, что ордер уже передвигался.
2. Следить за вновь появляющимися ордерами и записывать в этот массив информацию об открытом ордере с флагом "не передвигался".
3. Удалять информацию из массива, если ордер закрыт, удалён, преобразован.
4. Проверять условие для передвижения, если условие настало и флаг "не передвигался", то передвинуть и флаг изменить на "передвигался"
1. Создать массив, в котором хранить тикеты открытых ордеров и флаг того, что ордер уже передвигался.
2. Следить за вновь появляющимися ордерами и записывать в этот массив информацию об открытом ордере с флагом "не передвигался".
3. Удалять информацию из массива, если ордер закрыт, удалён, преобразован.
4. Проверять условие для передвижения, если условие настало и флаг "не передвигался", то передвинуть и флаг изменить на "передвигался"
по моему не надежно
я б такую задачу решал бы более простым способом: выставлял бы отложку с магиком №2 и удалял бы отложку с магиком №1 по условию при котором нужно двигать ордер
код будет простой - по приходу тика цикл по ордерам с магиком №1 если нашли и нужно двигать, то удалим этот ордер и выставим новый ордер с магик №2
Да, хороший вариант.
Да, хороший вариант.
UPD: код будет простой - по приходу тика цикл по ордерам с магиком №1 если нашли и нужно двигать, то удалим этот ордер и выставим новый ордер с магик №2
....то попробуем выставить новый ордер с магик №2 и если ОК, то удалим найденный ордер с магик №1
так меньше проверок придумыввать - например уровни стоп-левел расширились и не получатся ордер один раз передвинуть, а мы уже удалили бы найденный ордер
кактотак ;)