gold.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «gold.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Gold.mq4 — торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник реализует простую стратегию открытия пар противоположных позиций (покупка и продажа) в заданном ценовом диапазоне.
При каждом тике советник проверяет текущую эквити счёта. Если эквити превышает заданный порог, все открытые позиции закрываются. Если количество открытых ордеров меньше заданного предела и цена Bid находится в диапазоне между нижней и верхней границами, советник открывает пару ордеров — покупку и продажу.
Советник также отслеживает прибыль последнего закрытого ордера. Если последний ордер был прибыльным и цена сместилась на расстояние, равное значению тейк-профита, открывается новая пара ордеров. Все позиции управляются с использованием магического номера и параметров стоп-лосса, тейк-профита и проскальзывания.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Размер лота для открытия каждого ордера. |
| KLot | Параметр, объявленный в коде, но не используемый в текущей логике советника. |
| MaxLot | Параметр, объявленный в коде, но не используемый в текущей логике советника. |
| Depo | Порог эквити счёта. При превышении текущей эквити этого значения все открытые позиции закрываются и советник прекращает торговлю. |
| Sup | Нижняя граница ценового диапазона. Открытие ордеров происходит только при нахождении цены Bid выше этого значения. |
| Res | Верхняя граница ценового диапазона. Открытие ордеров происходит только при нахождении цены Bid ниже этого значения. |
| StopLoss | Стоп-лосс, задаваемый в пунктах. При значении 0 стоп-лосс не устанавливается. |
| TakeProfit | Тейк-профит, задаваемый в пунктах. При значении 0 тейк-профит не устанавливается. |
| Slip | Допустимое проскальзывание цены при открытии и закрытии ордеров, указываемое в пунктах. |
| Count | Максимальное количество одновременно открытых ордеров. Если число открытых позиций достигает этого значения, советник прекращает открытие новых ордеров. |
| Magic | Магический номер для идентификации ордеров, управляемых советником. Используется при проверке и закрытии позиций. |
Поиск по коду файла
#property version "1.00"
#property strict
extern double Lots = 0.1; // ???
extern double KLot = 2; // ????????? ????
extern double MaxLot = 5; // ???????????? ???
extern double Depo = 20000; // ??????????? ????
extern double Sup = 1000; // ????????? ????
extern double Res = 1500; // ????????????? ?????
extern int StopLoss = 5000; // ????
extern int TakeProfit = 5000; // ???
extern int Slip = 30; // ??????
extern int Count = 100; // ???????????? ?????????? ???
extern int Magic = 12; // ?????
datetime t=0;
double Price=0;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
}
void PutOrder(int type,double price)
{
int r=0;
color clr=Green;
double sl=0,tp=0;
if(type==1 || type==3 || type==5)
{
clr=Red;
if(StopLoss>0) sl=NormalizeDouble(price+StopLoss*Point,Digits);
if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
}
if(type==0 || type==2 || type==4)
{
clr=Blue;
if(StopLoss>0) sl=NormalizeDouble(price-StopLoss*Point,Digits);
if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
}
r=OrderSend(NULL,type,Lots,NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,0,clr);
return;
}
int CountTrades()
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
Показано первые 50% кода (символов: 2064)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.