Gold Coin M5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «gold coin_fix.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот торговый советник предназначен для работы в MetaTrader 4 на валютном рынке. Он анализирует направление тренда с помощью индикатора ADX на нескольких таймфреймах и использует дополнительные индикаторы для формирования сигналов на вход в сделки. Советник размещает отложенные ордера типа BUYSTOP и SELLSTOP, а также управляет открытыми позициями, применяя трейлинг-стоп и контроль убытков.
Настройки программы
| Настройка | Описание |
|---|---|
| Search_trend_bar | Поиск баров тренда — Количество баров, используемых для анализа направления тренда на разных таймфреймах. |
| iADX_M5 | Период ADX M5 — Период расчёта индикатора ADX для таймфрейма M5, определяющий силу тренда на этом интервале. |
| iADX_M15 | Период ADX M15 — Период расчёта индикатора ADX для таймфрейма M15, определяющий силу тренда на этом интервале. |
| iADX_H1 | Период ADX H1 — Период расчёта индикатора ADX для таймфрейма H1, определяющий силу тренда на этом интервале. |
| Step | Шаг — Базовый шаг в пунктах для размещения отложенных ордеров от текущей цены. |
| Acceleration | Ускорение — Параметр, влияющий на расчёт динамики изменения цены для определения текущего движения. |
| TrailingStop | Трейлинг-стоп — Размер трейлинг-стопа в пунктах для защиты прибыли по открытым позициям. |
| Mult_Profit | Множитель прибыли — Множитель, используемый при расчёте целевого уровня фиксации прибыли. |
| Mult_Loss | Множитель убытка — Множитель, используемый при расчёте допустимого уровня убытка. |
| Distance | Расстояние — Дополнительное расстояние в пунктах от текущей цены для размещения отложенных ордеров. |
| Coin_Step_Trade | Шаг изменения equity — Порог процентного изменения equity, при котором советник пересматривает управление позициями. |
| StartLots | Начальный лот — Начальный размер лота для открытия новых позиций. |
| TIME | Временной интервал — Минимальный временной интервал в секундах между последовательными торговыми действиями. |
| Average_spread | Средний спред — Допустимое среднее значение спреда в пунктах, при превышении которого советник ограничивает торговлю. |
| Magic | Магический номер — Уникальный идентификатор ордеров, размещённых данным советником, для их фильтрации и управления. |
| q | Параметр стохастика — Целочисленный параметр, участвующий в настройке периода стохастика для формирования сигналов. |
| sar | Параметр SAR — Числовой параметр, используемый в расчёте индикатора параболического SAR для определения направления движения. |
Поиск по коду файла
???//+------------------------------------------------------------------+
#property description "Email: s*****d*@ukr.net"
#property strict
extern int Search_trend_bar = 50;
extern int iADX_M5 = 14;
extern int iADX_M15 = 5;
extern int iADX_H1 = 3;
extern int Step = 20;
extern int Acceleration = 7;
extern int TrailingStop = 25;
extern int Mult_Profit = 100;
extern int Mult_Loss = 3;
extern int Distance = 1;
extern int Coin_Step_Trade = 500;
extern double StartLots = 0.02;
extern int TIME = 300;
extern int Average_spread = 20;
extern int Magic = 7773888;
extern int q=7,w=8, e=6, loss=15000;
extern double sar=0.05,sar2=0.02;
string Comments = "Gold Coin M5";
bool isTestMode;
int Awers = 5;
int Colerd = 10;
int Bitters = 100;
bool Terki;
int Sigiig = 10;
int r, Dffer, fsfwef;
double PeriMix, Lultors, Lultorsw, Qwaaw, Swwe, Bultes,
Serrte, Seerwr, Swwewx, Looeer, Bibiruxe, Cupperip;
double ddwert[];
double pupserix[];
double avgtick[];
int wqaww[];
int sweew, wdwqwq;
double max = 0;
int se=0;
void init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
void Rexter()
{
int totalBuyStop = 0;
int totalSellStop = 0;
int ticket;
Calculation_of_dynamic_information();
int totalTrades = 0;
for( int pos = 0; pos < OrdersTotal(); pos++ ) {
r = OrderSelect( pos, SELECT_BY_POS, MODE_TRADES );
if( OrderSymbol() != Symbol() ) continue;
if( OrderMagicNumber() == Magic && Terki){
totalTrades++;
switch ( OrderType() ) {
case OP_BUY:
if( AccountEquity() > max || AccountEquity() / AccountBalance() < ( double ) Coin_Step_Trade / 100 ){
if( Swwewx < -60 * Point && Bid < OrderOpenPrice() - ( 60 * Point ) )
if( OrderStopLoss() == 0.0 || Bid - OrderStopLoss() > ( TrailingStop * Point * 150 )+ fsfwef*Point )
if( NormalizeDouble( Bid - ( TrailingStop * Point * 150 ), Digits ) != OrderStopLoss() )
r = OrderModify( OrderTicket(), OrderOpenPrice(), NormalizeDouble( Bid - ( TrailingStop * Point), Digits ), OrderTakeProfit(), 0 );
}
break;
case OP_SELL:
if( AccountEquity() > max || AccountEquity() / AccountBalance() < ( double ) Coin_Step_Trade / 100 ){
if( Swwewx > 60 * Point && Ask > OrderOpenPrice() + ( 60 * Point ) )
if( OrderStopLoss() == 0.0 || OrderStopLoss() - Ask > ( TrailingStop * Point * 150 ) + fsfwef*Point )
if( NormalizeDouble( Ask + ( TrailingStop * Point * 150 ), Digits ) != OrderStopLoss() )
r = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble( Ask + ( TrailingStop * Point), Digits ), OrderTakeProfit(), 0 );
}
break;
}
}
}
if(Ask-Bid>25*Point && totalTrades==0){Alert("Big spread now > 25. Points:" + (Ask-Bid)/Point);return;}
if(iHigh(NULL,PERIOD_M1,0)==iLow(NULL,PERIOD_M1,0) && Terki)
{
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
int sz = OrderSelect( pos, SELECT_BY_POS);
if(OrderType()==OP_SELLSTOP && OrderMagicNumber()==Magic && Bid-5*Point>OrderOpenPrice())int dc=OrderDelete(OrderTicket());
if(OrderType()==OP_BUYSTOP && OrderMagicNumber()==Magic && Ask+5*Point<OrderOpenPrice())int dc=OrderDelete(OrderTicket());
}
}
double Profit=Qwaaw()*400;
double profit=0;
double min=DBL_MAX;
double maxi=-DBL_MAX;
int tips=0;
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
int sz = OrderSelect(pos, SELECT_BY_POS);
if(OrderMagicNumber()==Magic && Terki){profit=profit+OrderProfit();}
if(OrderMagicNumber()==Magic && OrderOpenPrice()<min && Terki)min=OrderOpenPrice();
if(OrderMagicNumber()==Magic && OrderOpenPrice()>maxi && Terki)maxi=OrderOpenPrice();
if(OrderMagicNumber()==Magic && OrderType()==OP_BUY && Terki)tips=1;
if(OrderMagicNumber()==Magic && OrderType()==OP_SELL && Terki)tips=-1;
}
if(profit>Profit || profit<-(Profit*2))
{
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
int sz = OrderSelect( pos, SELECT_BY_POS);
if(OrderType()==OP_SELL && OrderMagicNumber()==Magic && Terki)int dc=OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
if(OrderType()==OP_BUY && OrderMagicNumber()==Magic && Terki)int dc=OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
if(((OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP) && Terki) && OrderMagicNumber()==Magic)int dc=OrderDelete(OrderTicket());
}
}
double lr=Qwaaw();
if(totalTrades>1 && Terki)lr=Qwaaw()*totalTrades;
if(totalTrades < Awers && Terki)
{
if( Swwewx > 60 * Point && Ask+(Step+Distance)*Point<min)
{
ticket = OrderSend( Symbol(), OP_BUYSTOP, lr, Ask + Step*Point , Sigiig, 0, 0, Comments, Magic, 0 );
sweew = ( int ) TimeCurrent();
return;
}
if( Swwewx < -60 * Point && Bid-(Step+Distance)*Point>maxi)
{
ticket = OrderSend(Symbol(), OP_SELLSTOP, lr, Bid - Step*Point, Sigiig, 0, 0, Comments, Magic, 0 );
wdwqwq = ( int ) TimeCurrent();
return;
}
}
totalTrades = 0;
if(Terki)return;
for(int pos=OrdersTotal()-1;pos>=0;pos--) {
r = OrderSelect( pos, SELECT_BY_POS, MODE_TRADES );
if( OrderSymbol() != Symbol() ) continue;
if( OrderMagicNumber() == Magic && !Terki){
totalTrades++;
}
}
if(iHigh(NULL,PERIOD_M1,0)==iLow(NULL,PERIOD_M1,0) && !Terki)
{
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
int sz = OrderSelect( pos, SELECT_BY_POS);
if(OrderType()==OP_SELLSTOP && OrderMagicNumber()==Magic && Bid-5*Point>OrderOpenPrice())int dc=OrderDelete(OrderTicket());
if(OrderType()==OP_BUYSTOP && OrderMagicNumber()==Magic && Ask+5*Point<OrderOpenPrice())int dc=OrderDelete(OrderTicket());
}
}
Profit=Qwaaw()*Mult_Profit;
profit=0;
min=DBL_MAX;
maxi=-DBL_MAX;
tips=0;
double totalLots=0.0;
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
int sz = OrderSelect(pos, SELECT_BY_POS);
if(OrderMagicNumber()==Magic && !Terki){profit=profit+OrderProfit();}
if(OrderMagicNumber()==Magic && OrderOpenPrice()<min && !Terki)min=OrderOpenPrice();
if(OrderMagicNumber()==Magic && OrderOpenPrice()>maxi && !Terki)maxi=OrderOpenPrice();
if(OrderMagicNumber()==Magic && OrderType()==OP_BUY && !Terki)tips=1;
if(OrderMagicNumber()==Magic && OrderType()==OP_SELL && !Terki)tips=-1;
if(OrderMagicNumber()==Magic && (OrderType()==OP_BUY || OrderType()==OP_SELL) && !Terki)totalLots=totalLots+OrderLots();
}
datetime old="9999.01.01 00:00:00";
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
int sz = OrderSelect( pos, SELECT_BY_POS);
if(OrderMagicNumber()==Magic && OrderOpenTime()<old && !Terki)old=OrderOpenTime();
}
if(profit<-(Qwaaw()*loss))
{
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
int sz = OrderSelect( pos, SELECT_BY_POS);
if(OrderType()==OP_SELL && OrderMagicNumber()==Magic && OrderOpenTime()==old && !Terki)int dc=OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
if(OrderType()==OP_BUY && OrderMagicNumber()==Magic && OrderOpenTime()==old && !Terki)int dc=OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
}
return;
}
if(profit>Profit && !Terki)
{
for(int pos=OrdersTotal()-1;pos>=0;pos--)
{
int sz = OrderSelect( pos, SELECT_BY_POS);
if(OrderType()==OP_SELL && OrderMagicNumber()==Magic)int dc=OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
if(OrderType()==OP_Показано первые 50% кода (символов: 13235)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.