Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1318

 
SanAlex:

все варианты которые я смог обнаружить - больше вроде нет вариантов 


А что, если попробовать в советнике использовать 2 независимых блока. Тогда один будет работать сам по себе, как у Вас уже работает по - тренду (с использованием индикатора)..........
А второй по сигналу, установленному первым блоком - по позиции - не по тренду........


Я уже писал выше:

Не обязательно, что бы эти две задачи были взаимосвязаны - на мой взгляд, они могут работать совершенно независимо .

Такой алгоритм, который я предлагаю - (на мой взгляд), еще не использовался программистами. Во всяком случае я не нашел такого решения - на просторах инета. 

[Удален]  
Sprut 185: Такой алгоритм, который я предлагаю - (на мой взгляд), еще не использовался программистами. Во всяком случае я не нашел такого решения - на просторах инета. 

скорее всего такое не возможно реализовать 

вот это не даёт - на символе должна быть одна позиция (это если по профиту закрылась и вновь открылась позиция) (и когда противоположный сигнал подался - то не может открыться в другую сторону

   if(m_position.Select(Symbol()))

если просто от сигнала (от точки) то нет проблем . (и то, этого не должно присутствовать в коде(строчка выше)))

 
SanAlex:

скорее всего такое не возможно реализовать 

вот это не даёт - на символе должна быть одна позиция (это если по профиту закрылась и вновь открылась позиция) (и когда противоположный сигнал подался - то не может открыться в другую сторону

если просто от сигнала (от точки) то нет проблем . (и то, этого не должно присутствовать в коде(строчка выше)))

Понял - вот по этому наверно и не нашел я такого решения на просторах инета. Но на мой взгляд, решение этой проблемы - должно быть. 
Спасибо - Буду искать решение этой проблемы.....
Тогда давайте пока сделаем паузу.
 

После обновления до  версии  2981 стала появляться ошибка в строке

MqlTradeRequest request = {0}
cannot convert 0 to enum 'ENUM_TRADE_REQUEST_ACTIONS'   OrderaiPosicii.mqh      11      34
Подскажите чем можно заменить эту строку.
 
pivomoe:

После обновления до  версии  2981 стала появляться ошибка в строке

Подскажите чем можно заменить эту строку.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Особенности языка mql5, тонкости и приёмы работы

Ilyas, 2021.05.28 18:18

Мы расширяем инициализирующие последовательности "{ ... }", в ближайшем билде будет разрешено использовать любое выражение, а не только константное.

Вместо с этим изменением, появится и граничение на использование констант для перечислений (как для обычного выражения): если константа не входит в перечисление, то будет выдана соответствующая ошибка.

Анализ существующих кодов показал, что часто неправильно используется последовательность из одного нуля - "{0}"

Например так:

MqlTradeRequest request={0};


Такая запись означает, выставить значение ноль для первого поля структуры и обнулить остальные поля.

Для приведённой выше строки кода, по новым правилам, будет выдана ошибка, т.к. первое поле имеет тип ENUM_TRADE_REQUEST_ACTIONS, перечисление, в котором отсутствует значение "0"

cannot convert 0 to enum 'ENUM_TRADE_REQUEST_ACTIONS'


Правильно будет так:

MqlTradeRequest request={};

 
Спасибо.
 
Kira27:

Вот я и пишу  --  от какого класса наследовать свой класс?, чтоб использовать эти методы их стандартной библиотеки

Да что же с моим вопросом не так то?))))

 

Вот код, что не так?  

//+------------------------------------------------------------------+
//|                                            Test_Nasledovania.mqh |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

#include <Object.mqh>
#include <Trade\Trade.mqh>

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class Test_Nasledovania : public CObject
  {
private:

public:
                     Test_Nasledovania();
                    ~Test_Nasledovania();

   void              test();
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Test_Nasledovania::Test_Nasledovania()
  {

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Test_Nasledovania::~Test_Nasledovania()
  {
  }
//+------------------------------------------------------------------+


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void      Test_Nasledovania::test()
{
Buy  -- Метод Buy не высвечивается как подключеный
}
//+------------------------------------------------------------------+

В состав класса входит 


Сам  class Test_Nasledovania : public CObject  наследник базового класса CObject всей стандартной библиотеки.   В чём прикол???  Подскажите пожалуйста)

 
Kira27:

Вот код, что не так?  

В состав класса входит 


Сам  class Test_Nasledovania : public CObject  наследник базового класса CObject всей стандартной библиотеки.   В чём прикол???  Подскажите пожалуйста)

Кроме подключения торгового класса, нужно ещё и создать объект этого торгового класса и потом уже обращаться к методам класса через созданный объект

***
#include <Trade\Trade.mqh>
//---
CTrade         m_trade;                      // object of CTrade class
***
void OnTick()
  {
   m_trade.Buy(***
  }
 
Kira27:

Да что же с моим вопросом не так то?))))

Потому, что в справке всё наследование всех этих классов чёрным по белому написано.