- Как торговать одновременно на двух счетах?
- можно ли в МТ торговать советником одновременно разными инструментами
- Советники на разных счетах
Народ!Подскажите,можно ли сделать советник по 2 пары?Совсем простенький,но чтобы одновременно на 2 парах торговал?
//| CtradeTest.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#include <Trade\Trade.mqh>
input double d_Volume=0.01;
//---
CTrade m_trade; // trading object
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
m_trade.Buy(0.01,"EURUSD");
m_trade.Sell(0.01,"USDJPY");
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
как ему прописать условия тейка и стоп лосса,подскажи
Для начала нужно придумать алгоритм торговли. Предлагаю так: если на текущем таймфрейме свеча №1 закрылась выше свечи №2 - то Buy:
так нормально?
Итак, заготовка:
//| CtradeTest.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.000"
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
//---
input string first ="EURUSD";
input string second ="USDJPY";
//---
CTrade m_trade; // trading object
CSymbolInfo m_symbol; // symbol info object
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
m_trade - этот объект будет отвечать за торговлю - при помощи методов торгового класса CTrade будем открывать позиции.
m_symbol - это объект класса CSymbolInfo - этот класс предоставляет информацию про инструменты, при помощи него будет получать текущие цены по двум выбранным инструментам.
каша из топора версия 2.
Итак, заготовка:
//| CtradeTest.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.000"
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
//---
input string first ="EURUSD";
input string second ="GBPUSD";
take profit=10
stop loss=20
CTrade m_trade; // trading object
CSymbolInfo m_symbol; // symbol info object
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
Усложняем: теперь два объекта класса CSymbolInfo - для каждого инструмента:
//| CtradeTest.mq5 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.001"
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
//---
input string first ="EURUSD";
input string second ="USDJPY";
//---
CTrade m_trade; // trading object
CSymbolInfo m_symbol_1; // symbol info object for symbol "first"
CSymbolInfo m_symbol_2; // symbol info object for symbol "second"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
m_symbol_1.Name(first);
m_symbol_1.Refresh();
m_symbol_2.Name(second);
m_symbol_2.Refresh();
RefreshRates();
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
if(!RefreshRates())
return;
double bid_1=m_symbol_1.Bid();
double bid_2=m_symbol_2.Bid();
Comment(first," Bid: ",DoubleToString(bid_1,m_symbol_1.Digits()),"\n",
second," Bid: ",DoubleToString(bid_2,m_symbol_2.Digits()));
}
//+------------------------------------------------------------------+
//| Refreshes the symbol quotes data |
//+------------------------------------------------------------------+
bool RefreshRates()
{
//--- refresh rates
if(!m_symbol_1.RefreshRates() || !m_symbol_2.RefreshRates())
return(false);
//--- protection against the return value of "zero"
if(m_symbol_1.Ask()==0 || m_symbol_1.Bid()==0 || m_symbol_2.Ask()==0 || m_symbol_2.Bid()==0)
return(false);
//---
return(true);
}
//+------------------------------------------------------------------+
Поместите его на любой символ (не на EURUSD и не на USDJPY). Что показывает?
Но при этом,при срабатывании стоп лосса по одной из пар,советник открывает сделку по той же позиции,но уже с утроенным объемом,пока не выйдет в плюс,а потом снова торгует по объему выставленному изначально
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования