
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
тему Вами предложенную я просмотрел но не наел в каком из шагов это описано
Заготовка для работы со списком позиций:
#include <Trade\SymbolInfo.mqh>
CPositionInfo m_position; // trade position object
CSymbolInfo m_symbol; // symbol info object
.
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
.
//---
m_symbol.Name(Symbol()); // sets symbol name
.
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
int total=0;
for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of open positions
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
total++;
В OnTick() подсчитывается количество позиций по символу и с указанным Magic.
Далее уже Ваш код - хотите открывайте ещё позицию, хотите не открывайте.
спасибо
вставил Ваш код выдает ошибки при компиляции как их устранить?
Это куски с функционалом. Так как Вы не рассказали толком, что нужно, я дал Вам общие шаблоны.
Вот это нужно вставить в "шапку" советника:
#include <Trade\SymbolInfo.mqh>
CPositionInfo m_position; // trade position object
CSymbolInfo m_symbol; // symbol info object
//---
ulong m_magic=15489; // magic number
Это в OnInit():
Это в OnTick():
for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of open positions
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
total++;
ошибку выдает в строке total++; и }
я понял то это куски т.к между кодами были точки вставил именно так как вы описали
ошибку выдает в строке total++; и }
я понял то это куски т.к между кодами были точки вставил именно так как вы описали
Это не забыли?
У меня прописано было ulong Expert_MagicNumber =11089; // у Вас другие цифры а где можно почитать что они означают они меняются с каждой комбинацией а в слепую не понятно что они обозначают за ранее благодарен