Они будут нужны если сразу выставлять несколько ордеров.
Сейчас советник ставит только один сразу с открытием позиции.
А дальше усреднение, если оно разрешено.
Это я раньше в коде прописывал несколько ордеров сразу, а потом подумал может просителю это и не нужно, и эту часть кода убрал оставив по одному ордеру.
И фантазируй дальше.
Хочешь позиции с рынка — пожалуйста.
Хочешь стоповые, хочешь лимитные, хочешь и те и другие и третьи, хочешь по одному, а хочешь пачку.
Slava78, человек еще новичок на форексе, или просто балуется, а не работает.
Иначе он бы уже за полгода научился бы понимать (не программировать) о чем идет речь в функции старт.
Или научится, или забросит баловаться, когда несколько депозитов сольет.
Редактирован: 24 мая 2020, 17:12
Управляя любым механизмом (автомобиль, бетономешалка ...) нужно понимать как он работает
Собираешься торговать советником должен понимать принцип его работы.Одного тестирования в тестере и даже на демосчете «маловато будет».
Пусть человек не программирует, но по коду советника он должен разбираться за что отвечает и что делает каждый блок отдельно и весь советник в целом.
Здравствуйте!
Прошу вас приделать ограничитель на открывание ордеров.
Бывает проснусь, а 15 ордеров открылось и все в минусе. Все они одного типа и на одном инструменте.
Что бы было создание всего лишь одного ордера, а остальных отложенных не возникало, должны блокироваться или удаляться.
Устал уже сливать)
Еще раз.
Пожелания нужно описывать словами и строго по пунктам.Никакой лирики.
Фразы:«Посмотрите видеоролик, и сделайте мне так же.» неинтересны. Нет желания и жалко на это тратить время.
Нет желания вникать и разбираться в чужом коде. У каждого свой свой стиль написания программы.
По существу:
1.Удаляете полностью старый блок настроек (он самый первый).
2.На его место копируете этот блок:
//--- Inputs
extern double Lots = 0.1; // лот
extern double KLot = 1; // умножение лота
extern double MaxLot = 5; // максимальный лот
extern int StopLoss = 0; // стоп лосс
extern int TakeProfit = 0; // тейк профит
extern double Profit = 100; // общая прибыль
extern double Loss = 100; // общий убыток
extern int BULevel = 0; // уровень БУ
extern int BUPoint = 0; // пункты БУ
extern int TrailingStop = 0; // трал
extern bool Usredn = 1; // 1-использовать усреднение 0-не использовать
extern int Step = 50; // шаг усреднения
extern int Count = 5; // число ордеров
extern bool Buy = 1; //1-выстовить бай 0-не выставлять
extern bool Buystop = 1; //1-выстовить байстоп 0-не выставлять
extern int Step_stop = 50; // дистанция для стопордера
extern int Count_bs = 5; // число ордеров байстоп
extern bool Buylimit = 1; //1-выстовить байлимит 0-не выставлять
extern int Step_limit = 50; // дистанция для лимитордера
extern int Count_bl = 5; // число ордеров байлимт
extern bool Sell = 1; //1-выстовить селл 0-не выставлять
extern bool Sellstop = 1; //1-выстовить селлстоп 0-не выставлять
extern int Count_ss = 5; // число ордеров селлстоп
extern bool Selllimit = 1; //1-выстовить селлимит 0-не выставлять
extern int Count_sl = 5; // число ордеров селллимит
extern int Expiration = 5; // истечение
extern int StartHour = 0; // час начала торговли
extern int StartMin = 30; // минута начала торговли
extern int EndHour = 23; // час окончания торговли
extern int EndMin = 30; // минута окончания торговли
extern int CloseSig = 0; // 1-закрытие по сигналу 0-нет
extern int TaimOut = 1; // тайм аут ордера
extern int Slip = 30; // реквот
extern int Magic = 123; // магик
extern int MAPeriod = 240; // период МА
extern int EPeriod = 240;
extern int Method = 0;
extern int Price1 = 0;
extern int Shift = 0;
extern double Dev = 0.3;
datetime TimeBar;
3.Удаляете полностью блок функции void OnTick()(он последний в советнике)
4.На его место копируете этот блок:
Оба этих блока я уже приводил выше.
5.Компилируете.
6.В блоке настроек находятся триггеры(выключатели) возле них описание.
Пример:
extern bool Buy = 1; //1-выстовить бай 0-не выставлять
Если — 1 советник быдет открывать позиции с рынка.
Если — 0 советник не будет открывать позиции с рынка.
Аналогичные триггеры для позиции селл, ордеров байлимит, селллимит, байстоп, селлсто и для усреднения.
Кроме этого в настройках можно указать и количество отложенных ордеров как лимитных ордеров каждого направления по отдельности:
extern int Count_bl = 5; // число ордеров байлимт
так и стоповых, тоже по отдельности.
Ордера буду выставляться с шагом:
extern int Step_limit = 50; // дистанция для лимитордера
Комментарии (23)
Огонь!!! не терпится проверить, но нужно уехать
5 nixepace Сообщений: 41 - ОН
18 Boris54 Сообщений: 812 - ПенSионер
12 Slava78 Автор Сообщений: 598
Редактирован: 22 мая 2020, 16:53
16 ssg Сообщений: 817
Количество ордеров опять забыл добавить в OnTick? _bs _ss Редактирован: 22 мая 2020, 18:23
12 Slava78 Автор Сообщений: 598
5 nixepace Сообщений: 41 - ОН
Сейчас советник ставит только один сразу с открытием позиции.
А дальше усреднение, если оно разрешено.
Это я раньше в коде прописывал несколько ордеров сразу, а потом подумал может просителю это и не нужно, и эту часть кода убрал оставив по одному ордеру.
16 ssg Сообщений: 817
16 ssg Сообщений: 817
16 ssg Сообщений: 817
Что то не пойму, советник открывает два ордера по рынку и одновременно стоп-ордер на дистанции.
Очень нужен «только на дистанции», оно конечно интересней) но как выключить тот что по рынку?
Редактирован: 24 мая 2020, 01:51
5 nixepace Сообщений: 41 - ОН
16 ssg Сообщений: 817
PutOrder(0,Ask);
PutOrder(1,Bid);
Потом компилировать
Редактирован: 24 мая 2020, 09:07
12 Slava78 Автор Сообщений: 598
16 ssg Сообщений: 817
и этот блок
И фантазируй дальше.
Хочешь позиции с рынка — пожалуйста.
Хочешь стоповые, хочешь лимитные, хочешь и те и другие и третьи, хочешь по одному, а хочешь пачку.
16 ssg Сообщений: 817
12 Slava78 Автор Сообщений: 598
Иначе он бы уже за полгода научился бы понимать (не программировать) о чем идет речь в функции старт.
Или научится, или забросит баловаться, когда несколько депозитов сольет. Редактирован: 24 мая 2020, 17:12
16 ssg Сообщений: 817
12 Slava78 Автор Сообщений: 598
Собираешься торговать советником должен понимать принцип его работы.Одного тестирования в тестере и даже на демосчете «маловато будет».
Пусть человек не программирует, но по коду советника он должен разбираться за что отвечает и что делает каждый блок отдельно и весь советник в целом.
16 ssg Сообщений: 817
я шоке и ужасе ваши коды, блоки итд переворачивают. бессилен что либо редактировать
5 nixepace Сообщений: 41 - ОН
12 Slava78 Автор Сообщений: 598
Прошу вас приделать ограничитель на открывание ордеров.
Бывает проснусь, а 15 ордеров открылось и все в минусе. Все они одного типа и на одном инструменте.
Что бы было создание всего лишь одного ордера, а остальных отложенных не возникало, должны блокироваться или удаляться.
Устал уже сливать)
5 nixepace Сообщений: 41 - ОН
Пожелания нужно описывать словами и строго по пунктам.Никакой лирики.
Фразы:«Посмотрите видеоролик, и сделайте мне так же.» неинтересны. Нет желания и жалко на это тратить время.
Нет желания вникать и разбираться в чужом коде. У каждого свой свой стиль написания программы.
По существу:
1.Удаляете полностью старый блок настроек (он самый первый).
2.На его место копируете этот блок:
3.Удаляете полностью блок функции void OnTick()(он последний в советнике)
4.На его место копируете этот блок:
Оба этих блока я уже приводил выше.
5.Компилируете.
6.В блоке настроек находятся триггеры(выключатели) возле них описание.
Пример:
Если — 1 советник быдет открывать позиции с рынка.
Если — 0 советник не будет открывать позиции с рынка.
Аналогичные триггеры для позиции селл, ордеров байлимит, селллимит, байстоп, селлсто и для усреднения.
Кроме этого в настройках можно указать и количество отложенных ордеров как лимитных ордеров каждого направления по отдельности:
так и стоповых, тоже по отдельности.
Ордера буду выставляться с шагом:
7.Все.
16 ssg Сообщений: 817
16 ssg Сообщений: 817
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий