Они будут нужны если сразу выставлять несколько ордеров.
Сейчас советник ставит только один сразу с открытием позиции.
А дальше усреднение, если оно разрешено.
Это я раньше в коде прописывал несколько ордеров сразу, а потом подумал может просителю это и не нужно, и эту часть кода убрал оставив по одному ордеру.
И фантазируй дальше.
Хочешь позиции с рынка — пожалуйста.
Хочешь стоповые, хочешь лимитные, хочешь и те и другие и третьи, хочешь по одному, а хочешь пачку.
Slava78, человек еще новичок на форексе, или просто балуется, а не работает.
Иначе он бы уже за полгода научился бы понимать (не программировать) о чем идет речь в функции старт.
Или научится, или забросит баловаться, когда несколько депозитов сольет. Редактирован: 24 мая 2020, 17:12
Управляя любым механизмом (автомобиль, бетономешалка ...) нужно понимать как он работает
Собираешься торговать советником должен понимать принцип его работы.Одного тестирования в тестере и даже на демосчете «маловато будет».
Пусть человек не программирует, но по коду советника он должен разбираться за что отвечает и что делает каждый блок отдельно и весь советник в целом.
Здравствуйте!
Прошу вас приделать ограничитель на открывание ордеров.
Бывает проснусь, а 15 ордеров открылось и все в минусе. Все они одного типа и на одном инструменте.
Что бы было создание всего лишь одного ордера, а остальных отложенных не возникало, должны блокироваться или удаляться.
Устал уже сливать)
Еще раз.
Пожелания нужно описывать словами и строго по пунктам.Никакой лирики.
Фразы:«Посмотрите видеоролик, и сделайте мне так же.» неинтересны. Нет желания и жалко на это тратить время.
Нет желания вникать и разбираться в чужом коде. У каждого свой свой стиль написания программы.
По существу:
1.Удаляете полностью старый блок настроек (он самый первый).
2.На его место копируете этот блок:
//--- Inputs externdoubleLots=0.1;// лот externdoubleKLot=1;// умножение лота externdoubleMaxLot=5;// максимальный лот externintStopLoss=0;// стоп лосс externintTakeProfit=0;// тейк профит externdoubleProfit=100;// общая прибыль externdoubleLoss=100;// общий убыток externintBULevel=0;// уровень БУ externintBUPoint=0;// пункты БУ externintTrailingStop=0;// трал externboolUsredn=1;// 1-использовать усреднение 0-не использовать externintStep=50;// шаг усреднения externintCount=5;// число ордеров externboolBuy=1;//1-выстовить бай 0-не выставлять externboolBuystop=1;//1-выстовить байстоп 0-не выставлять externint Step_stop =50;// дистанция для стопордера externint Count_bs =5;// число ордеров байстоп externboolBuylimit=1;//1-выстовить байлимит 0-не выставлять externint Step_limit =50;// дистанция для лимитордера externint Count_bl =5;// число ордеров байлимт externboolSell=1;//1-выстовить селл 0-не выставлять externboolSellstop=1;//1-выстовить селлстоп 0-не выставлять externint Count_ss =5;// число ордеров селлстоп externboolSelllimit=1;//1-выстовить селлимит 0-не выставлять externint Count_sl =5;// число ордеров селллимит externintExpiration=5;// истечение externintStartHour=0;// час начала торговли externintStartMin=30;// минута начала торговли externintEndHour=23;// час окончания торговли externintEndMin=30;// минута окончания торговли externintCloseSig=0;// 1-закрытие по сигналу 0-нет externintTaimOut=1;// тайм аут ордера externintSlip=30;// реквот externintMagic=123;// магик
externintMAPeriod=240;// период МА externintEPeriod=240; externintMethod=0; externint Price1 =0; externintShift=0; externdoubleDev=0.3;
datetime TimeBar;
3.Удаляете полностью блок функции void OnTick()(он последний в советнике)
4.На его место копируете этот блок:
//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ voidOnTick() { int i; double price=0;
Оба этих блока я уже приводил выше.
5.Компилируете.
6.В блоке настроек находятся триггеры(выключатели) возле них описание.
Пример:
externboolBuy=1;//1-выстовить бай 0-не выставлять
Если — 1 советник быдет открывать позиции с рынка.
Если — 0 советник не будет открывать позиции с рынка.
Аналогичные триггеры для позиции селл, ордеров байлимит, селллимит, байстоп, селлсто и для усреднения.
Кроме этого в настройках можно указать и количество отложенных ордеров как лимитных ордеров каждого направления по отдельности:
externint Count_bl =5;// число ордеров байлимт
так и стоповых, тоже по отдельности.
Ордера буду выставляться с шагом:
externint Step_limit =50;// дистанция для лимитордера
Комментарии (23)
Огонь!!! не терпится проверить, но нужно уехать
5 nixepace Сообщений: 41 - ОН
19 Boris54 Сообщений: 820 - Пен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
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий