waygrow_edu v1.8 best.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «waygrow_edu v1.8 best.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Это торговый советник для MetaTrader 4, разработанный компанией waygrow. Он анализирует ценовое движение с помощью скользящей средней или индикатора Envelope и размещает отложенные ордера BUYSTOP или SELLSTOP при наступлении условий. Советник управляет открытыми позициями через механизмы трейлинг-стопа, выхода в безубыток и скрытого тейк-профита.
Система включает фильтры торгового времени с двумя настраиваемыми сессиями, ограничением начала торгов в понедельник и завершения в пятницу, все по серверному времени брокера. Контролируется уровень спреда и комиссии: при превышении заданного порога торговля блокируется. Управление денежными средствами поддерживает как фиксированный размер лота, так и расчёт по риску от баланса и кредитного плеча.
Советник идентифицирует свои ордера по магическому номеру и корректирует параметры в зависимости от того, есть ли текущая прибыль по позиции. Отображается средний спред и уровень комиссии на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| L_ | Разделитель WAYGROW — Текстовый разделитель группы основных настроек советника |
| Filter | Фильтр — Целочисленный фильтр для определения значимого движения цены |
| MagicNumber | Магический номер — Идентификационный номер ордеров советника |
| TradeComment | Комментарий к ордерам — Текстовый комментарий, добавляемый к открываемым ордерам |
| StopLoss | Стоп-лосс — Размер стоп-лосса в пунктах для новых ордеров |
| NoTrade_Profit_Yet_Filter | Фильтр без прибыли — Значение фильтра при отсутствии текущей прибыли по позиции |
| NoTrade_Profit_Yet_StopLoss | Стоп-лосс без прибыли — Стоп-лосс в пунктах при отсутствии текущей прибыли |
| NoTrade_Profit_Yet_Distance | Дистанция без прибыли — Дистанция для модификации стоп-лосса при отсутствии прибыли |
| InTrade_Profit_Filter | Фильтр в прибыли — Значение фильтра при наличии текущей прибыли по позиции |
| InTrade_Profit_StopLoss | Стоп-лосс в прибыли — Стоп-лосс в пунктах при наличии текущей прибыли |
| InTrade_Profit_Distance | Дистанция в прибыли — Дистанция для модификации стоп-лосса при наличии прибыли |
| TrailingStop | Трейлинг-стоп — Расстояние в пунктах для трейлинг-стопа |
| TrailingStep | Шаг трейлинга — Шаг сдвига трейлинг-стопа в пунктах |
| BreakEven | Безубыток — Расстояние в пунктах для активации выхода в безубыток |
| movestopto | Сдвиг стопа в безубыток — Дистанция в пунктах, на которую перемещается стоп при выходе в безубыток |
| UseHiddenTP | Использовать скрытый ТП — Переключатель активации скрытого тейк-профита |
| TakeProfit_Hidden | Скрытый тейк-профит — Уровень скрытого тейк-профита в пунктах |
| MinLots | Минимальный лот — Минимально допустимый размер лота |
| MaxLots | Максимальный лот — Максимально допустимый размер лота |
| Risk | Риск — Процент риска от баланса для расчёта размера лота |
| FixedLots | Фиксированный лот — Фиксированный размер лота при отключённом управлении риском |
| UseMM | Использовать управление риском — Переключатель между фиксированным лотом и расчётом по риску |
| MaxSpreadPlusCommission | Макс. спред плюс комиссия — Максимально допустимый уровень спреда и комиссии |
| Limit | Лимит — Расстояние в пунктах для размещения лимитного ордера |
| Distance | Дистанция — Дистанция в пунктах для модификации стоп-лосса существующих ордеров |
| MAPeriod | Период MA — Период скользящей средней или Envelope |
| MAMethod | Метод MA — Метод расчёта скользящей средней (0-SMA, 1-EMA и т.д.) |
| Note broker server time (L__) | Разделитель часовых настроек — Текстовый разделитель группы настроек торгового времени |
| L___ | Разделитель сессии 1 — Текстовый разделитель первой торговой сессии |
| First session start hour. Time is broker server time (Session1_StartHour) | Начало сессии 1 — Час начала первой торговой сессии по серверному времени брокера |
| First session end hour. Time is broker server time (Session1_EndHour) | Конец сессии 1 — Час окончания первой торговой сессии по серверному времени брокера |
| L____ | Разделитель сессии 2 — Текстовый разделитель второй торговой сессии |
| Second session start hour. Time is broker server time (Session2_StartHour) | Начало сессии 2 — Час начала второй торговой сессии по серверному времени брокера |
| Second session end hour. Time is broker server time (Session2_EndHour) | Конец сессии 2 — Час окончания второй торговой сессии по серверному времени брокера |
| L_____ | Разделитель понедельника — Текстовый разделитель настройки начала торгов в понедельник |
| Trading will not start on Monday before this time. Broker server time. (Monday_StartHour) | Начало в понедельник — Торговля не начинается в понедельник до указанного часа по серверному времени |
| L______ | Разделитель пятницы — Текстовый разделитель настройки завершения торгов в пятницу |
| Trading will end on Friday at this time. Broker server time. (Friday_EndHour) | Конец в пятницу — Торговля завершается в пятницу в указанный час по серверному времени |
| IndicatorSetting | Разделитель настроек индикатора — Текстовый разделитель группы настроек индикатора |
| 0 = Moving Average ( iMA ), 1 = Envelope (iEnvelope) (IndicatorToUse) | Используемый индикатор — Выбор индикатора: 0 — Moving Average, 1 — Envelope |
| Env_period | Период Envelope — Период индикатора Envelope |
| Env_deviation | Отклонение Envelope — Процентное отклонение полос Envelope от цены |
| Env_shift | Сдвиг Envelope — Горизонтальный сдвиг индикатора Envelope |
Поиск по коду файла
/*
03/Nov/2014 version 1.2 Disable Distance, add in TrailingStop/step & breakeven,
do not substitute limit with MarketInfo(Symbol(), MODE_STOPLEVEL), do not turn on UseHiddenTP
03/Nov/2014 version 1.3 Idea inspired by edwinervanto
for 5 digit broker
set filter to 10------------> so the EA will rapidly open the position
SL 200
limit 30----------> depend on the broker stop level
distance 200 ------> as soon as EA entering the trade this replace the stop loss, say your stop loss is 230, but when
you set the distance on 30, by the time ea entering the trade, this 30 distance is your stop loss
while then this ea will trail according to this distance.
Here's what I did when EA entering the trade....I set the TP of 5 pips and when ea goes against you, close it immediately.
when you get your target profit and leave this ea with this setting:
filter 300
sl 50
distance 50
limit 30
05/Nov/2014 version 1.5 addin below parameters from set file (WG1.3_GBPUSD_M5_RAPID) & Ideas inspired by edwinervanto
extern int NoTrade_Profit_Yet_Filter = 10;
extern int NoTrade_Profit_Yet_StopLoss = 150;
extern int NoTrade_Profit_Yet_Distance = 150;
extern int InTrade_Profit_Filter = 300;
extern int InTrade_Profit_StopLoss = 50;
extern int InTrade_Profit_Distance = 50;
19 Nov 2014 by Capella
Version edu 1.7
- Added Indicator setting and adding Envelope as an option
- Added check for matching magic and symbol before modifying orders
20 Nov 2014 by Capella
Version edu 1.8
- Added Monday Start Hour and Friday Close Hour (Note: Broker server time)
- Added two sessions of trading hours (Note: Broker server time)
*/
#import "stdlib.ex4"
string ErrorDescription(int a0); // DA69CBAFF4D38B87377667EEC549DE5A
#import
extern string L_ = "=== WAYGROW Settings ===";
extern int Filter = 20.0;
extern int MagicNumber = 111;
extern string TradeComment = "WG 1.8 edu";
extern int StopLoss = 23;
extern int NoTrade_Profit_Yet_Filter = 20;
extern int NoTrade_Profit_Yet_StopLoss = 23;
extern int NoTrade_Profit_Yet_Distance = 20;
extern int InTrade_Profit_Filter = 20;
extern int InTrade_Profit_StopLoss = 23;
extern int InTrade_Profit_Distance = 20;
extern int TrailingStop = 30;
extern int TrailingStep = 12;
extern int BreakEven = 3;
extern int movestopto = 10;
extern bool UseHiddenTP = FALSE;
extern int TakeProfit_Hidden = 0.0;
extern double MinLots = 0.01;
extern double MaxLots = 100;
extern double Risk = 2;
extern double FixedLots = 0.1;
extern bool UseMM = TRUE;
extern double MaxSpreadPlusCommission = 100000.0;
extern int Limit = 20.0;
extern int Distance = 0.0;
extern int MAPeriod = 3;
extern int MAMethod = 2;
extern string L__ = "=== Trading Hour Settings ==="; // Note broker server time
extern string L___ = "-- Session 1: Start & End Hours --";
extern int Session1_StartHour = 0; // First session start hour. Time is broker server time
extern int Session1_EndHour = 12; // First session end hour. Time is broker server time
extern string L____ = "--- Session 2: Start & End Hours ---";
extern int Session2_StartHour = 12; // Second session start hour. Time is broker server time
extern int Session2_EndHour = 24; // Second session end hour. Time is broker server time
extern string L_____ = "--- Monday Start Hour ---";
extern int Monday_StartHour = 0; // Trading will not start on Monday before this time. Broker server time.
extern string L______ = "--- Friday Close Hour ---";
extern int Friday_EndHour = 24; // Trading will end on Friday at this time. Broker server time.
/*
extern string TimeFilter = "--- Time Filter ---";
extern int StartHour = 0;
extern int StartMinute = 0;
extern int EndHour = 23;
extern int EndMinute = 0;
*/
extern string IndicatorSetting = "=== Indicator Settings ===";
extern int IndicatorToUse = 1; // 0 = Moving Average ( iMA ), 1 = Envelope (iEnvelope)
extern int Env_period = 5;
extern double Env_deviation = 0.05;
extern int Env_shift = 1;
int Env_low_band_price = PRICE_HIGH;
int Env_high_band_price = PRICE_LOW;
double point;
int Gi_180 = 0;
double G_pips_184 = 0.0;
int G_digits_192 = 0;
double G_point_196 = 0.0;
int Gi_204;
double Gd_208;
double Gd_216;
double Gd_224;
double Gd_232;
double Gd_240;
double Gd_248;
double Gd_256;
int G_slippage_264 = 3;
bool Gi_268;
double Gd_272;
double Gda_280[30];
int Gi_284 = 0;
string Gs_dummy_288;
string Gs_unused_316 = "";
string Gs_unused_324 = "";
double Gd_336;
double Gd_344;
int G_time_352;
int Gi_356;
int G_datetime_360;
string Gs_364 = "000,000,000";
string Gs_372 = "000,000,255";
int Gi_380;
int Gi_384;
int Gi_388;
int Gi_392 = 40;
double G_timeframe_396 = 240.0;
bool Gi_404 = TRUE;
color G_color_408 = DimGray;
string G_name_412 = "SpreadIndikatorObj";
double Gd_420;
color G_color_428 = Red;
color G_color_432 = DarkGray;
color G_color_436 = SpringGreen;
bool Gi_440 = TRUE;
double G_ihigh_444;
double G_ilow_452;
double Gd_460;
int G_datetime_468;
int init() {
// код доступен только после оплаты
}
int deinit() {
if (!IsTesting()) {
for (int Li_0 = 1; Li_0 <= Gi_392; Li_0++) ObjectDelete("Padding_rect" + Li_0);
for (int count_4 = 0; count_4 < 10; count_4++) {
ObjectDelete("BD" + count_4);
ObjectDelete("SD" + count_4);
}
ObjectDelete("time");
ObjectDelete(G_name_412);
}
Comment("");
ObjectDelete("B3LLogo");
ObjectDelete("B3LCopy");
ObjectDelete("FiboUp");
ObjectDelete("FiboDn");
ObjectDelete("FiboIn");
return (0);
}
int start() {
// код доступен только после оплаты
}
int f0_4()
{
return ( TradeTime () ); // Added by Capella
}
void f0_8() {
Gd_336 = WindowPriceMax();
Gd_344 = WindowPriceMin();
G_time_352 = Time[WindowFirstVisibleBar()];
Gi_356 = WindowFirstVisibleBar() - WindowBarsPerChart();
if (Gi_356 < 0) Gi_356 = 0;
G_datetime_360 = Time[Gi_356] + 60 * Period();
for (int Li_0 = 1; Li_0 <= Gi_392; Li_0++) {
if (ObjectFind("Padding_rect" + Li_0) == -1) ObjectCreate("Padding_rect" + Li_0, OBJ_RECTANGLE, 0, G_time_352, Gd_336 - (Gd_336 - Gd_344) / Gi_392 * (Li_0 - 1), G_datetime_360, Gd_336 - (Gd_336 - Gd_344) / Gi_392 * Li_0);
ObjectSet("Padding_rect" + Li_0, OBJPROP_TIME1, G_time_352);
ObjectSet("Padding_rect" + Li_0, OBJPROP_TIME2, G_datetime_360 - 1);
ObjectSet("Padding_rect" + Li_0, OBJPROP_PRICE1, Gd_336 - (Gd_336 - Gd_344) / Gi_392 * (Li_0 - 1));
ObjectSet("PПоказано первые 50% кода (символов: 27150)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.