TrueBald
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «truebald.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
TrueBald — это торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник использует стохастический осциллятор для определения точек входа в сделки и поддерживает базовые механизмы управления капиталом.
При отсутствии открытых позиций эксперт ищет сигналы на пересечение линий стохастика в заданных зонах покупки и продажи, после чего открывает ордера с фиксированным или рассчитанным объёмом. Для управления рисками предусмотрены функция проверки достаточного маржинального обеспечения и расчёт маржи одного лота.
При наличии открытых позиций советник способен усиливать лот в рамках усреднения при достижении определённого отклонения цены от точки входа. Также реализована функция трейлинг-стоп, которая перемещает стоп-лосс в зависимости от текущей цены и заданного параметра.
В качестве дополнительных настроек доступны уровни зон стохастика для сигналов покупки и продажи, а также параметры замедления и периодов индикатора. Все торговые операции выполняются через стандартные функции торгового API MetaTrader 4.
Поиск по коду файла
double Lots = 0.1;
bool UseMM = true;
double PercentMM = 2;
double DeltaMM = 10;
int InitialBalance = 10000;
double TakeProfit = 80;
double TrailingStop = 18;
double MaxLots = 7;
double pips = 23;
double per_K = 3;
double per_D = 7;
double slow = 2;
double zoneBUY = 15;
double zoneSELL = 90;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
double FirstLots()
{
double volume,TempVolume;
TempVolume=Lots;
if (UseMM) TempVolume =0.00001*(AccountBalance()*(PercentMM+DeltaMM)-InitialBalance*DeltaMM);
volume=NormalizeDouble(TempVolume,1);
if (volume>MarketInfo(Symbol(),MODE_MAXLOT)/4) volume=1.2;
if (volume<MarketInfo(Symbol(),MODE_MINLOT)) volume=MarketInfo(Symbol(),MODE_MINLOT);
return (volume);
}
bool CheckForEnoughMargin(double LotsNumber)
{
if (GetOneLotMargin(Symbol())*LotsNumber<AccountFreeMargin()) return(true);
else return(false);
}
double GetOneLotMargin(string s)
{
double p;
if ((StringSubstr(s, 0, 3) == "EUR")||(StringSubstr(s, 0, 3) == "GBP"))
{
if (!IsTesting())
return(MarketInfo(s, MODE_LOTSIZE)*MarketInfo(StringSubstr(s, 0, 3)+"USD",
MODE_BID)/AccountLeverage());
else
{
p = iClose(StringSubstr(s, 0, 3)+"USD", Period(),
iBarShift(StringSubstr(s, 0, 3)+"USD", Period(), CurTime(), true));
return(MarketInfo(s, MODE_LOTSIZE)*p/AccountLeverage());
}
}
if (StringSubstr(s, 0, 3) == "USD")
return(MarketInfo(s, MODE_LOTSIZE)/AccountLeverage());
return(77777777777777777777777777.0);
}
int start()
{
// код доступен только после оплаты
}
double total,cnt,lot;
double cenaoppos,l,sl;
total=OrdersTotal();
if(total<1)
{
if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)>iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)
&& iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,1,1)<zoneBUY)
{
sl=NormalizeDouble(MaxLots*TrailingStop*Point+20*Point,Digits);
OrderSend(Symbol(),OP_BUY,FirstLots(),Ask,3,Bid-sl,Ask+TakeProfit*Point,0,Green);
}
if(iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMA,1,0,1)<iStochastic(NULL,0,per_K,per_D,slow,MODE_LWMПоказано первые 50% кода (символов: 3160)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.