В свое время MetaTrader здорово развивался в плане функциональности и удобства интерфейса. Последнее время упор делают, как я понимаю, на торговлю сигналами и программами. Тем не менее, мне кажется, функциональности можно еще немного добавить. Набросал список моментов, которые бы сделали MetaTrader идеальным для меня. Писал в основном глядя на MetaTrader 4, но пятая версия, вроде, не сильно отличается в этом плане. Некоторые вещи совсем простые, некоторые требуют серьезных доработок, порядок произвольный.Многие трейдеры на Московской бирже хотели бы автоматизировать свои торговые алгоритмы, но не знают с чего начать. А ведь давно есть проработанные решения, которые максимально облегчают первые шаги в алготрейдинге.
Язык MQL5 изначально поддерживает все торговые возможности платформы MetaTrader 5 — в нем множество торговых функций для работы с ордерами, позициями и торговыми запросами. При этом не имеет значения, на каком рынке вы торгуете - фьючерсы, акции, опционы и т.д.
Средствами MQL5 вы можете создать торговый запрос и отослать его на сервер с помощью функций OrderSend() или OrderSendAsync(), получить результат его выполнения, просмотреть торговую историю, узнать спецификацию контракта для инструмента, обработать
Для сравнения языков MQL5 и QLUA мы написали несколько тестов, которые замеряют скорость выполнения базовых операций.
В тестах использовался компьютер с Windows 7 Professional 64 bit, MetaTrader 5 build 1340 и QUIK версии 7.2.0.45.
Результаты представлены в таблице, где все значения представлены в миллисекундах (чем меньше время, тем лучше):
Название MQL5 QLUA Преимущество MQL5 TestFloat 3 969 273 391 69 раз TestArrays 375 230 768 615 раз TestFibo 1 125 61 110 55 раз TestPiCalculated 2 328 183 812 79 раз TestQuickSort 2 031 211 279 104 раза TestAckermann 828 64 541 78 раз
Смысл стратегии в двух словах.
Если с 7-ми до 16 часов было движение более 48 пунктов от максима/минимума цены за период 1-6 часов. Открывать сделку в этом направлении.
На тесте с 2010 года на Евродолларе стратегия показывает прибыль. Но если тестировать с 2003 года — там будут не очень результаты.:(
Есть ли какие-нибудь стандартные ухищрения, чтоб улучшить прибыльность?
#property copyright «ForexMan»
#property link «bergovfx.com»
#include <Tools\DateTime.mqh>
input double Lots=0.1;
input int TakeProfit=59;
input int StopLoss=27;
input int Raznica=48;
CDateTime DT;
int magic_number=555;
bool f;
int OnInit()
{
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
double High[];
int count=10; // сколько копируем
ArraySetAsSeries(High,true);
CopyHigh(_Symbol,PERIOD_H1,0,count,High);
double Low[];
ArraySetAsSeries(Low,true);
CopyLow(_Symbol,PERIOD_H1,0,count,Low);
DT.DateTime(TimeCurrent());
if(DT.day_of_week==0 || DT.day_of_week==6) return; // в выходные не работаем
if(MQLInfoInteger(MQL_TRADE_ALLOWED)==false) return; // пропустим тик, если терминал занят
double max, min; //максимальная и минимальная цены
// Если 7 утра — открываем сделки на пробой флэта
if(DT.hour==7 && OrdersTotal()==0)


