Hunter Scalper
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «hunter_scalper1.10@amazing_owner.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Hunter Scalper — это торговый советник для MetaTrader 4, ориентированный на работу с парами EURAUD, EURCHF и USDCHF на таймфрейме 15 минут. Советник анализирует ценовые данные, используя скользящие средние и индикатор волатильности для определения момента открытия и закрытия позиций.
Советник работает в заданный временной интервал (настройки HourStart и HourEnd) и контролирует допустимый спред. При достижении условий для входа в позицию он открывает ордера на покупку или продажу с автоматической установкой уровней стоп-лосса и тейк-профита.
Режим управления риском позволяет выбрать между фиксированным размером лота и расчётом объёма позиции на основе доступного маржинального капитала. Советник также отслеживает открытые позиции и закрывает убыточные в соответствии с заданными параметрами.
Встроенная функция обработки ошибок выводит текстовые описания проблем при отправке ордеров и модификации позиций. Советник использует уникальные магические номера для различения покупательских и продавательских позиций.
Настройки программы
| Настройка | Описание |
|---|---|
| MaxSpread | Максимальный спред — Максимально допустимый спред для открытия позиций. |
| MaxSlippage | Максимальное проскальзывание — Допустимое проскальзывание цены при отправке ордеров. |
| TradingSettings | Текстовые торговые настройки — Текстовый параметр с информацией о торговых настройках. |
| HourStart | Час начала — Час начала торговой сессии (платное время). |
| HourEnd | Час окончания — Час окончания торговой сессии (платное время). |
| Lots | Размер лота — Размер лота для фиксированного режима торгов. |
| UseRisk | Использовать риск — Переключатель режима управления риском: включён — расчёт лота по марже, выключен — фиксированный лот. |
| MaxRisk | Максимальный риск — Максимальный коэффициент риска, используемый при расчёте объёма позиции. |
| StopLoss | Стоп-лосс — Значение стоп-лосса в пунктах для открытых позиций. |
| TakeProfit | Тейк-профит — Значение тейк-профита в пунктах для открытых позиций. |
Поиск по коду файла
#property version "1.10"
#property strict
#property description"\nEURAUD/EURCHF/USDCHF 15M 㼛ICMarket/TickMill/Pepperstone ECN"
extern double MaxSpread=4 ;
extern double MaxSlippage=1 ;
extern string TradingSettings="The following time is platform time";
extern int HourStart=23 ;
extern int HourEnd=1 ;
extern double Lots=0.01 ;
extern bool UseRisk=true ;
extern double MaxRisk=2 ;
extern int StopLoss=30 ;
extern int TakeProfit=10 ;
string zong_1_st = "Hunter Scalper";
double zong_2_do = 1.0;
bool zong_3_bo = false;
string zong_4_st = "\n";
int zong_5_in = 4;
int zong_6_in = 0;
int zong_7_in = 0;
double zong_8_do = 1.0;
int zong_9_in = 0;
int zong_10_in = 0;
int zong_11_in = 0;
datetime zong_12_da = 0;
#import "stdlib.ex4"
string ErrorDescription( int mu_0_in);
#import
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
void lizong_7()
{
int zi_1_in_si30si2[30][2];
int zi_2_in;
int zi_3_in;
int zi_4_in;
if ( Ask>=iMA(NULL,0,20,0,MODE_SMA,PRICE_MEDIAN,0) )
{
return;
}
if ( Ask - Bid<=MaxSpread * zong_2_do * Point() )
{
zi_2_in = OrdersTotal() ;
zi_3_in = 0 ;
for (zi_4_in = 0 ; zi_4_in < zi_2_in ; zi_4_in = zi_4_in + 1)
{
if ( ( OrderSelect(zi_4_in,SELECT_BY_POS,MODE_TRADES) && (OrderType() != 1 || OrderSymbol() != Symbol() || OrderMagicNumber() != 2) ) ) continue;
zi_1_in_si30si2[zi_3_in][0] = OrderOpenTime();
zi_1_in_si30si2[zi_3_in][1] = OrderTicket();
zi_3_in = zi_3_in + 1;
}
if ( zi_3_in > 1 )
{
ArrayResize(zi_1_in_si30si2,zi_3_in,0);
ArraySort(zi_1_in_si30si2,0,0,1);
}
for (zi_4_in = 0 ; zi_4_in < zi_3_in ; zi_4_in = zi_4_in + 1)
{
if ( OrderSelect(zi_1_in_si30si2[zi_4_in][1],SELECT_BY_TICKET,MODE_TRADES) != true || OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),MaxSlippage,Red) != false ) continue;
Print("OrderClose() error - ",ErrorDescription(GetLastError()));
}
}
}
void lizong_8()
{
int zi_1_in_si30si2[30][2];
int zi_2_in;
int zi_3_in;
int zi_4_in;
if ( Bid<=iMA(NULL,0,20,0,MODE_SMA,PRICE_MEDIAN,0) )
{
return;
}
if ( Ask - Bid<=MaxSpread * zong_2_do * Point() )
{
zi_2_in = OrdersTotal() ;
zi_3_in = 0 ;
for (zi_4_in = 0 ; zi_4_in < zi_2_in ; zi_4_in = zi_4_in + 1)
{
if ( ( OrderSelect(zi_4_in,SELECT_BY_POS,MODE_TRADES) && (OrderType() != 0 || OrderSymbol() != Symbol() || OrderMagicNumber() != 1) ) ) continue;
zi_1_in_si30si2[zi_3_in][0] = OrderOpenTime();
zi_1_in_si30si2[zi_3_in][1] = OrderTicket();
zi_3_in = zi_3_in + 1;
}
if ( zi_3_in > 1 )
{
ArrayResize(zi_1_in_si30si2,zi_3_in,0);
ArraySort(zi_1_in_si30si2,0,0,1);
}
for (zi_4_in = 0 ; zi_4_in < zi_3_in ; zi_4_in = zi_4_in + 1)
{
if ( OrderSelect(zi_1_in_si30si2[zi_4_in][1],SELECT_BY_TICKET,MODE_TRADES) != true || OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),MaxSlippage,Red) != false ) continue;
Print("OrderClose() error - ",ErrorDescription(GetLastError()));
}
}
}
void lizong_9()
{
double zi_1_do;
double zi_2_do;
double zi_3_do;
double zi_4_do;
double zi_5_do;
double zi_6_do;
int zi_7_in;
double zi_8_do;
double zi_9_do;
int zi_10_in;
bool zi_11_bo;
datetime lin_da_1;
datetime lin_da_2;
int lin_in_3;
lin_da_1 = TimeCurrent();
lin_da_2 = 0;
if ( OrdersHistoryTotal() > 0 )
{
for (lin_in_3 = OrdersHistoryTotal() - 1 ; lin_in_3 >= 0 ; lin_in_3=lin_in_3 - 1)
{
if ( OrderSelect(lin_in_3,SELECT_BY_POS,MODE_HISTORY) == true && OrderSymbol() == Symbol() && ( OrderMagicNumber() == 1 || OrderMagicNumber() == 2 ) )
{
if ( !(OrderProfit()<0.0) ) break;
lin_da_2 = OrderCloseTime();
break;
}
}
}
else
{
lin_da_2 = -3600;
}
if ( lin_da_1 < lin_da_2 + 3600 || Ask - Bid>MaxSpread * zong_2_do * Point() ) return;
zi_1_dПоказано первые 50% кода (символов: 9510)
Что вы получите после оплаты
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? Адрес передаётся вместе с заказом в магазин и сохраняется для связи заказа с оплатой. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.