golddust.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «golddust.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
GoldDust — торговый советник для платформы MetaTrader 5, работающий на таймфрейме M30 с парами EURUSD и GBPUSD. Советник анализирует дивергенции индикатора MACD для формирования сигналов на открытие и закрытие позиций.
Настройки программы
| Настройка | Описание |
|---|---|
| EurUsd Lot Divisor 1-50 (eurusdDsor) | Делитель лота EURUSD — Делитель объёма лота для пары EURUSD; чем больше значение, тем меньше размер позиции |
| GbpUsd Lot Divisor 1-50 (gbpusdDsor) | Делитель лота GBPUSD — Делитель объёма лота для пары GBPUSD; чем больше значение, тем меньше размер позиции |
| EurUsd MACD Fast EMA (eurusdFast) | Быстрая EMA MACD EURUSD — Период быстрой EMA для расчёта MACD по паре EURUSD |
| EurUsd MACD Slow EMA (eurusdSlow) | Медленная EMA MACD EURUSD — Период медленной EMA для расчёта MACD по паре EURUSD |
| EurUsd MACD Signal SMA (eurusdSign) | Сигнальная SMA MACD EURUSD — Период сигнальной SMA для расчёта MACD по паре EURUSD |
| GbpUsd MACD Fast EMA (gbpusdFast) | Быстрая EMA MACD GBPUSD — Период быстрой EMA для расчёта MACD по паре GBPUSD |
| GbpUsd MACD Slow EMA (gbpusdSlow) | Медленная EMA MACD GBPUSD — Период медленной EMA для расчёта MACD по паре GBPUSD |
| GbpUsd MACD Signal SMA (gbpusdSign) | Сигнальная SMA MACD GBPUSD — Период сигнальной SMA для расчёта MACD по паре GBPUSD |
| EquityTrailer | Трейлинг по equity — Размер смещения трейлинг-стопа от текущего equity при росте баланса |
| TakeProfit | Тейк-профит — Уровень фиксации прибыли в пунктах; 0 означает отключение |
| StopLoss | Стоп-лосс — Уровень ограничения убытков в пунктах; 0 означает отключение |
Поиск по коду файла
#property version "1.00"
#property description "\nGoldDust ATC-2012 version"
#property description "Trades Macd divergence on Eurusd and Gbpusd pair"
input double eurusdDsor = 5; //EurUsd Lot Divisor 1-50
input double gbpusdDsor = 5; //GbpUsd Lot Divisor 1-50
input int eurusdFast=10; //EurUsd MACD Fast EMA
input int eurusdSlow=720; //EurUsd MACD Slow EMA
input int eurusdSign=860; //EurUsd MACD Signal SMA
input int gbpusdFast=160; //GbpUsd MACD Fast EMA
input int gbpusdSlow=790; //GbpUsd MACD Slow EMA
input int gbpusdSign=420; //GbpUsd MACD Signal SMA
input double EquityTrailer = 5000;
input int TakeProfit =0;
input int StopLoss = 0;
int eurusdCountedBars;
int gbpusdCountedBars;
double startEquity;
double MovingEquity;
int EurUsdHandle;
int GbpUsdHandle;
string eurusd ="EURUSD";
string gbpusd ="GBPUSD";
double eurusdPoint;
double gbpusdPoint;
bool usedTradSet =false;
double EquityTrail;
double eurusdDivisor;
double gbpusdDivisor;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
// код доступен только после оплаты
}
void OnTrade()
{
}
void OnTradeTransaction(const MqlTradeTransaction& trans,
const MqlTradeRequest& request,
const MqlTradeResult& result)
{
}
void OnBookEvent(const string &symbol)
{
}
int getMACD(string symbol, ENUM_TIMEFRAMES period,int mFast,int mSlow,int mSign){
return(iMACD(symbol, period,mFast,mSlow,mSign,PRICE_OPEN));
}
void trailingStop(double mEquityTrailer){
double accEqty = AccountInfoDouble(ACCOUNT_EQUITY);
if(accEqty- mEquityTrailer > MovingEquity && accEqty-mEquityTrailer >startEquity){
MovingEquity=accEqty-mEquityTrailer;
}else if(accEqty< MovingEquity || (accEqty>=150000 && accEqty-startEquity >= 500)){
if(CloseOrder(eurusd, eurusdPoint)){
if(CloseOrder(gbpusd, gbpusdPoint)){
MovingEquity=(AccountInfoDouble(ACCOUNT_EQUITY)/2.2);
startEquity=AccountInfoDouble(ACCOUNT_EQUITY)+200;
}else{
}
}else{
}
}
}
bool StartTrade(string symbol, double point, bool &buy, bool &sell, double volume=0.8){
if(buy){
if(PositionSelect(symbol)){
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY){
volume = PositionGetDouble(POSITION_VOLUME)-0.5;
}else{
volume += PositionGetDouble(POSITION_VOLUME);
}
}
buy=false;
volume = NormalizeDouble(volume,2);
return(OpenOrder(POSITION_TYPE_BUY, volume, symbol, point));
}else if(sell){
if(PositionSelect(symbol)){
if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL){
volume = PositionGetDouble(POSITION_VOLUME)-0.5;
}else{
volume += PositionGetDouble(POSITION_VOLUME);
}
}
sell=false;
volume = NormalizeDouble(volume,2);
return(OpenOrder(POSITION_TYPE_SELL, volume, symbol, point));
}
return false;
}
bool OpenOrder(ENUM_POSITION_TYPE Type, dПоказано первые 50% кода (символов: 7222)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.