Здравствуйте, гость ( Вход | Регистрация )

26 страниц V « < 20 21 22 23 24 > »   
Ответить в эту темуОткрыть новую тему
> Perceptron, Нейронная сеть
leonid553
сообщение 2.9.2007, 12:16
Сообщение #211





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Да - так и заявил. В глобальные.
В обычном коде вставил и заработало :
Код
if (!ZeroBarOrd)      
  {  
//---------проверяем условие на покупку----------------------------
  if   (  ((Stochastic_1b<MA_low)  &&
          (Stochastic_0b>MA_low)) || (ma_1<MA_0 && ma_0 > MA_0)  )
   {
   Lots=GetSizeLot();
ticket_=OrderSend("GBPJPY",0,Lot,ask_GBPJPY,Slippage,bid_GBPJPY-SL*point_GBPJPY,                     ask_GBPJPY+TP*point_GBPJPY,"M_3",MagicGBPJPY,0,CLR_NONE);
if (ticket_<0){Print("Ошибка открытия ордера BUY GBPJPY#",GetLastError()); return(0);
  }  
   else ZeroBarOrd=true;            
   }


Здесь же (выше в пред. посте) ситуация иная! Там после успешного открытия позиции уже есть
одно else
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
NoName
сообщение 2.9.2007, 13:44
Сообщение #212





Группа: Активный участник
Сообщений: 514
Регистрация: 1.5.2006
Из: Украина, Кременчуг
Пользователь №: 146
Спасибо сказали: 0 раз(а)



Если имеется ввиду этот момент, то нужно написать так:
Код
ticketGBP=OrderSend("GBPUSD",OP_BUY,Lots,ask_GBP,3,bid_GBP - sl_GBPUSD_long*point_GBP,
                          ask_GBP+tp_GBPUSD_long*point_GBP,"M_1", MagicGBP, 0, Blue);
         if (ticketGBP > 0) { ZeroBarOrd=true;  break; }  
else
{ Print ("Ошибка открытия Buy GBP#", ErrorDescription( GetLastError() ),
                                                  " попытка ", Cnt);
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 2.9.2007, 15:50
Сообщение #213





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Благодарю. Сейчас попробуем...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 4.9.2007, 6:57
Сообщение #214





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Опять проблемы с блокировкой! В мультивалютном.
Пока поставил блокировку только на одну пару в мультивалютном. Но ..., эта пара вообще перестала включаться!
Как было велено, на глобальном уровне заявил:
Код

int ExpertBars;
static bool ZeroBarOrd;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
ExpertBars = Bars;

   return(0);
  }


Идем далее .

Код

if (GBP_JPY) {     //если  "выключатель" включен
if (!ExpertOrder(MagicGBPJPY)) { //если ордеров по паре GBPJPY нет

//**********************Блокировка******************************
bool isNewBar=false;
if (ExpertBars !=Bars) {ExpertBars=Bars; isNewBar=true; }  
int Orders=OrdersTotal();//ExpertOrder();
if (isNewBar) {
if (Orders!=0) ZeroBarOrd=true;  //есть ордер
else           ZeroBarOrd=false; //нет ордера
}
//***************************************************************
if (!ZeroBarOrd)      
  {  
//---------проверяем условие на покупку----------------------------
  if   (  бла-бла-бла  )
   {

ticket_=OrderSend("... ... ...);
if (ticket_<0){Print("Ошибка открытия ордера BUY GBPJPY#",GetLastError()); return(0);
  }  
  // else ZeroBarOrd=true;            
   }

Видимо дело здесь в строке
if (Orders!=0) ZeroBarOrd=true; //есть ордер

Как ты писал выше вместо if (Orders!=0)
нужно наверное задать - if (OrdersGBPJPY!=0)

Но у нас не заявлена эта переменная! Не соображу - где и как её заявить!
Видимо в строке выше
int Orders=OrdersTotal();//ExpertOrder();

И согласовать её с начальным условием
if (!ExpertOrder(MagicGBPJPY)) { //если ордеров по паре GBPJPY нет

Запутался я совсем...
Боюсь что,
bool isNewBar=false;
тож придется заявлять на глобальном уровне ...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Dimi
сообщение 4.9.2007, 9:03
Сообщение #215





Группа: Активный участник
Сообщений: 236
Регистрация: 12.4.2006
Пользователь №: 14
Спасибо сказали: 2 раз(а)



Привет всем!!! Леонид, ты использовал хоть раз a-ATR_Trailing.mqh в советниках??? Сразу вроде бы мне понравился ( в некоторых местах очень красиво передвигает стоп, даже можно поучиться у него этому smile.gif ) Но что-то меняю в нем период, а он никак не реагирует на это. Не знаешь почему???
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 4.9.2007, 10:50
Сообщение #216





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



А что это такое? Не сталкивался с таким ни разу.
Кстати по определению тренда.
Rosh, на форуме метаквотов приводил пример в своем советнике - как программно задать ( опред-ть) - тренд/не тренд.
Там, правда, без стакана не разберешься.....
http://codebase.mql4.com/ru/1256
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 4.9.2007, 12:48
Сообщение #217





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Вроде выясняется с блокировкой вопрос. Вот как сделал -
Код

//**********************Блокировка******************************
//bool isNewBar=false;
if (ExpertBars !=Bars) {ExpertBars=Bars; isNewBar=true; }  
if (isNewBar) {
if (ExpertOrder(MagicGBPJPY)) ZeroBarOrd=true;
else           ZeroBarOrd=false; //нет ордера
}
//***************************************************************
if (!ZeroBarOrd)      
  {  
//---------проверяем условие на покупку----------------------------


Так и пришлось заявить //bool isNewBar=false;
в глобальные переменные. Иначе - ошибка выдавалась!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Dimi
сообщение 4.9.2007, 14:47
Сообщение #218





Группа: Активный участник
Сообщений: 236
Регистрация: 12.4.2006
Пользователь №: 14
Спасибо сказали: 2 раз(а)



Цитата(leonid553 @ 4.9.2007, 10:50) *

А что это такое? Не сталкивался с таким ни разу.
Кстати по определению тренда.
Rosh, на форуме метаквотов приводил пример в своем советнике - как программно задать ( опред-ть) - тренд/не тренд.
Там, правда, без стакана не разберешься.....
http://codebase.mql4.com/ru/1256

Про это вот здесь почитай

Да действительно без стакана не разобраться... Прийдется стакан налить smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 23.9.2007, 12:02
Сообщение #219





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



Dimi, посмотрел и вник в систему входов. Прикидывал и так и эдак... Пришел к выводу, что использование индикатора В-Bonds вряд ли целесообразно. При таком алгоритме входов.
Вот почему . Индюк считается трендовым. Иначе говоря, при отсутствии тренда канал сужается и здесь оправдана торговля отскоком от границ канала внутрь. Поскольку предполагается, что 90% времени цена находится в границах канала - внутри. При наличии тренда границы канала расширяются, а цена практически постоянно болтается на самой границе, многократно её пересекая. И мы входим в рынок на этих пересечениях, - против тренда!. Таким образом прежде, чем поймать перелом этого тренда, мы получим сначала пару лосей!
Есть ещё один момент. В ОПИСАНИЯХ индикатора говориться, что если при тренде выброс цены уходит за границу более, чем на 30% от ширины канала, то неминуем быстрый возврат назад - внутрь границ. Вероятность взятия прибыли здесь = 80% . Но этот случай надо уже отдельно задавать программно, и это не так просто.
На графике - типичный пример работы эксперта, - трeнд вниз, а входы в основном вверх - со всеми вытекающими....


Эскизы прикрепленных изображений
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
leonid553
сообщение 23.9.2007, 12:13
Сообщение #220





Группа: Активный участник
Сообщений: 2 002
Регистрация: 14.4.2006
Из: г.Самара
Пользователь №: 28
Спасибо сказали: 11 раз(а)



А если взять менее чуствительный канальный индикатор? В самом простейшем случае - добавить обычную МА(син) и провести по ней верхнюю и нижнюю границы(желт)?
И ещё там ты спред задаешь во внешних параметрах и привязываешь его к стоплоссу. А зачем? Зачем вручную задавть спред для тестируемой пары, - когда советник может вычислить его самостоятельно!


Эскизы прикрепленных изображений
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

26 страниц V « < 20 21 22 23 24 > » 
Ответить в эту темуОткрыть новую тему

 



- Текстовая версия Сейчас: 26.5.2024, 1:24