Проблема в следующем
В языке практически не разбираюсь, возникла необходимость автоматизировать открытие ордеров по нескольким вп, набросал вот такой простенький код (файл прилагаю), но получился какой то он корявый,
По плану должен открывать 6 вп, а открывает только 3 вп, но иногда открывает и все 6 ,но потом опять перестает работать как надо (, думаю возможно это связано с количеством знаков после запятой цены, т.к. в блоке где нет JPY всё работает нормально.
Помогите пожалуйста решить эту проблему.
Да и еще, если не трудно подскажите как прописать, чтобы можно было переключать открывание сделок только Бай или Селл.
файл: ОПАСНЫЙ ФАЙЛ УДАЛЁН
Файл нужно прикреплять при помощи кнопки .
Проблема в следующем
В языке практически не разбираюсь, возникла необходимость автоматизировать открытие ордеров по нескольким вп, набросал вот такой простенький код (файл прилагаю), но получился какой то он корявый,
По плану должен открывать 6 вп, а открывает только 3 вп, но иногда открывает и все 6 ,но потом опять перестает работать как надо (, думаю возможно это связано с количеством знаков после запятой цены, т.к. в блоке где нет JPY всё работает нормально.
Помогите пожалуйста решить эту проблему.
Да и еще, если не трудно подскажите как прописать, чтобы можно было переключать открывание сделок только Бай или Селл.
Существует ряд причин, которые препятствуют открытию ордера. Предположим, на первом тике открылось 3 ордера
На следующем тике в самом начале программы if(OrdersTotal() >= OrderCount) return; произойдет возврат, т.к. количество ордеров больше OrderCount, который = 1.
Остальная часть программы будет игнорироваться.
Судя вот по этим строкам:
//| Copyright 2021, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Software Corp." #property link "https://www.mql5.com"
программу разработала фирма MetaQuotes Software Corp. Обратитесь к ним за консультацией!

- www.mql5.com
Существует ряд причин, которые препятствуют открытию ордера. Предположим, на первом тике открылось 3 ордера
На следующем тике в самом начале программы if(OrdersTotal() >= OrderCount) return; произойдет возврат, т.к. количество ордеров больше OrderCount, который = 1.
Остальная часть программы будет игнорироваться.
Судя вот по этим строкам:
программу разработала фирма MetaQuotes Software Corp. Обратитесь к ним за консультацией!
имеется ввиду, что лишние ордера открываются?
Попробуйте так - Короче и точнее. Если самостоятельно разберетесь в ней - будете корифеем программирования. Ставьте курсор на слово и нажимайте F1
//+------------------------------------------------------------------+ //| Test 3.mq4 | //+------------------------------------------------------------------+ #property strict extern double Lot = 0.01; extern int Slip = 3; extern int Magic = 777; string name[10]={"AUDJPY","CHFJPY","CADJPY","AUDCAD","AUDCHF","CADCHF"}; int cnt[6]; void OnTick() { ArrayInitialize(cnt, 0); // Обнуление счетчиков // Подсчет ордеров по каждому торговому инструменту for(int n=OrdersTotal()-1; n>=0; n--) { if(!OrderSelect(n,SELECT_BY_POS))continue; for(int k=0; k<6; k++) if(OrderSymbol()==name[k]) cnt[k]++; } // Открытие ордеров по каждому торговому инструменту for(int k=0; k<6; k++) if(!cnt[k]) int ticket = OrderSend(name[k],OP_BUY, Lot, MarketInfo(name[k],MODE_ASK), Slip, 0, 0, "", Magic); }

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Проблема в следующем
В языке практически не разбираюсь, возникла необходимость автоматизировать открытие ордеров по нескольким вп, набросал вот такой простенький код (файл прилагаю), но получился какой то он корявый,
По плану должен открывать 6 вп, а открывает только 3 вп, но иногда открывает и все 6 ,но потом опять перестает работать как надо (, думаю возможно это связано с количеством знаков после запятой цены, т.к. в блоке где нет JPY всё работает нормально.
Помогите пожалуйста решить эту проблему.
Да и еще, если не трудно подскажите как прописать, чтобы можно было переключать открывание сделок только Бай или Селл.
файл: ОПАСНЫЙ ФАЙЛ УДАЛЁН