MQL госпиталь (бывшая "Больничка"): исправляем ошибки

RoboMaks

Элитный участник
Исправьте пожалуйста.начали барахлить скрипты:not-good:

Проверьте.
01. Все (Del) - закрывает рыночные и удаляет отложенники.
ЗАКРЫТЬ_ все_ордера - закрывает только рыночные.

Скомпилируйте ( в папке могут остаться старые ЕХ4 файлы)
 

Вложения

shipigaaa

Новичок форума
МАКС ВОТ ИНДЮК,КОТОРЫЙ НУЖЕН ДЛЯ ИЛАН ТРИО 1.49!!!(пост 1317)
 

Вложения

Последнее редактирование:

dayday

Новичок форума
Спасите ! Помогите!

Здрастье! Помогите пжлст сделать открытие следующих ордеров сети по наступлению определённого расстояния Range от первого ордера при включённом stealth_mode (обычные ордера) т.е прошло 10 пунктов от первого ордера, открываем сделку,прошло 20 пунктов от первого ордера открываем ещё одну сделку и т.д.
 

Вложения

shipigaaa

Новичок форума
Макс спасибо!!!еще одна проблемка... при выставлении параметра New Cycle=false
не открывает ордера...посмотри пожалуйста этот параметр...
 

RoboMaks

Элитный участник
Макс спасибо!!!еще одна проблемка... при выставлении параметра New Cycle=false
не открывает ордера...посмотри пожалуйста этот параметр...

Вообще-то NewCycle - это там // Режим отмены выставления новых ордеров и "прописан" в условиях открытий ордеров
if (NewCycle) { код условий для открытия ордеров } - т.е., при запрете этого значения (false) условия для открытия ордеров ( RSI и др.) заблокированы

и

if ((NewCycle || (Trigger0<0 && Trigger1<0 && Trigger2>0))&&alert()==-1) {
gi_328_15 = OpenPendingOrder_15(1, gd_292_15, g_bid_220_15, slip_15, g_bid_220_15, 0, 0, gs_ilan_272_15 + "-" + gi_288_15, g_magic_176_15, 0, HotPink);

Возможно - проблема кроется здесь в распределении скобок для условия открытия. Пока непонятно - что именно автор имел ввиду этим запретом NewCycle - открытие дополнительных ордеров (сетки) или вообще полный запрет на открытие ордеров. Проверю. Немного затрудняет эту проверку то, что код декомпилированный и его надо приводить в удобочитаемый вид, чтобы точно можно было понять все задумки автора. Код немаленький и на это потребуется некоторое время...:)
 

RoboMaks

Элитный участник
Макс спасибо!!!еще одна проблемка... при выставлении параметра New Cycle=false
не открывает ордера...посмотри пожалуйста этот параметр...

Проверьте... Откопал его проблемку :)
 

Вложения

RoboMaks

Элитный участник
Здрастье! Помогите пжлст сделать открытие следующих ордеров сети по наступлению определённого расстояния Range от первого ордера при включённом stealth_mode (обычные ордера) т.е прошло 10 пунктов от первого ордера, открываем сделку,прошло 20 пунктов от первого ордера открываем ещё одну сделку и т.д.

Вы так и не ответили на вопрос в личке...
Значения указаны для 4-х знака, на 5-ти знак корректируются автоматически.

Добавил там параметры:
//=================
extern bool Range_1_6 = true; // Использование режима range1-range6, false- использование режима range0
extern double range0 = 1; // Равномерное расстояние от последнего ордера - в пунктах
//=================
 

Вложения

Последнее редактирование:

dayday

Новичок форума
Сделайте пжлст так чтобы расчёт всех ордеров производился от первой сделки , а то при гэпе нарушается расположение ордеров. В приложении скрин и сет-файл. Ордер размером 8.10 должен размещаться в районе 328 пунктов(при размере отступа 82).Помогите пжлст
 

Вложения

RoboMaks

Элитный участник
Сделайте пжлст так чтобы расчёт всех ордеров производился от первой сделки , а то при гэпе нарушается расположение ордеров. В приложении скрин и сет-файл. Ордер размером 8.10 должен размещаться в районе 328 пунктов(при размере отступа 82).Помогите пжлст

Гэп автоматически нарушит это. От последнего ордера он будет считать правильно после любого гэпа. Если у Вас будет задано значение 328 от первой сделки а гэп, предположим, 350 - каким образом он сможет это открыть там ? :)

Если расчётная цена окажется внутри гэпа - он просто-напросто зациклится на ошибке. при расчёте от последнего ордера - да, равномерный размер сильно нарушается , но он сможет продолжать работу дальше. Даже и без сильного гэпа есть проскальзывания, сильные движения и др. помехи... И идеально равномерный отступ между ордерами всё-равно в реале не получится.
 
Последнее редактирование:

dayday

Новичок форума
Спасите! Помогите!

Сделать условие чтоб отступ был равен или больше заданной величине рассчитанной от первого ордера.В таком случае ордер попавший в гэп выставится по первой цене открытия , а следующий ордер будит рассчитан не от выставленного после гэпа , а от первого в самом начале серии сделок!!!Таким образом гэп не нарушит размерности.
 

RoboMaks

Элитный участник
Сделать условие

1. чтоб отступ был равен или больше заданной величине рассчитанной от первого ордера.

В таком случае ордер попавший в гэп выставится по первой цене открытия ,

2. а следующий ордер будит рассчитан не от выставленного после гэпа , а от первого в самом начале серии сделок!!!

Таким образом гэп не нарушит размерности.

Объясните мне, тупому, пжлст - для равномерности 4-й ордер попадает в пустоту. Он может быть открыт там значительно позже ( для сохраненеия равномерности), только лишь после того, как цена подойдёт на этот уровень. А что будет до этого времени ? Будете долбить ДЦ кучей приказов о открытии ордера именно по этой цене ?

В коде условие чтоб отступ был равен или больше уже задано - открывает по текущей цене после гэпа, а не по строго заданному кол-ву пунктов от первого или последнего ордера, только лишь поэтому он и работает.

А про пп 1 и 2 - вообще непонятно...
 

Вложения

  • USDJPYM5.png
    USDJPYM5.png
    16,3 КБ · Просмотры: 58

dayday

Новичок форума
Спасите! Помогите!

Нет.... Долбить не будет))) Будет ждать первую котировку после гэпа, потом сравнивает её с заложенным значением и совершает сделку!

Макс пжлст помоги. Если я не ошибаюсь , там нужно выделить первую сделку, и далее рассчитывать расстояние для каждой следующей от неё(от первой)!! Таким образом после гэпа,в случае если сделка должна открыться в пустоте , она открывается с первой котировкой после... Следующая сделка открывается на расстоянии рассчитанном не от сделки открытой после гэпа , а от первой сделки серии(в самом начале серии сделок). Расстояние всех сделок рассчитывается от первой сделки(в самом начале). Спасите! Помогите!:please:
 

RoboMaks

Элитный участник
Нет.... Долбить не будет))) Будет ждать первую котировку после гэпа, потом сравнивает её с заложенным значением и совершает сделку!

Макс пжлст помоги. Если я не ошибаюсь , там нужно выделить первую сделку, и далее рассчитывать расстояние для каждой следующей от неё(от первой)!! Таким образом после гэпа,в случае если сделка должна открыться в пустоте , она открывается с первой котировкой после... Следующая сделка открывается на расстоянии рассчитанном не от сделки открытой после гэпа , а от первой сделки серии(в самом начале серии сделок). Расстояние всех сделок рассчитывается от первой сделки(в самом начале). Спасите! Помогите!:please:

Вы и меня не хотите понять и сами не хотите это всё просчитать...

"Будет ждать первую котировку после гэпа и совершает сделку"

- что он в данный момент по-любому и делает... Внутри гэпа он же всё-равно не откроет !!!. И дальше он продолжает равномерно (относительно) ставить ордера.

"Следующая сделка открывается на расстоянии рассчитанном не от сделки открытой после гэпа , а от первой сделки серии(в самом начале серии сделок). Расстояние всех сделок рассчитывается от первой сделки(в самом начале)"

Т.е., точно по ценам !!! на расстоянии, скажем, 10,20,30,40,50,60 и т.д. п от первой сделки.
Гэп эту размерность нарушит в любом случае. При обычном движении - я уже писал - есть проскальзывания, реквоты, очень сильные, резкие движения цены и идеально точно по такому отступу ему всё-равно не открыть !!! . Будут или постоянные ошибки или в любом случае неравномерность отступов.

При более-менее нормальном движении он нормально по отступу открывается, какая Вам будет разница - третий, например, ордер откроется на расстоянии 20п от первого ордера или 10п от второго ?
 

Вложения

  • USDJPYM5.png
    USDJPYM5.png
    41,3 КБ · Просмотры: 70

dayday

Новичок форума
Макс ! Сделай пжлст расчёт отступов для каждой сделки от первой . Если не трудно. Об остальном не беспокойся...
 

RoboMaks

Элитный участник
Макс ! Сделай пжлст расчёт отступов для каждой сделки от первой . Если не трудно. Об остальном не беспокойся...

Ну что ж... От первой - так от первой, для меня это не проблема... :) Может - только так и удастся убедить... В тестере он может и будет открывать правильно по задумке, но на живом... :)

Ну и заодно сразу в двух вариантах:
1 - откроет, если цена точно равна заданному уровню,
2 - #1332 если цена выше или равна заданному уровню для селл и ниже или равна уровню для бай

Но как по Вашим расчётам должно получиться вот это -
Если я не ошибаюсь , там нужно выделить первую сделку, и далее рассчитывать расстояние для каждой следующей от неё(от первой)!!

1. Таким образом после гэпа,в случае если сделка должна открыться в пустоте , она открывается с первой котировкой после...

2. Следующая сделка открывается на расстоянии рассчитанном не от сделки открытой после гэпа , а от первой сделки серии(в самом начале серии сделок).

Расстояние всех сделок рассчитывается от первой сделки(в самом начале).

до меня не доходит... :) Удачи !
 

Вложения

Последнее редактирование:

dayday

Новичок форума
Спасите! Помогите!

Макс ! Вроде бы всё правильно, но взгляните на скрины последняя сделка открывается после... В коде я сделал поправку... Помогите! Спасите!:please:
 

Вложения

  • Grid.rar
    Grid.rar
    21,3 КБ · Просмотры: 39
Верх