sn gera.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «sn gera.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Программа представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматически анализирует рыночные ситуации и выполняет торговые операции на счёте трейдера.
Для формирования торговых сигналов используются данные технических индикаторов — скользящие средних нескольких таймфреймов и индекс относительной силы (RSI). Советник работает на заданном таймфрейме и открывает позиции в соответствии с совокупностью сигналов индикаторов.
Встроена система управления рисками: ограничение максимального спреда, защита от максимальной просадки, контроль количества одновременно открытых позиций, а также стоп-лосс и тейк-профит в пунктах. Торговля может быть ограничена по времени суток.
Программа включает механизм проверки торгового счёта по ключу и ограничение по времени использования. Для работы с ордерами используется собственная обёртка над торговым API MetaTrader.
Настройки программы
| Настройка | Описание |
|---|---|
| comment | Комментарий — Текстовый комментарий, добавляемый к открытым ордерам. |
| Magic | Магический номер — Магический номер ордеров, используемый для идентификации позиций, открытых советником. |
| Time (WorkTime) | Рабочее время — Временной интервал торговли в формате от-до (например, 13:45-23:45) по серверному времени. |
| slippage | Проскальзывание — Допустимое проскальзывание цены при открытии и закрытии ордеров. |
| Maximum Spread (points) (maxspread) | Максимальный спред — Максимально допустимый спред в пунктах для открытия позиции. |
| Risk (%) (risk) | Риск (%) — Процент риска, используемый для расчёта размера лота. |
| TP (points) (takeprofit) | Тейк-профит — Уровень тейк-профита в пунктах для фиксации прибыли. |
| SL (points) (stoploss) | Стоп-лосс — Уровень стоп-лосса в пунктах для защиты от убытков. |
| Maximum Open Orders (maxtrades) | Максимальное число сделок — Максимальное количество одновременно открытых ордеров. |
| RSI Level Sell (overbought) | Уровень перекупленности RSI — Уровень RSI выше которого формируется сигнал на продажу. |
| RSI Level Buy (oversold) | Уровень перепроданности RSI — Уровень RSI ниже которого формируется сигнал на покупку. |
Поиск по коду файла
#property version "1.00"
#property strict
#include <sovetnikovGUI\Orders.mqh>
#include <sovetnikovGUI\Time.mqh>
#include <sovetnikovGUI\Bcrypt.mqh>
#property description "Наталья Кривоспицына - телеграмм"
/*
gavrilin: 3CF2B77FBFF66BD7C82002C5EA31AE3F
drankovich: 7823771993278A1519087FD789B477C7
*/
string serror="Invalid account! For purchase please write to 'd**n*@ya.ru'";
#ifdef KEY
S Key="";
#else
string Key="";
#endif
#define __TIMELIMIT__ D'2019.06.16'
#define __HIDEINDICATORS__ true
ENUM_TIMEFRAMES tf=PERIOD_M5; //tf
S comment="";
I Magic=201812;
S WorkTime="13:45-23:45"; //Time
I slippage=0;
D maxspread=0;//Maximum Spread (points)
bool mm=true;
D risk=10.0; //Risk (%)
double MaxDD=30; //Max DD (%)
double lots = 0.01;
D takeprofit=8.0; //TP (points)
D stoploss=50.0; //SL (points)
I maxtrades=5; //Maximum Open Orders
I overbought=70; //RSI Level Sell
I oversold=40; //RSI Level Buy
bool use_MA_Close=true;
bool timeout_function=true;
int timeout=90;
class CMyOrders: public COrders
{
public:
virtual bool ControlsExperation(int iTexp,int itype,bool bSeconds=false)
{
if(iTexp==0) return false;
int flag=0;
if(ArraySize(m_orders)==0) Update();
bool bUpdateOrder=false;
bool bret=false;
int mnSec=60;
if(bSeconds) mnSec=1;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(m_orders[i].OrderCloseTime>0) continue;
flag=toMyTypes(m_orders[i].OrderType)&itype;
if(CheckMagic(m_orders[i].OrderMagicNumber,m_orders[i].OrderComment) && CheckSymbol(m_orders[i].OrderSymbol) && m_orders[i].OrderType==toDefType(flag,itype))
{
if(TimeCurrent()-m_orders[i].OrderOpenTime>iTexp*mnSec && m_orders[i].OrderProfitPoint>=0)
{
bUpdateOrder=true;
bret=OrderClose(m_orders[i].OrderTicket);
}
}
}
if(bUpdateOrder) UpdateOrders();
return bret;
}
};
class CMain: public CMainDefault
{
protected:
CMyOrders m_main;
CNewBar m_bar;
CTime m_time;
public:
virtual int OnInit()
{
// код доступен только после оплаты
}
virtual void OnDeinit(const int reason)
{
m_main.OnDeinit();
}
virtual void OnTick()
{
// код доступен только после оплаты
}
int signal(bool iSignПоказано первые 50% кода (символов: 6195)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.