Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 590

mila.com
167
mila.com  
Alexey Volchanskiy:
Пойду погуляю, потом код для геометрической прогр. напишу

Совсем я плохая, должно получиться 0.5.


#define LEN 5 // задали длину последовательности
double  start_lot=0.1;//начальный лот
int lot_5 =5;// номер искомой позиции
int start()
{
    int d = lot_5;    // это разность, любое значение
    int a[LEN];   // тут храним ариф. посл.
    a[0] = start_lot;     // любое стартовое значение, задаете сами
    Print(0, " начальный лот ", a[0]);

    for (int n = 1; n < 4; n++)
    {
       a[n] = a[0] + (n*d);
       Print(n, " лот позы№5 ", a[n]);
    }
}
Alexey Volchanskiy
27204
Alexey Volchanskiy  
mila.com:

Совсем я плохая, должно получиться 0.5.


Ради женщины можно и 0.5 :))

Геометрическую завтра пришлю. А там что надо получить, сразу напишите пожалуйста входной лот и конечное значение. 

#define LEN 5 // задали длину последовательности
double  start_lot=0.1;//начальный лот
double lot_5 = 0.1;   // это разность
int start()
{
    double a[LEN];   // тут храним ариф. посл.
    a[0] = start_lot;     // задаем стартовое значение 0.1
    Print(0, " начальный лот ", a[0]);

    for (int n = 1; n < LEN; n++)
    {
       a[n] = a[0] + (n*lot_5);
       Print(n, " лот позы №5 ", a[n]);
    }
}

2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 4 лот позы №5 0.5
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 3 лот позы №5 0.4
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 2 лот позы №5 0.3
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 1 лот позы №5 0.2
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 0 начальный лот 0.1
mila.com
167
mila.com  
Alexey Volchanskiy:

Ради женщины можно и 0.5 :))

Геометрическую завтра пришлю. А там что надо получить, сразу напишите пожалуйста входной лот и конечное значение. 

Спасибо, отлично )

Да, ещё хочу узнать сумму лотов будущих четырёх позиций + начальный лот, если можно.

Вводные для геометрической:

  _lot_x = ?

extern double  start_lot=0.1;//начальный лот
extern double  koef=2;//коэффициент умножения

extern int n_pos =5;// номер искомой позиции для определения её лота
//===
double _lot_x; // лот искомой позиции

double  _lot=0;// лот следующей позиции
//===
void OnTick()
{
if(OrdersTotal==1)
 {
 _lot = start_lot* koef;
 }

if(OrdersTotal>1)
 {
 _lot = _lot * koef;
 }
}
Andrey Zuev
117
Andrey Zuev  

Приветствую. Подскажите, кто в теме. Пытаюсь разобраться с функцией Webrequest. Нужно отправить POST запрос на api сервер для осуществления тестовой рассылки через сервис sendpulse.com. Вот тут написано как создать запрос для осуществления рассылки: https://sendpulse.com/ru/api#push , там где "Создать новую push-рассылку". Почитал на тему HTTP-запросов, но как это сделать через webrequest непонятно. Помогите пожалуйста, приведите пример пост запроса в виде вебреквеста исходя из мануала https://sendpulse.com/ru/api#push и пример Get запроса тоже из мануала к примеру "Получить список отправленных push кампаний". Буду очень благодарен!

Sendpulse REST API - документация - Sendpulse
Sendpulse REST API - документация - Sendpulse
  • sendpulse.com
API интерфейс используется для того, чтобы интегрировать возможности сервиса рассылок SendPulse в личный проект клиента. API предназначен для разработчиков и сопровождается детальной документацией. Описание REST API сервиса SendPulse работает по протоколу HTTP и представляет собой набор методов, с помощью которых совершаются запросы и...
volodarh
225
volodarh  

Подскажите плиз. При тесте советника и при указании разного начального депозита, тестер  выдает разные результаты торговли при одинаковых (кроме  размера депозита)  параметрах тестера  и настроек советника . В настройках советника отсутствует настройки мани-менеджмента и рисков, тест производится на торговлю одним лотом фьючерса ФОРТС. Даже самый меньший депозит - превышает стоимость лота в 1.5 раза, просадки при этом значительно ниже размера депозита. ТО есть запаса навалом. Но такое ощущение, что советник в некоторых случаях не рискует заходить в некоторые сделки при меньшем депозите и совершает меньшее количество сделок и, соответственно, разный результат. Почему?

Заранее спасибо за ответ. 

Файлы:
1.jpg 345 kb
2.jpg 358 kb
Arseniy Barudkin
273
Arseniy Barudkin  
Здравствуйте товарищи! Подскажите плиз как написать функцию, которая при определенном количестве попыток открытия отложенного ордера(точнее его срабатывания), будет выполнять определенные действия, ну или отправлять булевое значение?
Sergey Gritsay
7476
Sergey Gritsay  
barudkinarseniy:
Здравствуйте товарищи! Подскажите плиз как написать функцию, которая при определенном количестве попыток открытия отложенного ордера(точнее его срабатывания), будет выполнять определенные действия, ну или отправлять булевое значение?
Нужно запомнить тикет отложенного ордера и отслеживать по тикету его состояние если изменился с отложенного на рыночный то записываем в переменную необходимое значение. Что-то в этом роде
//+------------------------------------------------------------------+
bool event_pending(int tiket)
  {
   if(OrderSelect(tiket,SELECT_BY_TICKET))
     {
      if(OrderType()<=1)return(true);
     }
   return(false);
  }
//+------------------------------------------------------------------+
Arseniy Barudkin
273
Arseniy Barudkin  
Здравствуйте! Можно ли прописать в коде что бы при достижении определенного количества ордеров советник перезапускался, что бы все счетчики обнулялись, а то советник с сеткой ордеров при тестировании за год показывает более 1000 ордеров, и даже тестер начинает виснуть(( И если можно то подскажите пожалуйста, как?
Alexey Volchanskiy
27204
Alexey Volchanskiy  
barudkinarseniy:
Здравствуйте! Можно ли прописать в коде что бы при достижении определенного количества ордеров советник перезапускался, что бы все счетчики обнулялись, а то советник с сеткой ордеров при тестировании за год показывает более 1000 ордеров, и даже тестер начинает виснуть(( И если можно то подскажите пожалуйста, как?

Есть функция 

ExpertRemove

Прекращает работу эксперта и выгружает его с графика.

void  ExpertRemove();

 Вот только запустить потом никак. По уму надо эксперт исправить, проблема не в ордерах, а в чем-то другом. Где-то есть утечка памяти, скорее всего.

Arseniy Barudkin
273
Arseniy Barudkin  
Alexey Volchanskiy:

Есть функция 

ExpertRemove

Прекращает работу эксперта и выгружает его с графика.

void  ExpertRemove();

 Вот только запустить потом никак. По уму надо эксперт исправить, проблема не в ордерах, а в чем-то другом. Где-то есть утечка памяти, скорее всего.

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