- Жду - не дождусь никак
- Сигналы : Спрашивайте и говорите все и обо всем о торговых сигналах MQL5
- не получается подписаться на сигнал(
Гадание на кофейной гуще...
int start() { if(OpenShort()==1) if(IfOpenPoz()!=1) Sell(); if(OpenLong()==1) if(IfOpenPoz()!=1) Buy(); BuySellRevers(); } int Buy() { OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0); } int Sell () { OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); } int IfOpenPoz() { for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) if(OrderSymbol()==Symbol()) { return(1); } } } int BuySellRevers() { int TP,SL; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) if(OrderSymbol()==Symbol()) { if(OrderType()==OP_SELL && OpenLong()==1) { if(SecondsAfterOpenLastPos()>3600) if(OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE)) { i=i-1; TIKET=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0); return(1); break; } } if(OrderType()==OP_BUY && OpenShort()==1) { if(SecondsAfterOpenLastPos()>3600) if(OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE)) { i=i-1; TIKET=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0); return(2); break; } } } } return(0); } int OpenLong() { if(GlobalVariableGet(Symbol()+"UpGo")==1)
{ return(1); }else{return(0);} } int OpenShort() { if(GlobalVariableGet(Symbol()+"DownGo")==1) { return(1); }else{return(0);} } datetime SecondsAfterOpenLastPos() { datetime oot; int i, k=OrdersTotal(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (oot<OrderOpenTime()) oot=OrderOpenTime(); } } return(TimeCurrent()-oot); }вот код эксперта сигнал на покупку и продажу передаются с индикатора через глобальные переменые, что тут не так? почему когда я его только запускаю он окрывает ставку а когда поступает на разварот он игнорирует хотя новый сигнал в глобальной переменой есть?
А функция IfOpenPoz(), может случится так, возвратит неопределенное значение. В конце тела этой функции надо поставить return(0).
Ну и на аналогичные ошибки проверьте остальные функции.
...И все таки bool это true и false а не 1 и 0 - нужно исправить соответствующие return
...И все таки bool это true и false а не 1 и 0 - нужно исправить соответствующие return
...И все таки bool это true и false а не 1 и 0 - нужно исправить соответствующие return
'Преобразование bool к int - значения'
А может ему просто разрешить торговать?
"В мужчине заложено чувство ритма. Нужно только ему разрешить" (М.Жв.)
А может ему просто разрешить торговать?
"В мужчине заложено чувство ритма. Нужно только ему разрешить" (М.Жв.)
это я сделал в первую очередь. Я же писал выше при зауске эксперта фунция BUY или Sell открывает ставку а вот когда наступает сигнал в противоположную сторону BuySellRevers() не срабатывает хотя на тестере таких багов не замечал. Я вот дуумаю может дело в функции
SecondsAfterOpenLastPos() может она не дает ставки открыться???
Скажите, этот код Вы сами написали или где-то подглядели? Он по определению работать не должен. Это видно из кода. И когда я прочитал, что он, де, открывает позиции, а потом не может перевернуться, я решил, что у меня со зрением или с пониманием проблемы. Я не поленился, и загрузил этот шедевр в MetaEditor (то что не хватало объявления переменной TIKET - пустяк) , скомпилировал и запустил в тестере. О(ноль) сделок, как и положено.
Код я сам писал, всего эксперта я не выложил поэтому может и
есть необявленые переменые, но они не как не влияют на работу
эксперта.
То что он у вас на тестере не выполнил не одной сделки это понятно потомучто сигналы на открытие поступают с индикатора через глобальные переменые.
if(GlobalVariableGet(Symbol()+"DownGo")==1)
А теперь то что я заметил может тут собака зарыта когда я отключаю условие
if(SecondsAfterOpenLastPos()>3600) из функции
BuySellRevers()
то он начинает торговать. Может кто-то посмотрит что не так с фукцией SecondsAfterOpenLastPos()
она должна ограничивать число сделок до одной в час на одной
валюте.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования