Ошибки, баги, вопросы - страница 1740
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
#define SLTP (10 * _Point)
#include <Trade\Trade.mqh>;
#include <Trade\OrderInfo.mqh>
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
static bool FirstRun=true;
if(FirstRun)
{
const double Price=SymbolInfoDouble(_Symbol,SYMBOL_BID)+100*_Point;
MT5Order(Price); // Через MT5-Стандартную Библиотеку - only MT5
//MT4Order(Price); // Через MT4-ОЯС - кроссплатформенный вариант (MT4/5)
FirstRun=false;
}
}
//+------------------------------------------------------------------+
// Через MT5-Стандартную Библиотеку - only MT5
// Выставляет SellLimit и затем устаналивает ему SL/TP
void MT5Order(const double Price)
{
CTrade Trade;
if((ENUM_SYMBOL_TRADE_EXECUTION)::SymbolInfoInteger(_Symbol,SYMBOL_TRADE_EXEMODE)==SYMBOL_TRADE_EXECUTION_EXCHANGE)
Trade.SetTypeFilling(ORDER_FILLING_RETURN);
Trade.OrderOpen(_Symbol,ORDER_TYPE_SELL_LIMIT,1,0,Price,0,0,ORDER_TIME_GTC,0,__FUNCTION__);
const ulong Ticket=Trade.ResultOrder();
if(Ticket>0)
{
COrderInfo Order;
if(Order.Select(Ticket))
Trade.OrderModify(Order.Ticket(),Order.PriceOpen(),Order.PriceOpen()+SLTP,Order.PriceOpen()-SLTP,Order.TypeTime(),Order.TimeExpiration());
}
}
//+------------------------------------------------------------------+
Ваш код запустил у себя (без МТ4):
Возможно, дело в этом
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2016.10.18 22:00
Баг веб-движка
Не заметили
Так как оно ни кому не мешает, кроме избранных, конечно, то скорее всего занимаются более приорететными задачами.
На сколько понимнится - этой фиче уже год как будет.
{
public:
virtual string classname() const
{
return(typename(this));
}
};
class B : public A
{
public:
virtual string classname() const
{
return(typename(this));
}
};
void OnStart()
{
B b;
Print(b.classname());
}
В каждом наследуемом классе приходится прописывать одно и то же
{
return(typename(this));
}
Будет возможность не тянуть такие хвосты в MQL?
Вы хотите получить реальный тип объекта по указателю?
Что-то типа функции:
typename генерирует строку во время компиляции, именно поэтому и необходимо "тянуть хвосты".
Вы хотите получить реальный тип объекта по указателю?
Что-то типа функции:
Да. Вот
Stanislav Korotky:
Я бы хотел сделать поизящнее. Но как? В MQL typename(this) в виртуальном базовом методе возвращает базовый класс. Вот в C++ typeid(*this).name() в базовом виртуальном методе возвращает актуальный класс объекта.
Это только в Публикциях профиля фича?