[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 363

 
Что это за кнопка???
 
Pr0t0tip:

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

 extern int tp=100;

extern int sl=100;

extern int H=14;

extern int M=00;

double ma1, ma2;

int start()

  {

  ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

  ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,"",123,Red); 

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,"",123,Red);

  }

  return (0);

Ну, вот, смотрите - на вскидку - вот в этой строке:

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,"",123,Red);

Вы, как и в Шорте, прибавляете к Bid+sl для Стоп-Лоса и отнимаете от Bid-tp для Тейк-Профита. А нужно, наоборот, от Биды отнять СЛ - для стопа, а прибавить к Биде ТП - для профита.

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,Red);

Думаю, так должно заработать. Пробуйте.

И видите, как красиво и легко код читать, когда вставлен с помощью SRC.

 
Pr0t0tip:
Что это за кнопка???
Это там, где в поле Вы пишете текст, вверху есть кнопочки, с помощью которых текст оформляется. Одна из них SRC-кнопка. Рядом с камерой.
 
Спасибо, все получилось. Только советник льёт, ну это не главное на данном этапе.
 
Dimka-novitsek:

Что значит оптимизировать?    Вместе с роботом в тестере оптимизировать.

 

Подскажите, а что значит '(' - incompatible types C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Конструктор.mq4 (68, 39)
относительно return(errorcomment);??

Что-то я не совсем понял - это вопрос был или, наоборот, ответ?

Про первую строку пропущу - т.к. совсем непонятно.

А на счет 2-го пункта (если это был вопрос) - ругается, что несовместимый тип скобочки. Вероятно, где-то скобка вместо квадратной (или фигурной) поставлена круглая.

 

Доброе время суток! Помогите пожалуйста!

Хочу написать функцию которая бы возвращала тип открываемой позиции основываясь на ценах Вid.

Если некоторое количество цен Bid постоянно повышается - тип Вuy и наоборот.

Пытался сам, но всегда возвращается 0.

//+----------------------------------------------------------------------------+ 
//|  Описание : Возвращает тип открываемой позиции.                            |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|                                                                            |
//|                                                                            |
//|  Глобальные переменные:     NAME_OP - тип открываемой позиции              |
//|                             BID[]   - массив цены BID                      |
//+----------------------------------------------------------------------------+
int NamePositions(string sy="") 
{
int Kol_Tikov=6;
ArrayResize(BID,Kol_Tikov);
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   if (sy=="0") sy=Symbol();
   {
   for(int i=Kol_Tikov-1;i>0;i--)
         BID[i]=BID[i-1];
         BID[0]=NormalizeDouble(MarketInfo(sy,MODE_BID),5);
         
         if (BID[3]>BID[2] && BID[2]>BID[1]) NAME_OP=OP_SELL;
         if (BID[3]<BID[2] && BID[2]<BID[1]) NAME_OP=OP_BUY;
   }
   return(NAME_OP);
}
 
NICK_R:

Доброе время суток! Помогите пожалуйста!

Хочу написать функцию которая бы возвращала тип открываемой позиции основываясь на ценах Вid.

Если некоторое количество цен Bid постоянно повышается - тип Вuy и наоборот.

Пытался сам, но всегда возвращается 0.

 


 

раньше было так: в тестере жмешь галочку ОПТИМИЗИРОВАТЬ, и появляется окно, где все твои ВНЕШНИЕ переменные. указываешь мин, мах и шаг. все.

а теперь ставлю галочку...и ничего не происходит.

 

подскажите где то окно с параметрами и шагом?  

 
lottamer:

раньше было так: в тестере жмешь галочку ОПТИМИЗИРОВАТЬ, и появляется окно, где все твои ВНЕШНИЕ переменные. указываешь мин, мах и шаг. все.

а теперь ставлю галочку...и ничего не происходит.

подскажите где то окно с параметрами и шагом?  

Когда в тестере заходите в настройки советника - там 4 колонки. 1-я колонка это то, что будет просто работать без оптимизации. 2-я колонка - это начальные параметры для оптимизации, 3-я - шаг и 4-я -  конец оптимизации.
 
Chiripaha:
Когда в тестере заходите в настройки советника - там 4 колонки. 1-я колонка это то, что будет просто работать без оптимизации. 2-я колонка - это начальные параметры для оптимизации, 3-я - шаг и 4-я -  конец оптимизации.


в тестере вижу только СВОЙСТВА ЭКСПЕРТА.   настроек советника не вижу.     где они ?

в свойствах ничего подобного нет. билд 500

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