Лента последних комментариев


0
Здравствуйте. ТЗ-это описание стратегии озвученное sergs в самом верху топика.
avatar

ssg

  • 25 июня 2022, 20:46
0
Сергей, здравствуйте. Не понял, правда, о каком ТЗ Вы говорите, но сову гляну. Чуть позже.
avatar

kvashnin007

  • 25 июня 2022, 20:04
0
сову гляну.


Извините, обманул.
Для меня ex.4, что женщина в парандже от пяток до макушки.
Чаще лучше просто губу раскатать, чем увидеть, что там под покровом.
avatar

kvashnin007

  • 25 июня 2022, 19:58
0
Ох, Андрей спасибо еще раз))) уже думал ждать следующего месяца, ибо не хотел наглеть)
Спасибо!!!
avatar

divelse

  • 25 июня 2022, 18:42
0
Данный советник работает строго по ТЗ топикстартера.
От себя добавил некоторые функции и немного расширил функционал.
Подробнее о закрытии ордеров.
После перехода цены с одного уровня на другой нужно высчитать сумму прибылей всех прибыльных ордеров и вычесть из нее убыток самого убыточного ордера в валюте. Если есть несколько убыточных ордеров с одинаковым убытком, то выбирается самый старый. Если результат будет равен или больше, чем значение профита в валюте в настройках, то эти ордера закрываются. Если меньше, то ни один ордер не закрывается.

Доработки:

extern bool   Trade = true;   //использовать автоторговлю

-включение/отключение автоторговли согласно ТЗ. В случае Trade = false;
советник сам позиции не открывает, но отслеживает существующие позиции и
закрывает их согласно ТЗ.
Кроме того при отключении данной функции советник может быть использован как
помощник для закрытия позиций, открытых другим советником.

extern int    Magic        = 0;     //-1 все ордера по символу

-Советник может отслеживать только свои позиции или все позиции, том числе
открытые в ручную или другим советником по данной паре.
В связи с тем, что это облегчённая версия без проверок, использовать можно только или на демосчете или в тестере.
В связи с тем, то советник открывает позиции через шаг, следовательно тестировать нужно только или на минутках или по тикам. Минимальный период доступных данных в тестере это минутки. Даже режим «тики» в тестере — это данные с минутного графика.Поэтому не занимайтесь самообманом тестируя советники в других режимах «по ценам открытия» или тем более «по контрольным точкам»!!!
cloud.mail.ru/public/qg7C/mnqbNjUiZ

avatar

ssg

  • 25 июня 2022, 17:26
0
А вообще, Оксана молодец. Я бы не осилил.
avatar

kvashnin007

  • 25 июня 2022, 15:46
0
Да… работка, я бы сказал, из неблагодарных.
Столько труда.., а новости не фиксируются и анализируются, а используются.
Обычный инструмент для развода лохов.
Из всего этого использовать можно только повышение волатильности рынка.
Предполагать направление можно, но глупо. Его уже давно предположили.
Сегодня новость использовали для повышения, завтра такую же — на понижение.
Ой дурЮт нашего брата.

Не важно куда пойдёт цена и как далеко. Чем дальше тем лучше.
Сначала попробуют вытряхнуть попутчиков, потом пойдут куда им надо.
Наша же задача по максимально выгодной цене войти на почти 100% откате.
Кто-то за ценой откатные стоп-ордера выставляет, кто-то тралит цену.
Кто-то считает, что откат полимпульса. Кто-то говорит 100%.

Вод над чем необходимо озадачиться.

А жадницы, желающие урвать два движения в жаднице и остаются.

avatar

kvashnin007

  • 25 июня 2022, 15:43
0
Но поделилась же.
avatar

kvashnin007

  • 25 июня 2022, 15:22
0
Оксана, а Вы уверены, что эта функция Вам даст последний ордер?

<code>//+------------------------------------------------------------------+
int lastOpenPosition (string sy="0", int mn=-1) 
{
   int i, k=OrdersTotal ();
   int typeOrder = -1;
   
   if (sy=="0") sy=Symbol();
   if (mn==-1)  mn=MagicNumber;
   for (i=k-1; i>=0; i--) {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy && OrderMagicNumber()==mn) {
        typeOrder=OrderType();
        if(typeOrder == OP_BUY || typeOrder == OP_SELL) {
          if(OrderTicket()==lastOpenTicket) { return(-1); }
          else if (OrderTicket()!=lastOpenTicket) {
            lastOpenTicket=OrderTicket();
            return(typeOrder);
          }
        }
      }
    }
   }
   return(-1);
}
//+------------------------------------------------------------------+
</code>

Оно же, но без мусора.

<code>int lastOpenPosition () 
{
   for (int i=OrdersTotal()-1; i>=0; i--) 
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
      if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) 
        if(OrderType() < 2) 
          if (OrderTicket()!=lastOpenTicket)
            { 
            lastOpenTicket=OrderTicket();
            return(OrderType());
            }
   return(-1);
}

</code>


Логичнее было бы Кима не послушать, а перебрать ордера по OrderOpenTime().
И для чего здесь тикет?
avatar

kvashnin007

  • 25 июня 2022, 14:41
+1
поправлю сегодня
avatar

AM2

  • 25 июня 2022, 13:49
0
Должно быть так:
1. Индикатор выводит за ближайшими фракталами над и под ценой по 3 линии.
1я линия — сразу за фракталом, ещё по 2 — с отступами для каждой.

2. 1я линия по каждому направлению автоматически индикатором смещается за новый фрактал.

Но 2 другие линии — НЕ СМЕЩАЮТСЯ. Остаются там, где вывелись 1й раз, или куда были перенесены мышкой.
В т.ч. при смене и возврате ТФ в окне. Эти 2 линии остаются ВСЕГДА на тех ценах, куда выставлены или перенесены.
Смещаются под новые фракталы только ближние к фракталам (1-е) линии.

3. Чтобы перезапускать индикатор для выведения всех линий с настройками по умолч. из параметров,
предлагается (как вариант) сделать функцию: если удалена какая-то из 1х (ближних к фракталам) линий — то индикатор удаляет все остальные и тут же выводит их с отступами по умолчанию. При этом перенос 1х линий допускается без перезапуска инд., и они будут там находиться до появления нового фрактала.

Суть в том, чтобы 1я линия всегда следовала за ближним фракталам.
А по 2 другие можно было перенести на нужные уровни на постоянно,
и по ним отслеживать дистанцию и прибыль/убыток от цены в моменте. Перенося их руками когда и куда надо по ходу.
Например, чтобы оперативно видеть, какая прибыль/просадка в п. и $ будет, если на этих линиях поставить отложку, СЛ, ТП. Когда там будут выводиться данные по примеру из ТЗ.

=====
Как сделать скрин о том, что линии переносятся назад — и не знаю.
Ну, это 3 скрина:
1. — линии выведены по умолч.
2. — 2 и 3 линии перенесены на новое место.
3. 5 сек, или смена-возврат ТФ и… 2 и 3 линии снова на месте с дистанцией по умолч. Т.е. — линии возвращаются всё время на начальное место с отступами по умолч., а не фиксируются на том, куда перенесены (что только и надо — ради этого весь индикатор).
(проверялось на демо счёте)
avatar

preasto

  • 25 июня 2022, 13:48
0
не понял. подробнее и со скринами
avatar

AM2

  • 25 июня 2022, 13:29
0
Андрей, линии индикатора всё время возвращаются на начальное место.
Тогда это становиться безполезным.

Вся суть задачи именно в том, чтобы после их переноса, они оставались на том месте, куда перенесены. И не возвращались на отступы по умолч. из параметров.
В т.ч. при смене ТФ.

Подстраиваться под новые фракталы должны только крайние линии по buy и sell — над и под ценой.
Другие 2 линии всегда должны оставаться там, куда перенесены.
В этом вся суть и задача, как основное. В т.ч. отмечено в ТЗ.

Вопрос восстановления/обновления линий, как возможное, предлагаю решить таким способом:
— при удалении какой-то из 1й(первой) линии идущей по фракталу — удаляются и восстанавливаются все другие линии.

Просьба сделать так. Как и в ТЗ изначально. Чтобы 2 крайние группы линий фиксировались там, куда перенесены, без возврата на отступы по умолчанию.
avatar

preasto

  • 25 июня 2022, 12:20
0
Учитесь пользовать стакан цен. Правда придётся лапками.

Не с того начинаете. Ну или продолжаете не с того.
avatar

kvashnin007

  • 25 июня 2022, 11:52
0
Их не бывает по определению.
Индикаторы просто придают уверенность глупцам и помогают выходить из прострации умникам.
Хотя я немного лукавлю. Они еще незначительно смещают вероятность получения какого-то события. Кто знает теорию вероятности, тот может адекватно использовать такие индюки.
Информационные индюки безвредны.
avatar

kvashnin007

  • 25 июня 2022, 11:45
0
Во блин залез в 19-ый год.
Тогда внук служил, теперь папашка.
avatar

kvashnin007

  • 25 июня 2022, 11:35
0
Вы просто выражаетесь понятно для себя и «понимай как хочешь» — для других.
Если я правильно уяснил Ваши устремления, то тралятся либо покупки либо продажи.
Если цена вышла выше Верхнего БУ + 2 пункта, то закрываем все продажи, а покупки тралим от цены БУ. Ниже нижнего — соответственно.

Подровняйте, если не так.
avatar

kvashnin007

  • 25 июня 2022, 11:19
0
Тралить (следить за...) убыток до момента уменьшения его (вплоть до прибыли) смысл есть всегда. Ну а в данном случае тралится общий профит.
avatar

kvashnin007

  • 25 июня 2022, 11:09
0
//+------------------------------------------------------------------+
//|    Цена последнего открытого ордера                              |
//+------------------------------------------------------------------+
double LastPrice()
{
   double lp=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
           if(OrderType()==OP_BUY || OrderType()==OP_SELL) 
              lp=OrderOpenPrice();
           break;
           }
   return(lp);
}
//+------------------------------------------------------------------+


Андрей, а Вы уверены, что это будет точно последний открытый ордер?
Может правильнее было бы определять по OrderOpenTime()?
avatar

kvashnin007

  • 25 июня 2022, 11:04
0
Сомневаюсь, что нет. Просто глупо.

Полюбопытствуйте kvashnin007.opentraders.ru/74118.html
avatar

kvashnin007

  • 25 июня 2022, 10:32
Начать торговлю с Альпари