Тестируйте с постоянным спредом - для этого инет НУЖНО ОТКЛЮЧИТЬ. Между тестами инет не включайте - и все будет одинаково. - спред всегда меняется - и результаты разняться, и очень сильно могут отличаться .
Наверное я что то не так написал.
Проблема в том что сколько бы я раз не запустил советника с ордерами продажи результат по закрытым ордерам ОДИН и ТОТ ЖЕ.
Сколько бы я раз не запустил советника с покупкой разницы в результате НЕТ.
Зато разница между результатом закрытых ордеров покупкой и продажей при тех же условиях ЕСТЬ(небольшая).
Наверное я что то не так написал.
Проблема в том что сколько бы я раз не запустил советника с ордерами продажи результат по закрытым ордерам ОДИН и ТОТ ЖЕ.
Сколько бы я раз не запустил советника с покупкой разницы в результате НЕТ.
Зато разница между результатом закрытых ордеров покупкой и продажей при тех же условиях ЕСТЬ(небольшая).
Вам же ответили: "СПРЕД!!"!!!!! И пусть он равен 2 пунктам. SL = TP = 10 пунктам. Bid = 1.5555. High свечи = 1.5565 и образовался он раньше, чем Low свечи = 1.5545.
1). BUY открылся по цене Ask = Bid + Spread = 1.5557. SL = 1.5557-0.001 = 1.5547, TP = 1.5557+0.001 = 1.5567.
Что будет происходить дальше!? Цена пошла вверх и дошла до High свечи, но ордер не закрылся по TP, так как BUY закрывается по Bid и Нам нужна цена 1.5567, а у Нас то High = 1.5555. Пошли вниз и BUY выбило по стопу.
2). SELL открылся по цене Bid = 1.5555. SL = 1.5555+0.001 = 1.5565, TP = 1.5555-0.001 = 1.5545.
Что будет происходить дальше!? Цена пошла вверх и даже не дошла до High свечи, а ордер уже закрылся по SL, так как SELL закрывается по Ask, Нам нужна цена 1.5565 и у Нас она есть High + Spread > 1.5555.
Мде... Большая просьба, перед тем как писать ответ и/или совет, если хотите помочь, читайте внимательно описание проблемы. В описании есть все ключевые позиции по проблеме(хотя это для меня больше неудобство чем проблема). Стопы стояли с учетом спреда. Котировка не доходила 1(один) пункт до стопа по ордеру на продажу. P.S.Сорь за грам. ошибки в этом ответе. Писалось с телефона.
Что касается картинок, к сожалению у меня не осталось отчетов, поскольку дело было давно. Что касается доказательств то у меня нет ни желания ни запасов пива (советник по прежнему игнорирует запросы на доставку пива), что бы доказывать свою правоту. Был факт того что котировка в одном случае доходила до отметки стопа, в другом не доходила 1 пункт до стопа. Собственно отчего стоп и не срабатывал. Дабы подтвердить этот факт, я протестировал дополнительными программками, которые подтвердили что есть такой факт неточности, причем закономерный и закономерность зависит от того какой ордер стоит. Пока что, самые точные результаты, мне выдает только Excel. Но это, конечно, уже отладка для конечных результатов.
Также факт в том что существует разница в результатах между программами с одинаковыми условиями на вход и одинаковыми условиями на выход, но по разному реализованными (выходы из ордера) в тестовом режиме. Я думаю накидать несколько примитивных программок в 40 строк и проверить изложенные факты не составит труда даже начинающему программисту. Лично я просто обхожу препятствия если их не преодолеть.
Что касается адреса, то у меня стоят 2 терминала, один подключен к инету, один автономный. Все тесты провожу на автономном, с инетом отладка только в реале.
Цель темы заключалось в том что бы как то прояснить вопрос, поскольку приходится захламлять исходники ненужным текстом.
Потом меняю ордер с продажи на покупку, оставляю те же условия входа на рынок, корректирую стопы покупки под стопы продажи и снова тестирую.
Ну, тогда рассказывайте, как Вы корректируете. Если у Вас есть ордер на продажу с ценой, SL и TP, какие условия будут у ордера на покупку?
Я понимаю, что то что есть, просто не может быть, просто по тому, что этого быть Не может. Итак, затратив 10 минут на текст исходника, подгонку ордеров, выкладываю отчеты в которых неплохо видно неточности в результате.
int OrdenSell,a; int start() // начало функции старт { if(Hour()==00 && a ==0) { a=5; //OrdenSell=OrderSend(Symbol(),OP_SELL,0.1,Bid,5,Ask+51*Point,Ask-51*Point,"m",1,0,Red); OrdenSell=OrderSend(Symbol(),OP_BUY,0.1,Ask,5,Bid-30*Point,Bid+72*Point,"m",1,0,Red); } if(Hour()==23) { a=0; } } return(0);//Конец программы.
Отчеты в прикрепленных файлах.
ЛЕНТЯИ!
Надо уничтожить как ересь!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Думая над тем как бы соорудить чудо - советник - вечный - грааль который еще и за пивом сам бы бегал, я, натолкнулся на интересную штуку. Итак, советник который ставит ордера при определенных фиксированных условиях на продажу со стопами. Тестирую... Потом меняю ордер с продажи на покупку, оставляю те же условия входа на рынок, корректирую стопы покупки под стопы продажи и снова тестирую... Результаты разные... Хм, видимо где ошибся в коде... Нет, ошибки нету, но, на всякий случай меняю ордер обратно на продажу с исходными условиями закрытия и входа на рынок, тестирую... Результат первого раза... Быстро, пока терминал не понял подвоха, меняю все на оборот и запускаю тест... результат четвертого теста один к одному со вторым... Минут 15 сижу думаю как такое может быть, условия входа одни и те же, стопы на тех же ценах, но тестер не закрывает ордера покупки в то же время как и ордера продажи, хотя ставит исправно в то же время... Итак, 2 раза случайность, 3 закономерность! Проверяю все условия, дублирую стопы и цену входа на рынок Принтом, иду за пивом (советник пока за ним не бегает) и запускаю тест в режиме визуализации, наблюдаю. И вот что я обнаружил. Первый же ордер на продажу исправно ставится в свое законное время, ставит стопы на свои положенные места, а вот цена не доходит 1 пункта до своей положенной отметки! У какая! Доходит только через 3 часа после положенного срока, после чего, собственно, благополучно срабатывает стоп. Интересно! Быстро, быстро ставлю визуализацию советника с продажей ордера. Все как и должно быть, стоп закрыт, как и в первые раз.
Значит что имеем? Есть два оппонента. Точно известно что один из них нагло врет, причем в лицо, и не стесняется совсем, или, нагло врут оба, что мало вероятно и тогда точно, что оба бесстыдники. Пишем эмулятор ордеров на покупку и продажу с теми же условиями входа и стопами, дублированием котировок ордеров в сторонний носитель, короткая отладка и тестим... Забавно, но я получил средний результат. Пишем советник с теми же условиями входа, но без стопов, в роли стопа ставим OrderClose. Результат эмулятора.
Итак вердикт, редко тестер не доводит котировку до стопа. Причем закономерно, на одни и те же позиции, и до одних и тех же стопов, на разных направлениях ордеров.
Так вот, у меня в связи с этими наблюдениями, вопрос. Как от этого избавиться, поскольку пользоваться эмулятором в отладчике не представляется возможным, а писать отдельно закрытия долго, нудно и нецелесообразно.
P.S. Разница между количеством закрытых ордеров эмулятором и обычными средствами, составляла не больше 10%-15%.