Проблема с MT4, когда MT4 открывает сделку, а затем сразу же закрывает ее снова - страница 2

 

вам следует проверить его в тестовом режиме, чтобы определить, повторяется он или нет.

 

Советник может притворяться, что использует магические числа (и даже использовать их большую часть времени), но из-за ошибки в кодировании (что является нормой в mql4-сцене дублирования спагетти-кода [copy-pasting]) иногда не использует свою магию, а вместо этого использует какой-то изначально неправильный код, как, например:

for(...){
   OrderSelect(...);
   if (OrderSymbol() == Symbol()){
      OrderClose(...);
   }
}

который зарыт и забыт между тоннами дублированных (и скопированных) похожих блоков кода и по какой-то причине выполняется только иногда во время полнолуния (есть еще один идентичный блок кода в 500 строк (с еще 4 вхождениями одного и того же цикла) для новолуния и еще два таких блока для остальных времен в некоторых других ветвях одного большого монстра-if/else из ада, но они уже "исправлены").


Вот вам и ошибка, вот и пропали ваши деньги: Какой-то неизвестный 15-летний подражатель дублирования кода (или лучше сказать C0d3r) с НУЛЕВЫМ знанием pr0gg3d (sic!) какой-то k3wl (его самый первый и совершенно непроверенный) советник (потому что ему надоел php) и разместил его на каком-то форуме (или позволил своему 21-летнему кузену продать его за деньги) и причинил вам убыток в несколько x-тысяч долларов. Спросите меня в частном порядке, куда вы должны отправить 20% сэкономленных денег на следующие 3 месяца, в течение которых вы НЕ будете использовать подобные советники.


Эта тема должна быть закрыта именно в этот момент, а затем прикреплена к верху форума жирными красными буквами до конца времен.

 
Holly mother of ..... еще один лимонад и никто бы не просил помощи на этом форуме... lol.
 
ubzen:
Holly mother of ..... еще один лимонад и никто бы не просил помощи на этом форуме... lol.

Моя тирада была двоякой.

Часть между строк была направлена в первую очередь против тех, кто пишет и продает подобные советники, но я сомневаюсь, что они смогут это понять. Другая часть, которая написана открытым текстом, лишь резюмирует событие и ситуацию жертв, и ОП - жертва (жертва ложных претензий, но также и жертва собственной наивности). Ущерб уже нельзя восстановить, деньги пропали. На этом можно только учиться, и на этом нужно учиться. И, наконец, последнее предложение моего поста (3 месяца, 20%) было призвано усилить воспринимаемую боль, чтобы максимизировать эффект обучения.


Это звучит жестко, но это горькая правда.


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

 
Я полностью согласен с вами, и мой предыдущий пост отражал подобные чувства. Я учил, что оно было немного резким - но это правда. Предоставление советника без поддержки - это преступление. Да - я сказал это (возможно, теперь модераторы действительно заблокируют сообщение красным цветом). Я думаю, что ОП сделал несколько хороших денег b4 bugs.... иначе Ouch!
 

P

> Я начинаю думать, что у MT4 могут быть проблемы при одновременной работе с несколькими советниками.

Обычно это не проблема, я ставил гораздо больше советников, чем сейчас, и много экземпляров на VPS.

> Я подозреваю, что индикаторы могут быть испорчены, генерируя сигналы для торговли, а затем для закрытия.

Это может быть идеей, особенно если это советник для торговли в "тихие часы", а брокер недавно перешел на STP/ECN...?

Возникающие в результате огромные колебания спреда и/или гэпы на более коротких таймфреймах могут нарушить сигналы входа/выхода различного рода.

FWIW

-BB-

 

Это своего рода ошибка. Определение ошибки - это поведение программного обеспечения так, как вы бы предпочли, чтобы оно не вело себя.

Это может быть либо прикладная программа, либо язык программирования, на котором она была написана.

В любом случае, без доступа к исходному коду (кодам) или воспроизводимому тестовому примеру, все остальное - предположения.

 

Поместите каждого из советников на свой отдельный демо-счет и дополнительно откройте на каждом счете по одной вручную открытой сделке с дальними стопом и тейкпрофитом и вручную введенными лимитными и стоп-ордерами в той же валютной паре/парах, а затем просто дайте им всем поработать несколько дней/недель. Если какой-либо из этих советников вдруг решит закрыть вашу открытую вручную сделку, передвинет свой стоп или отменит один из ордеров на вход, то вы, несомненно, определили виновного советника. Попробуйте подать на него в суд, чтобы вернуть свои деньги, потому что советник НЕ ДОЛЖЕН саботировать любую другую торговую деятельность ни при каких обстоятельствах.

Это закон №1 в робототехнике: "Робот не может вредить сделкам человека" (Естественно, это касается и сделок других советников).

 

Интересно. Попробуйте создать что-то вроде доказательства того, как должен или не должен работать советник.

Затем сделайте большой прыжок, подайте в суд, а затем убедите суд в том, как должен или не должен работать советник.

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

PS: Прочитал еще раз, кто-то действительно де-компилировал исходники, так что это облегчает аргументацию в суде. Но тогда является ли де-компиляция и, следовательно, кража кода законной?

 

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

Или машинный код - это некий священный язык, который ни при каких обстоятельствах не может быть переведен или прочитан простыми смертными? Даже судьями? Только инаугурированные программисты и их машины?


И даже если нет, то то же самое о поведении эксперта можно было бы доказать, дизассемблировав сам байт-код или машинный код. (дизассемблирование - это только распечатка его в красивом формате и написание небольшого объяснения рядом с каждой машинной инструкцией) или просто продемонстрировав поведение в повторяемом тесте.

Причина обращения: