JPYretz20
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «jpyretz20.mq4 .mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
JPYretz20 — торговый советник для платформы MetaTrader 4, ориентированный на работу с валютными парами японской иены. Советник анализирует ценовые данные с помощью набора технических индикаторов и формирует сигналы для открытия и закрытия позиций.
В основе работы лежит автоматическое управление торговыми операциями: открытие позиций Buy/Sell, закрытие убыточных и прибыльных сделок, а также модификация ордеров с использованием трейлинг-стопа. Перед открытием новой позиции проверяется свободный маржинал и количество текущих открытых ордеров.
Советник поддерживает настройку объёма лота, уровней стоп-лосса и тейк-профита, а также параметров проскальзывания и магического номера для идентификации ордеров. Уведомления о событиях выводятся в журнал и в виде всплывающих оповещений.
Настройки программы
| Настройка | Описание |
|---|---|
| lots | Объём лота — Объём лота для открытия позиции. |
| trail stop in points (trailingStop) | Трейлинг-стоп — Расстояние трейлинг-стопа в пунктах. При значении 0 трейлинг-стоп не используется. |
| recomended no more than 20 (takeProfit) | Тейк-профит — Уровень тейк-профита в пунктах. Рекомендуется не более 20. |
| do not use s/l if you feel it is ok (stopLoss) | Стоп-лосс — Уровень стоп-лосса в пунктах. При значении 0 стоп-лосс не устанавливается. |
| Use 3 -5 slippage, if more then forget it as the spread will kill them (slippage) | Проскальзывание — Допустимое проскальзывание в пунктах. Рекомендуется значение 3–5; при большем проскальзывании сделки могут быть невыгодными из-за спреда. |
| To "easy read" which EA place anspecific order (nameEA) | Имя советника — Имя советника для удобства идентификации открытых ордеров. |
| Magic EA identifier. Allows forseveral co-existing EA with different input values (magicEA) | Магический идентификатор EA — Магический идентификатор советника. Позволяет нескольким советникам с разными настройками сосуществовать на одном аккаунте. |
| timeframe M5 is recommended (tframe) | Таймфрейм — Таймфрейм для анализа, на котором работает советник. Рекомендуется M5. |
Поиск по коду файла
#include <stdlib.mqh>
extern double lots = 0.1; //
extern double trailingStop = 15; // trail stop in points
extern double takeProfit = 20; // recomended no more than 20
extern double stopLoss = 200; // do not use s/l if you feel it is ok
extern double slippage = 3; // Use 3 -5 slippage, if more then forget it as the spread will kill them
extern string nameEA = "JPYretz20"; // To "easy read" which EA place anspecific order
extern int magicEA = 192192; // Magic EA identifier. Allows forseveral co-existing EA with different input values
extern int tframe = 5 ; // timeframe M5 is recommended
double macdHistCurrent, macdHistPrevious, macdSignalCurrent, macdSignalPrevious;
double stochHistCurrent, stochHistPrevious, stochSignalCurrent,stochSignalPrevious;
double sarCurrent, sarPrevious, momCurrent, momPrevious,Btime;
double realTP, realSL;
bool isBuying = false, isSelling = false, isClosing = false;
int cnt, ticket;
int init() {
// код доступен только после оплаты
}
int deinit() {
return(0);
}
int start() {
// код доступен только после оплаты
}
if(Bars < 100) {
Print("Not enough bars for this strategy - ", nameEA);
return(0);
}
calculateIndicators(); // Calculate indicators' value
int totalOrders = OrdersTotal();
int numPos = 0;
Comment(" Account : ",AccountNumber(),"---",AccountName(),
"\n","Bar open time:", TimeToStr(iTime(NULL,5,0),TIME_SECONDS)," Last Tick Time:",TimeToStr(CurTime(),TIME_SECONDS),
"\n"," Differences in time ",CurTime()-iTime(NULL,5,0),"sec. Open only after5Min bar is >= 180 sec ( 3min)",
"\n","PSar diff 0.1 to execute-- PsarNow=",sarCurrent," PSarPrecious=",sarPrevious," Sar DIff=",(sarCurrent-sarPrevious));
for(cnt=0; cnt<totalOrders; cnt++) { // scan all orders and positions...
OrderSelect(cnt, SELECT_BY_POS); // the next line will check for ONLY market trades, not entry orders
if(OrderSymbol() == Symbol() && OrderType() <= OP_SELL &&
OrderMagicNumber() == magicEA) { // only look for this symbol, and only ordersfrom this EA
numPos++;
if(OrderType() == OP_BUY) { // Check for close signal for bought trade
if(isSelling || isClosing) {
OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Violet); //Close bought trade
prtAlert("JPYretz20: Closing BUY order");
}
if(trailingStop > 0) { // Check trailing stop
if(Bid-OrderOpenPrice() > trailingStop*Point) {
if(OrderStopLoss() < (Bid - trailingStop*Point)) {
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-trailingStop*Point,OrderTakeProfit(),0,Blue);
prtAlert("JPYretz20: Modifying BUY order");
}
}
}
} else { // Check sold trade for close signal
if(isBuying || isClosing) {
OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Violet);
prtAlert("JPYretz20: Closing SELL order");
}
if(trailingStop > 0) { // Control trailing stop
if(OrderOpenPrice() - Ask > trailingStop*Point) {
if(OrderStopLoss() == 0 || OrderStopLoss() > Ask +
trailingStop*Point)Показано первые 50% кода (символов: 4940)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.