Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 92
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну так проверяйте количество открытых позиций на нулевой свече M15. Если уже есть позиция, и она открыта на нулевой свече M15, то больше не открывать.
for (i=OrdersTotal()-1;i>=0;i--)
{
RefreshRates();
if(OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == true) a = 0;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) b++;
}
Я не очень хорошо разбираюсь в программировании, но вот этот модуль этим и занимается же
}
Попробуйте сделать контроль на новый бар по Н1
for (i=OrdersTotal()-1;i>=0;i--)
{
RefreshRates();
if(OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == true) a = 0;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) b++;
}
if( stM1 <= 20 && stM0 > 20 && stH0 > 70 && b==0 && opp != iTime(_Symbol,PERIOD_H1,0)) // покупка
{
opp = iTime(_Symbol,PERIOD_H1,0);
RefreshRates();
op = Ask;
Попробуйте сделать контроль на новый бар по Н1
for (i=OrdersTotal()-1;i>=0;i--)
{
RefreshRates();
if(OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == true) a = 0;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) b++;
}
if( stM1 <= 20 && stM0 > 20 && stH0 > 70 && b==0 && opp != iTime(_Symbol,PERIOD_H1,0)) // покупка
{
opp = iTime(_Symbol,PERIOD_H1,0);
RefreshRates();
op = Ask;
Я не очень хорошо разбираюсь в программировании, но вот этот модуль этим и занимается же
for (i=OrdersTotal()-1;i>=0;i--)
{
RefreshRates();
if(OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == true) a = 0;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) b++;
}
Нет, этот кусок кода точно не этим занимается.
Вам нужно проверить что бар открытия позиции на периоде М15 не равен нулю - вот тогда можно открывать позицию:
{
// код открытия позиции
}
Здравствуйте! Помогите разобратся с классами, что я делаю не так:
class ASDЗдравствуйте! Помогите разобратся с классами, что я делаю не так:
class ASDНачните с прочтения статьи.
Я ее и читаю, но чуток не догоняю.
Вот что получается:
класс:
{
private:
// Здесь располагаются переменные и функции, доступные только внутри класса
int c(int m_a,int m_b)
{
m_a=a+b; m_b=a-b;
int m_d=m_a+m_b;
d=m_d;
return(c(m_a,m_b));
}
public:
int a;
int b;
int d;
};
скрипт:
ASD ar;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
ar.a=1;
ar.b=3;
Alert(ar.d);
}
//+------------------------------------------------------------------+
Алерт выдает ноль. Что не так??
Я ее и читаю, но чуток не догоняю.
Вот что получается:
класс:
Алерт выдает ноль. Что не так??
Трудно код вставить посредством кнопки SRC ?
Я за вас вставил правильно код.
Я ее и читаю, но чуток не догоняю.
Вот что получается:
класс:
{
private:
// Здесь располагаются переменные и функции, доступные только внутри класса
int c(int m_a,int m_b)
{
m_a=a+b; m_b=a-b;
int m_d=m_a+m_b;
d=m_d;
return(c(m_a,m_b));
}
public:
int a;
int b;
int d;
};
скрипт:
ASD ar;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
ar.a=1;
ar.b=3;
Alert(ar.d);
}
//+------------------------------------------------------------------+
Алерт выдает ноль. Что не так??
Внутри класса сделайте Print'ы значениям. А потом глядите в журнале что там будет распечатано при запуске скрипта ;)