Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 369

 
Link_x:
Здравствуйте!
Хм, а как прикрепить линию к индикатору, создавая его код?
В справочнике нашел функцию, которая задает объект.
Как задаются свойства то же нашел.
Попробовал программировать.
Результат - 5 ошибок.
Хотел бы увидеть пример задания объекта типа OBJ_HLINE .
Спасибо!


сами что-то искать будем? или по жизни привыкли, что все должны всё на тарелочке преподносить?

вот читайте

п.с. под этими словами код примера и его описание ошибочное:

Используем шрифт Wingdings

Сейчас давайте создадим метки с использованием шрифта Wingdings. Изменим функцию start():

 
Ekburg:


Непонятно Вы оформили свой вопрос.. вставили бы код правильно и разъяснили что за неразбериха у Вас возникает. так проще решать задачу:)

но посмотрим, что можно сделать


Судя по всему Сверловчанин?
 
Vinin:

Судя по всему Сверловчанин?

Есть такое)
 
SpikeOne:

Помогите пожалуйста, я правильно понимаю как этот код работает?

я его вставляю в советник в определённое место и он после достижения суммы 715 начинает закрывать все ордера,

только есть одна проблема, в некоторых местах из-за того что вставляю этот код начинается непонятная неразбериха, мб кто подскажет что тут не так:



начал Ваш код разбирать, только что, и уже увидел что у Вас нарушена архитектура кода..

не правильно выставлены фигурные скобки, поправьте их, и может быть проблема решиться

P.S. имею ввиду не визуальное выставление где попало, а перепутаны открывающие и закрывающие скобки.. например в первом блоке оператора if в конце место закрытия, Вы фиг. скобкой открываете ещё блок, вот из-за этого возникает неразбериха

 
SpikeOne:

Помогите пожалуйста, я правильно понимаю как этот код работает?

я его вставляю в советник в определённое место и он после достижения суммы 715 начинает закрывать все ордера,

только есть одна проблема, в некоторых местах из-за того что вставляю этот код начинается непонятная неразбериха, мб кто подскажет что тут не так:



Установите последний билд в терминал, в нём писать код проще, меньше вероятность ошибок, советую!:)

Поправил ту часть, что прислали сначала, без последней части скобок, которые ни понятно зачем нужны..

if ( AccountProfit()+ AccountBalance()>=715)
   {
   for(int zx=OrdersTotal(); zx+1>=0; zx--)
      {
      if(OrderSelect(zx,SELECT_BY_POS,MODE_TRADES)==true)
      OrderDelete(OrderTicket());
      }
   }
while (OrdersTotal()>0)
   {
   if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
      {
      if(OrderType()==OP_BUY) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
      if(OrderType()==OP_SELL) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
      if (OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP)
      OrderDelete(OrderTicket());
      if(result!=TRUE)
         {
         er=GetLastError();
         Print("LastError = ",er, " ",Symbol());
         }
      else er=0;
      }
   else Print( "Error when order select ", GetLastError());
   }
 

Дорогие товарищи, друзья! Трудно выразить, как я благодарен вам за предыдущую помощь мне в написании советника (в конце 350-х стр. этой темы). Теперь мне снова нужна ваша помощь, надеюсь, вы вновь её окажете.

Итак, мне нужно прописать в советнике следующее:

Советник должен работать на экстремумах EMA. На максимумах ЕМA он должен выставлять отложенный ордер на открытие шорта по цене, равной цене лоя свечи разворота мувинга минус определённый процент от этой цены (например, лой свечи разворота * 0,99) В отложенном ордере также должны быть прописаны стоп-лосс и тейк-профит в процентах от этого самого лоя свечи разворота мувинга. Но это не всё. Также при наличии максимума EMA советник должен выставить стоп-лоссы во всех открытых лонгах по данному активу на той же отметке, на которой должен открыться шорт. Таким образом, при достижении расчётной цены (см. выше) должны быть закрыты имеющиеся лонги (по выставленным ранее советником стоп-лоссам) и открыт шорт.

При минимуме EMA всё наоборот: Имеется свеча, где мувинг развернулся вверх. На следующей свече советник должен начать следить за ценой и когда она превысит отметку: хай свечи разворота + определённый процент (например, хай свечи разворота * 1,01 ), то в существующих открытых шортах должны быть выставлены стоп лоссы по этой цене (хай свечи разворота + определённый %) и должен быть выставлен отложенный ордер на открытие лонга по этой же цене (со стоп-лоссом и тейк-профитом в %-х от хая свечи разворота).

Таким образом, советник при развороте мувинга (имеется ввиду завершённый разворот, то есть разворот на предыдущих двух свечах, текущая свеча в расчёт не идёт, мувинг может разворачиваться на текущем баре, но в итоге не развернуться на нём, эти развороты в течение текущего мувинга, если в итоге закрытия бара разворота нет - в расчёт не идут).

Так вот, при максимуме мувинга советник должен выставлять на определённой (см. выше) отметке стоп-лосс на имеющихся лонгах и выставлять отложенный ордер на открытие шорта по этой же отметке (со стоп-лоссом и тейк-профитом).

При минимуме мувинга всё наоборот - советник выставляет стоп-лосс в открытых шортах на определённой отметке (см. выше) и выставляет отложенный ордер на открытие лонга по этой же отметке (со стоп-лоссом и тейк-профитом).

Таким образом, по советнику не возможно будет выйти в кэш, всегда будем либо в лонге, либо в шорте. При закрытии лонга одновременно открывается шорт и наоборот.

Я пробовал поколдовать над имеющимся у меня рабочим советником (он работает на пересечении двух EMA), модифицировать его нужным образом. Но, ввиду слабых знаний в Cи++ и свойственного мне отвращения к программированию, это не получилось. Вот ссылка на советник, который я пытался модифицировать в нужный мне: https://www.mql5.com/ru/code/8463?source=terminal4_codebase

Я понимаю, что помощь мне требуется большая, задача не из лёгких, поэтому в виде бонуса подарю помогшим мне мои результаты исследований пары BTC/USD (биткойны/доллары) биржи btc-e. Я определил наиболее подходящий мувинг (чтоб поменьше ложных сигналов и вовремя срабатывал на хороших движениях), наилучшие параметры по нему (те самые проценты от хая/лоя свечи разворота), наиболее подходящие тейк-профиты. В эксельке считал сие. Экселька эта - с меня, в виде знака признательности. Может и вам пригодится.

Я не хочу тупо торговать по этому советнику. Он мне нужен, чтобы следил за рынком, когда я за ним не слежу (ибо круглосуточно следить не получается). А когда я у монитора, то торгую по линиям поддержки/сопротивления по определённой методике, но и при этом мне помогает система EMA - для определения точек пробоя уровней, выставления стопов.

Жду помощи в написании советника и на неё уповаю.

 
okidoki543:

Дорогие товарищи, друзья! Трудно выразить, как я благодарен вам за предыдущую помощь мне в написании советника (в конце 350-х стр. этой темы). Теперь мне снова нужна ваша помощь, надеюсь, вы вновь её окажете.

ОгО!?:) Прямо заказ на его написание)
 
okidoki543:

Итак, мне нужно прописать в советнике следующее:

задача вполне выполнимая, в принципе даже не много кода писать то нужно.. было бы время на это..:)
 
Не знаю как нормальную цитату вставить, вставил так, вручную: [quote]задача вполне выполнимая, в принципе даже не много кода писать то нужно.. было бы время на это..:)[/quote] Буду признателен, если поможете.
 
okidoki543:
Не знаю как нормальную цитату вставить, вставил так, вручную: [quote]задача вполне выполнимая, в принципе даже не много кода писать то нужно.. было бы время на это..:)[/quote] Буду признателен, если поможете.


Если получиться, то сегодня накидаю на вскидку кода, не уверен, что будет рабочий, так как я на работе и времени нет писать отлаженную программу.. Но будет отправной точкой наверно)

Но не обещаю.. как обстоятельства сложатся сегодня)

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