Ответить
16.04.2018, 07:24
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 718
Поблагодарили 375 раз(а) / Репутация: 382
Но есть один момент! как исправить код что бы Советник не реагировал на "шум" т.е. После открытия ордера как пример на BUY во время тренда ордера на Sell не открывались? и наоборот.
Строки 104 и 111 (if(b==0)...) нужно заменить на if(b==0 && s==0) обе. Тогда будет в рынке всегда только один ордер какого-то направления. В этом случае в строке 126 нужно убрать проверку на тип ордера. Короче проще самому переделать.
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...
16.04.2018, 07:45
Аватар для MrGreen86
MrGreen86 MrGreen86 на форуме Элитный участник
Регистрация: 12.01.2012 / Сообщений: 966
Поблагодарили 1,262 раз(а) / Репутация: 1266
Строки 104 и 111 (if(b==0)...) нужно заменить на if(b==0 && s==0) обе. Тогда будет в рынке всегда только один ордер какого-то направления. В этом случае в строке 126 нужно убрать проверку на тип ордера. Короче проще самому переделать.
лучше добавить строку перед индикаторами:
if(b>0 || s>0) return;
тогда будет работать в несколько раз быстрее.
16.04.2018, 07:49
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Вы очень любезны Vladradon!!! Благодарю Вас!!!
16.04.2018, 07:54
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Очень интересно ,но не совсем понятно в чём "фишка" такой строки! Как это ускоряет..?
16.04.2018, 07:58
Аватар для MrGreen86
MrGreen86 MrGreen86 на форуме Элитный участник
Регистрация: 12.01.2012 / Сообщений: 966
Поблагодарили 1,262 раз(а) / Репутация: 1266
Очень интересно ,но не совсем понятно в чём "фишка" такой строки! Как это ускоряет..?
Если ее поставить то она отсекает бесполезный вызов индиктаторов и их анализ когда уже есть ордер. Если сделать так как предложил vladradon то наоборот будет бесполезный вызов индикаторов и их анализ.

Для реальной работы это не критично у вас всего 4 вызова индикатора на тике. А вот для оптимизации это очень критично.
16.04.2018, 08:13
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 718
Поблагодарили 375 раз(а) / Репутация: 382
Вы очень любезны Vladradon!!! Благодарю Вас!!!
Да, такой вариант ускорит оптимизацию, но если будет что-то добавляться в коде после команд открытия, то это уже работать не будет. Я не сканировал код на наличие ошибок и не менял в нем ничего изначально, т.к. он не полный и это просто пример. Но раз такая пьянка, везде, где идет сравнение со STOPLEVEL, сравнение >= нужно заменить на >, т.к. если будет равно (стоплосс или тейкпрофит), то не выставится - должен быть хотя бы на 1 больше.
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...

Последний раз редактировалось vladradon; 16.04.2018 в 08:22.
16.04.2018, 09:03
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Прогнал в тесторе с строкой if(b>0 || s>0) return и без неё! С одинаковыми TP-SL и разными TP-SL ордера открываются как надо. Но Советник упорно не хочет увеличивать TP в прибавление, умножение работает. STOPLEVEL, сравнение >= нужно заменить на >, не менял.
16.04.2018, 10:22
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 718
Поблагодарили 375 раз(а) / Репутация: 382
Прогнал в тесторе с строкой if(b>0 || s>0) return и без неё! С одинаковыми TP-SL и разными TP-SL ордера открываются как надо. Но Советник упорно не хочет увеличивать TP в прибавление, умножение работает. STOPLEVEL, сравнение >= нужно заменить на >, не менял.
Вот запустил в тестере на Робофорексе с только прибавлением 0.01. На скрине первые сделки с прибавлением до первого профита. При минусовом профите происходит увеличение лота. А про увеличение ТР речи не было!
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...

Последний раз редактировалось vladradon; 16.04.2018 в 10:28.
16.04.2018, 10:29
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Можно SET ?
16.04.2018, 10:32
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 718
Поблагодарили 375 раз(а) / Репутация: 382
Можно SET ?
Там важно коэффициент умножения поставить 1 (не 0).
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...
16.04.2018, 10:46
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Ээээ...))) Семён Семёныч...!!! Вот я дурен..
16.04.2018, 11:39
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Возможно ещё добавить функции??? Как время у Вас будет и если не затруднит? P:S С Вами я начинаю улавливать суть... MQL
19.04.2018, 17:17
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
if ( Ask <= PriceLow && CountBuy() == 0 ) 'CountBuy' - function not defined
if ( Bid >= PriceHigh && CountSell() == 0 ) 'CountSell' - function not defined
int CountBuy() 'CountBuy' - function can be declared only in the global scope
int CountSell() 'CountSell' - function can be declared only in the global scope

Объясните господа программисты в чём ошибка где "косяк?
19.04.2018, 18:16
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 718
Поблагодарили 375 раз(а) / Репутация: 382
if ( Ask <= PriceLow && CountBuy() == 0 ) 'CountBuy' - function not defined
if ( Bid >= PriceHigh && CountSell() == 0 ) 'CountSell' - function not defined
int CountBuy() 'CountBuy' - function can be declared only in the global scope
int CountSell() 'CountSell' - function can be declared only in the global scope

Объясните господа программисты в чём ошибка где "косяк?
Во всем ошибка. Вообще не понятно что за функции и что они делают. Смысл уловить трудно даже мне.))) Тело функции int CountBuy(){...} должно быть вынесено в глобальное расположение, как и int CountSell(){...}. А какой смысл запускать заново эту функцию, если она была только что запущена из if - вообще не понятно.
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...
19.04.2018, 18:59
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
С выносом я разобрался, а вот остальное пока загадка Всё делал типа.... по Науке!!!
19.04.2018, 19:25
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 718
Поблагодарили 375 раз(а) / Репутация: 382
С выносом я разобрался, а вот остальное пока загадка Всё делал типа.... по Науке!!!
А, ну это просто функции подсчета ордеров в рынке бай и селл. В строке
PHP код:
Ask <= PriceLow && CountBuy() == ) ... 
на месте 3-х точек должна быть команда на открытие ордера, к примеру, или набор команд типа из твоего пробника:
PHP код:
if ( Ask <= PriceLow && CountBuy() == )
   if(
Stoch0>Signl0 && Stoch1<Signl1 && Stoch0<LevelBuy)
     if(
OrderSend(Symbol(),OP_BUY,CountLots(OP_BUY),
        
NormalizeDouble(Ask,Digits),slippage,0,0,NULL,Magic,0,clrNONE)==-1
     Print(
"Ошибка открытия ордера <<",(GetLastError()),">> "); 
Строку со стохастиками можно просто удалить и тогда только первое условие будет выполняться. Ну а вместо CountLots(OP_BUY) можно просто поставить лот открываемого ордера.
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...
20.04.2018, 01:34
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Да функция подсчёта это понятно но если сделать компиляцию там одни предупреждения! И я не понял какой стохастик ?эксперт на тма.А в тесторе Вообще Опа... Всё встаёт в ступор на первом ордере ни ST ни TP.. и пипец Движений Ноль!!!
20.04.2018, 02:26
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 718
Поблагодарили 375 раз(а) / Репутация: 382
И я не понял какой стохастик ?
Я привел пример, как это делается на стохастике из пробника, а если ТМА, то ТМА нужно там прописать, предварительно считав с него данные. А этот индюк мне ни о чем не говорит.
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...
20.04.2018, 02:53
Аватар для KriKs-Fx
KriKs-Fx KriKs-Fx вне форума Интересующийся
Регистрация: 06.04.2018 / Адрес: Moscow / Сообщений: 29
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Так данные с него сняты и прописаны. Вроде как по "науке" .Или я что то упустил....???
20.04.2018, 06:30
Аватар для vladradon
vladradon vladradon на форуме Почётный гражданин
Регистрация: 12.02.2015 / Сообщений: 718
Поблагодарили 375 раз(а) / Репутация: 382
Так данные с него сняты и прописаны. Вроде как по "науке" .Или я что то упустил....???
Я понятия не имею что и как у тебя снято - ты выложил индюка, а съем данных прописан в сове должен быть через iCustom и какие-то сравнения для сигнала входа на основе данных с индюка и т.д., как на примере стохастика я выложил выше и как сделано в пробнике - все однотипно и просто.
Можно вечно смотреть на то, как горит огонь, как течет вода... и как работает трал...
Ответить

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 18:39. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO