
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Компилятор текст на иврите на захотел понять )))
Иврит не единственный пишущий справа налево! Но я имел ввиду перевернуть котировки, а не код! ;))
Иврит не единственный пишущий справа налево! Но я имел ввиду перевернуть котировки, а не код! ;))
Азъ есмь простой торговецъ, надъ котировками несть власти у меня (
Азъ есмь простой торговецъ, надъ котировками несть власти у меня (
А ла славянский?! ;)
Помню, поначалу сталкивался с вопросом, как грамотно "перевернуть" ордера с покупки на продажу и наоборот. Напишу круто сливающий советник и становится интересно: вдруг начнет зарабатывать, если сделки перевернуть? Но, и за-за Бид и Аск (спрэда) не всегда корректно сразу получалось. Ведь просто поменять местами СтопЛосс и Тейк Профит нельзя, и есть нюанс по поводу начальной цены открытия ордера.
Поэтому написал небольшой код, который поможет начинаюшим быстро проверить ваш сливающий советник на "развороте" ордеров.
Этот код меняет все ордера, включая отложенные. И как основная функция OrderSend, функция ReversOrderSend возвращает код ошибки.
Это кидаем в область внешних переменных:
Это кидаем в самый конец программы (то есть создаем новую функцию - ReversOrderSend() ):
int ReversOrderSend (string symbol,int cmd,double volume,double price,int slippage,double stoploss,double takeprofit,string comment,int magic=0,datetime expiration=0,color arrow_color=CLR_NONE)
{
int Ret=0;
double sprd=MarketInfo(symbol,MODE_SPREAD)*Point;
//Print ("----------------------------",sprd);
if (ReversOrder==0) // Открываем ордера без разворота
{
Ret=OrderSend (symbol,cmd,volume,price,slippage,stoploss,takeprofit,comment,magic,expiration,arrow_color);
}
if (ReversOrder==1)
{
///////////////
if (cmd==OP_SELLSTOP) // Переворачиваем ордера OP_SELLSTOP
{
Ret=OrderSend (symbol,OP_BUYLIMIT,volume,price+sprd,slippage,takeprofit-sprd,stoploss-sprd,comment,magic,expiration,arrow_color);
}
if (cmd==OP_BUYSTOP) // Переворачиваем ордера OP_BUYSTOP
{
Ret=OrderSend (symbol,OP_SELLLIMIT,volume,price-sprd,slippage,takeprofit+sprd,stoploss+sprd,comment,magic,expiration,arrow_color);
}
///////////////
if (cmd==OP_SELL) // Переворачиваем ордера OP_SELL
{
Ret=OrderSend (symbol,OP_BUY,volume,price+sprd,slippage,takeprofit-sprd,stoploss-sprd,comment,magic,expiration,arrow_color);
}
if (cmd==OP_BUY) // Переворачиваем ордера OP_BUY
{
Ret=OrderSend (symbol,OP_SELL,volume,price-sprd,slippage,takeprofit+sprd,stoploss+sprd,comment,magic,expiration,arrow_color);
}
//////////////
if (cmd==OP_SELLLIMIT) // Переворачиваем ордера OP_SELLLIMIT
{
Ret=OrderSend (symbol,OP_BUYSTOP,volume,price+sprd,slippage,takeprofit-sprd,stoploss-sprd,comment,magic,expiration,arrow_color);
}
if (cmd==OP_BUYLIMIT) // Переворачиваем ордера OP_BUYLIMIT
{
Ret=OrderSend (symbol,OP_SELLSTOP,volume,price-sprd,slippage,takeprofit+sprd,stoploss+sprd,comment,magic,expiration,arrow_color);
}
}
return (Ret);
}
В самой программе меняем все функции OrderSend на ReversOrderSend. (Можно автозаменой Ctrl-H) Все, что было в скобках, после функции оставляем.
Все готово. Теперь для проверки эксперта на развороте в настройках эксперта меняем значение ReversOrder с 0 на 1 и продолжаем наслаждаться сливом
Если вы еще заходите на просторы этого форума, ПОМОГИТЕ, пожалуйста. Все сделал по написанному, все скомпелировалось. Все супер. Только есть одно но...
при запуске в тестере стратегий выкидывает из МетаТрейдера4. Пробовал разных брокеров. у всех ситуация повторяется. Не пойму в чем дело! Онлайн поддержки в один голос говорят обращаться к разработчику. ТУК, ТУК...
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2018.10.07 00:36
В библиотеку добавлена возможность переворота ТС без изменения кода советника. Подробности в обновленном описании.Вааще не понял , при чем тут МТ5?
Это и MT4.
Это и MT4.
Помоги, пожалуйста.
***
Помоги, пожалуйста.
Читать описание. Там все есть.