АвторСообщение



Пост N: 2
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 05.03.12 22:36. Заголовок: Арбитраж на ценах брокеров


Предлагаю всем, у кого хватит мощности попробовать свои силы в написании арбитражного советника, работающего на разности котировок различных брокеров. Идея такова: если Bid брокера А больше Ask брокера В, то одновременно продаём лот у брокера А и покупаем лот у брокера В. Закрываемся когда цены брокеров становятся равными.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 3 All [только новые]


Автор




Пост N: 960
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 05.03.12 23:51. Заголовок: Это ненадолго. Броке..


Это ненадолго. Брокер будет сопротивляться. Посмотрите здесь: http://autograf.dp.ua/Pages/7/72/724/724.htm

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 06.03.12 09:02. Заголовок: Сергей, брокер будет..


Сергей, брокер будет сопротивляться? Каким образом? Если брокер заблокирует моего советника, то я изменю его название, перекомпилирую наконец. Если брокер заблокирует любого моего советника, то обращусь в службу технической поддержки за разъяснениями, естественно будут писать разговор, потом в инет выложу. На самом деле считаю, что у брокера не так много рычагов. Реальны проскальзывания, задержки с исполнением ордеров, но это технически решаемые вопросы, надо только правильно собрать доказательства этих действий. У меня был опыт в 2008 году, когда я удачно открыл позицию по паре рубль доллар, когда профит достиг 6 килобаксов брокер стал срочно уменьшать плечо, сначала сделал 1 к 20, через пару дней 1 к 10, потом 1 к 5. Всё, вот их единственный реальный рычаг.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 321
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 06.03.12 11:07. Заголовок: Я бы не сказал, что ..


Я бы не сказал, что это их единственный рычаг. Если вести речь о различных ухищрениях, то их огромное количество. Не забывайте - вы торгуете на площадке брокера и по его правилам.
С другой стороны, для арбитражных советников брокер не будет опускаться до подобных действий (если это не какой-нибудь маленький брокер с сотней клиентов), т.к. подобная тактика торговли сама себя изживет. Все дело в том, что описываемая вами закономерность не является постоянной, и успешно использовать ее на протяжении длительного времени не получится. Чаще всего вы будете попадать в лок с убытком, равным разнице котировок двух брокеров плюс два спреда.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 06.03.12 12:28. Заголовок: Scriptong, надо откр..


Scriptong, надо открывать позицию учитывая два спрэда и проскальзывание и добавив немного профита. Мне эта тема интересна не ради наживы, а для удовлетворения любопытства. Реально ли брокеры подкручивают котировки? как часто? с какой амплитудой?
Самому пока решить такую задачу не по зубам. Не знаю как осуществлять ввод-вывод информации с двух метатрейдеров в реальном времени. Через текстовый файл? Плюс, одному не охватить всего многообразия брокеров, которых надо исследовать.
Какие рычаги есть у брокера? Он может выдавать для меня персональные котировки, чтобы загнать в убыток именно моего советника? Или все трейдеры видят как меня убивает брокер? Или это паранойя?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 5
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 06.03.12 12:30. Заголовок: Арбитраж работает вс..


Арбитраж работает всегда!

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 962
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 06.03.12 12:43. Заголовок: Максим пишет: Серге..


Максим пишет:

 цитата:
Сергей, брокер будет сопротивляться? Каким образом? Если брокер заблокирует моего советника, то я изменю его название, перекомпилирую наконец. Если брокер заблокирует любого моего советника, то обращусь в службу технической поддержки за разъяснениями, естественно будут писать разговор, потом в инет выложу.

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

И публичное охаивание брокера ни к чему не приведёт. Возможно, Вы сможете убедить стороннего слушателя в том, что брокер плохой. Но как средство давления на брокера это не годится - заработать таким способом всё равно не дадут. Исключение составляет работа на микро счетах некоторых брокеров. Для них это настолько мелочно, что они исполняют торговые приказы на микро автоматически, а в статистику вообще не заглядывают (до тех пор, пока объёмы сделок микро). Так можно по полцента за год заработать долларов пять.. : )

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 963
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 06.03.12 12:51. Заголовок: Максим пишет: Арбит..


Максим пишет:

 цитата:
Арбитраж работает всегда!

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

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 06.03.12 14:25. Заголовок: Выходит, у брокера с..


Выходит, у брокера существует только две реальные возможности бороться с трейдерами проскальзывание и реквот. Правильно я понимаю, что оба эти варианта вызывают false у функции OrderSend и OrderClose? Теперь вопрос к специалистам по языку программирования: как правильно вести учёт подобных явлений? Кусочек кода если можно?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 323
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 06.03.12 15:23. Заголовок: Максим пишет: Выход..


Максим пишет:

 цитата:
Выходит, у брокера существует только две реальные возможности бороться с трейдерами проскальзывание и реквот.


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

Максим пишет:

 цитата:
Правильно я понимаю, что оба эти варианта вызывают false у функции OrderSend и OrderClose


Для OrderClose - да, для OrderSend - неправильно, т.к. она возвращает результат типа int, в котором указывается номер ордера (тикет). Если результат больше нуля - приказ исполнен. Если меньше нуля, то это ошибка, код которой можно узнать вызвав функцию GetLastError. Ссылка на коды ошибок дана выше.
Максим пишет:

 цитата:
Теперь вопрос к специалистам по языку программирования: как правильно вести учёт подобных явлений?


Не знаю, как правильно, но думаю, что стоит начать со сборщика тиков. Хотя этот метод был разработан для других целей.

На мой взгляд, толку от ведения подобной статистики нет. К примеру, вы собрали такую статистику и делаете вывод, что брокер большинство ваших приказов исполняет с проскальзыванием (отложенные ордера) или реквотами (рыночные ордера). Что вам это дает?
1. Предъявить претензию брокеру? Любой брокер укажет вам на пункт в договоре, который гласит, что котировки, получаемые вами, носят чисто информационный характер. То есть он вовсе не обязан выполнять ваши приказы по этим ценам.
2. На рынке есть такое понятие как ликвидность, т.е. реальное обеспечение цен объемами заявок. Вполне может быть ситуация, когда на объем вашего приказа не был найден противоположный приказ по данной цене. Брокер в этом случае берет худшую для вас цену и т.д., пока не выполнит весь приказ.
3. А может быть вы любите торговать на быстротечном рынке, когда у брокера действительно много приказов? В этих случаях описанные две ситуации - нормальное явление.

Выбор брокера нужно осуществлять, исходя из своих предпочтений, которые также зависят от выбранной вами стратегии. Есть брокеры, которые открыто зазывают пипсовщиков и реально обеспечивают им все условия для торговли. Есть и противоположные им ДЦ, которые в договорах явно указывают критерии определения пипсовки. Такие сделки впоследствии аннулируются.

Нужно понимать, что в любой игре (а жизнь ведь тоже - игра) есть правила, которые можно вполне законно обойти. В обычной жизни таких людей наказывают при помощи самосуда, т.к. законных мер воздействия на него нет. В ситуации с торговлей на Форекс это вполне может сделать брокер. Поэтому не нарушайте правила игры, даже если нашли в них изъян. Расплата придет, и не стоит на нее обижаться.
Заработайте для себя и честно отдайте комиссию в виде спреда брокеру. Тогда и к вам будет такое же отношение.




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 12
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 07.03.12 12:15. Заголовок: Scriptong пишет: Ну..


Scriptong пишет:

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



Вы можете сформулировать этические правила игры, которые не надо нарушать, по которым мой советник не должен открывать или закрывать позицию?
Я не против того, чтобы мой советник зарабатывал честно, и отдавал спред брокеру. Есть всего два варианта OrderClose и OrderSend. Честно это как?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 331
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 07.03.12 12:53. Заголовок: Максим пишет: Вы мо..


Максим пишет:

 цитата:
Вы можете сформулировать этические правила игры, которые не надо нарушать, по которым мой советник не должен открывать или закрывать позицию?



Этика и мораль - это наше воспитание. Поэтому для каждого человека они различны.
На мой взгляд эти правила таковы:
1. Не использовать нерыночные котировки (шпильки). Программно такие котировки можно отследить по мгновенному (от предыдущего тика до текущего) падению или росту цены на 10 и более процентов. Это значение навскидку. Возможно, его необходимо пересмотреть.
2. Не посылать слишком частые торговые запросы. В своих экспертах я использую торговые операции один раз за один бар. При этом на минутках я никогда не торгую. Получаем, что торговые запросы будут поступать на сервер не чаще, чем 1 раз в 5 минут. А если торговать на более высоких таймфреймах, то периодичность будет еще меньше.
3. Не ставить Stop Loss и Take Profit на границе минимального уровня стопов (Stop Level), что увеличивает вероятность получения ошибки 130.

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


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 15
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 07.03.12 14:17. Заголовок: Scriptong пишет: 2...


Scriptong пишет:

 цитата:
2. Не посылать слишком частые торговые запросы. В своих экспертах я использую торговые операции один раз за один бар. При этом на минутках я никогда не торгую. Получаем, что торговые запросы будут поступать на сервер не чаще, чем 1 раз в 5 минут. А если торговать на более высоких таймфреймах, то периодичность будет еще меньше.



Что подразумевается под торговым запросом? Запрос текущих значений Bid, Ask, текущего времени или OrderSend, OrderClose?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 334
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 07.03.12 18:05. Заголовок: Максим пишет: Что п..


Максим пишет:

 цитата:
Что подразумевается под торговым запросом?



К ним относятся функции, отправляющие запрос на сервер в торговом потоке. Таких функций всего пять: OrderSend, OrderClose, OrderModify, OrderCloseBy, OrderDelete. Торговый поток работает в синхронном режиме, т.е. программа при вызове этих функций не будет исполняться далее, пока вы не получите ответ от сервера.

В МТ4, помимо торгового потока, есть поток данных (к сожалению, не знаю, как точно называется; возможно таких несколько), через который вы получаете котировки и информацию о рыночном окружении. Поток асинхронный. То есть, отправив запрос, вы получаете ответ не сразу, а спустя некоторое неопределенное время. Программа продолжает свое выполнение.
На этот поток вы влияете, когда обращаетесь к историческим данным при помощи функций доступа к таймфсериям. В этом случае очень мала вероятность навлечь на себя гнев брокера, т.к. после первого обращения к несуществующим у вас на компьютере данным эти данные закачиваются и впоследствии вы их получаете без отправки запроса на сервер.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 22
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 13.03.12 10:20. Заголовок: Спасибо за интересну..


Спасибо за интересную информацию.
Меня интересует асинхронный поток данных. Если мой советник анализирует информацию по мере её поступления, то есть не пользуется таймсериями, то возможна ли такая коллизия, что предыдущие данные о цене могут задержаться в пути и прийти чуть позже более поздних данных? То есть надо усложнять программу и вместе с бидом и аском проверять метку времени? Может неучёт этого фактора и приводит к худшим результатам работы советника в реале по сравнению с тестом?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 343
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 13.03.12 13:58. Заголовок: Максим пишет: Если ..


Максим пишет:

 цитата:
Если мой советник анализирует информацию по мере её поступления, то есть не пользуется таймсериями, то возможна ли такая коллизия, что предыдущие данные о цене могут задержаться в пути и прийти чуть позже более поздних данных?



Да, об этом и речь.
Поэтому для получения данных с других таймфреймов или других валютных пар в советниках (в индикаторах не получится, т.к. там Sleep не работает) я использую вот такую функцию:

 цитата:
//+-------------------------------------------------------------------------------------+
//| Получение времени открытия дня Num |
//+-------------------------------------------------------------------------------------+
datetime GetTime(int Num)
{
datetime Res; // Результат вычисления функции
int P = 0; // Счетчик обращения к данным
while (P < 120) // Обращение не более 120 раз подряд
{
Res = iTime(NULL, PERIOD_D1, Num);
if (GetLastError() != 4066) break;//Ошибка 4066 свидетельствует о неготовности данных
Sleep(1000); // Пауза 1 сек. для того чтобы данные успели обновиться
P++; // Увеличение счетчика
}
if (P == 120) // Если выход из цикла по причине переполнения счетчика (долго ждали)
return(0); // то функция вернет ошибку
return(Res); // Если же цикл прервался успешным получением значения, то функция
// вернет Res
}



Вместо iTime может быть обращение к любой другой таймсерии.

Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 971
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 13.03.12 15:42. Заголовок: Максим пишет: То ест..


Максим пишет:
 цитата:
То есть надо усложнять программу..?

Вообще-то, есть ребята, которые зарабатывают на сверх малых целях с очень большой частотой, - буквально на шероховатости рынка. Эти ребята, конечно, нам не чета. Например, оборудование у них такое, что нам и не снилось. Мощности и скорости обычных процессоров им не хватает, они изготавливают вычислительную часть машины на основе видеокарт (уж не знаю как, но скорость обработки инф. получается выше). И для них критично расстояние от их сервера до сервера на Wall Street. Они платят миллионы за аренду чердачных помещений, лишь бы быть поближе. И конкуренция в этом сегменте очень высока - кто первый успел, того и тапки.

Использовать для заработка на шероховатости рынка обычное оборудование (главным образом, речь об ограничениях интернет) и котировки брокера нет смысла. Там такие запаздывания, настолько низкая надёжность, что расчитывать на результат не следует.

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

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 23
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 14:06. Заголовок: SK пишет: Вообще-то..


SK пишет:

 цитата:
Вообще-то, есть ребята, которые зарабатывают на сверх малых целях с очень большой частотой, - буквально на шероховатости рынка. Эти ребята, конечно, нам не чета. Например, оборудование у них такое, что нам и не снилось. Мощности и скорости обычных процессоров им не хватает, они изготавливают вычислительную часть машины на основе видеокарт (уж не знаю как, но скорость обработки инф. получается выше). И для них критично расстояние от их сервера до сервера на Wall Street. Они платят миллионы за аренду чердачных помещений, лишь бы быть поближе. И конкуренция в этом сегменте очень высока - кто первый успел, того и тапки.



Наверно это всё-таки очень забавная сказка! ) Как в фильме ДМБ: "- Вот ты, не видишь инопланетян, и я не вижу... а они есть!"

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 24
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 14:54. Заголовок: Scriptong пишет: дл..


Scriptong пишет:

 цитата:
для получения данных с других таймфреймов или других валютных пар в советниках (в индикаторах не получится, т.к. там Sleep не работает) я использую вот такую функцию:



Что-то я не понял, зачем надо ждать 2 минуты чтобы получить данные текущего бара.(неужели даже дневные бары могут перепутаться?) И из этого хитрого цикла мы выходим по ошибке 4066, то есть результатом работы этой функции является время последнего успешного бара? Получив это время мы можем быть уверены, что текущие Bid и Ask соответствуют этому времени?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 25
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 15:02. Заголовок: Scriptong, прошу про..


Scriptong, прошу прощения != принял за ==. Но получается ещё хитрее. Выход из цикла при любой ошибке кроме 4066? Зачем это надо?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 26
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 15:17. Заголовок: Scriptong, или плано..


Scriptong, или плановый выход из цикла когда GetLastError() =0? А точно это точно что при успешном завершении функции iTime, last_error обновится?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 346
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 14.03.12 17:55. Заголовок: Максим пишет: Что-т..


Максим пишет:

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



Выход из цикла осуществляется в двух случаях:
1. Получено запрошенное значение. Срабатывает строка GetLastError() != 4066, т.е. ошибки "запрошенные котировки находятся в стадии обновления" нет.
2. Прошло 2 минуты ожидания (никто не запрещает изменить это значение на любое другое, которое вы считаете более адекватным), в течение которых мы все время получали ошибку 4066 (условие выхода по break не срабатывало).

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


 цитата:
Получив это время мы можем быть уверены, что текущие Bid и Ask соответствуют этому времени?



Никакого отношения к Bid и Ask эта функция не имеет. Я показал пример получения исторических данных (времени открытия указанного бара дневного таймфрейма). Предполагается, что эксперт в это время работает на другом таймфрейме. Если вам нужно получить не время открытия, а, например, цену открытия бара, то потребуется создать подобную функцию, но внутри ее использовать другую таймсерию: iOpen, а не iTime. И таким же образом для любой другой таймсерии.
Bid и Ask - это не исторические данные. Их значения для другого символа получают при помощи запросов:

 цитата:
MarketInfo("имя символа", MODE_BID);
MarketInfo("имя символа", MODE_ASK);


Эти данные вы получаете сразу же (если правильно указали имя символа). Никакого ожидания в этом случае не нужно.


Спасибо: 0 
ПрофильЦитата Ответить
Автор




Пост N: 980
Зарегистрирован: 21.05.06
Откуда: Украина, Днепропетровск
ссылка на сообщение  Отправлено: 14.03.12 18:19. Заголовок: Максим пишет: Наверн..


Максим пишет:
 цитата:
Наверно это всё-таки очень забавная сказка! ) Как в фильме ДМБ: "- Вот ты, не видишь инопланетян, и я не вижу... а они есть!"

Я не ничего выдумываю.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 28
Зарегистрирован: 05.03.12
ссылка на сообщение  Отправлено: 14.03.12 22:07. Заголовок: Scriptong, разве при..


Scriptong, разве при успешном завершении функции iTime, GetLastError() изменит своё значение? Все функции запрашивающие данные с сервера обновляют выходное значение GetLastError() ? А сама GetLastError() тоже с сервера запрашивается, и пока не придёт ответ советник отдыхает?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 350
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 14.03.12 23:23. Заголовок: Максим пишет: разве..


Максим пишет:

 цитата:
разве при успешном завершении функции iTime, GetLastError() изменит своё значение?


Изменит. В ней будет содержаться 0 (нет ошибки).


 цитата:
Все функции запрашивающие данные с сервера обновляют выходное значение GetLastError() ?


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


 цитата:
А сама GetLastError() тоже с сервера запрашивается, и пока не придёт ответ советник отдыхает?


Нет. Это функция, которая запрашивает состояние внутренней переменной терминала, объявляемой для каждой новой программы MQL4.
Поэтому при запросе через iTime значений, которых нет на компьютере, вы сразу же получаете значение iTime = 0, а если спросите GetLastError, то получите 4066 (дальнейшие запросы GetLastError дадут вам 0 до исполнения другой функции). При следующем запросе iTime вы получите либо запрошенные данные, либо опять 0 и ошибку в GetLastError.



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 24 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 10
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет