Как влияет количество строк не сигнальных на сигнальную часть кода???

 
При добавления Мартина( да и вообще любых строк не сигнальных) , который вроде не должен влиять на сигналы и на исполнение, появляется дополнительная просадка, которой без Мартина не было...где была одна становится две и т.д...не могу въехать что меняется...
 
посмотрите в 258 строчку повнимательней и нам всем сразу станет ясно! 
 
Dmitiry Ananiev:
посмотрите в 258 строчку повнимательней и нам всем сразу станет ясно! 

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

 
Сергей Криушин:

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

Телепаты сегодня отдыхают.

Какой код??? Куда добавляете???

 
Konstantin Nikitin:

Телепаты сегодня отдыхают.

Какой код??? Куда добавляете???

Да, без телепатов тяжело

1. Тест без скажем, без Мартина... идет одна просадка редко две, очень редко...

2. Добавляю код, чтобы эти просадки умножить на "Клот", чтобы убрать  просадку... 

3. При прогоне с Мартином возникают еще просадки +1, которых не было до внесения этого  кода...

4. хотелось бы понять: в чем причина сбоя программы, если сигнальная часть не менялась Т.е. как влияет  на код не сигнальная часть программы....

5. Надеюсь ясно излагаю...))) 

 
Сергей Криушин:

Да, без телепатов тяжело

1. Тест без скажем, без Мартина... идет одна просадка редко две, очень редко...

2. Добавляю код, чтобы эти просадки умножить на "Клот", чтобы убрать  просадку... 

3. При прогоне с Мартином возникают еще просадки +1, которых не было до внесения этого  кода...

4. хотелось бы понять: в чем причина сбоя программы, если сигнальная часть не менялась Т.е. как влияет  на код не сигнальная часть программы....

5. Надеюсь ясно излагаю...))) 

Выше сказали: "Смотрите 258-ую строку". Но мне кажется, что дело еще в 1023-й и 50-ой строках. Там Клот и +1 затаились.

 
Ihor Herasko:

Выше сказали: "Смотрите 258-ую строку". Но мне кажется, что дело еще в 1023-й и 50-ой строках. Там Клот и +1 затаились.

Вам конечно смешно...но мне-то не до смеха, устал с этим бороться, что надо то для понимания... возьмите любой код оптимизируйте до 1-2 просадок, добавьте код с Мартином, замените ваш Lots, m_lot, chec_lot  во всем вашем коде на Volume(); появляется еще+1 просадка...вот хотелось бы понять, может у кого-то еще что-то было подобное... если не у кого не было, то вопрос конечно, риторический... в виртуальное холодное пространство... 

Вот всего лишь добавляю вот этот код, который умножает последнюю просадку...получается сбой программы...

Добавил: а может это специально так задумано... или я Мартина не умею приручить...

//+------------------------------------------------------------------+
//| Считаем лот в зависимости от полученного профита                 |
//+------------------------------------------------------------------+
double Volume(void)
  {
   double lot=Lots;
//--- Получим доступ к истории
   HistorySelect(0,TimeCurrent());
//--- Сделки в истории
   int orders=HistoryDealsTotal();
//--- Тикет последней сделки  
   ulong ticket=HistoryDealGetTicket(orders-1);
   if(ticket==0)
     {
      Print("Нет сделок в истории! ");
      lot=Lots;
     }
//--- Профит сделки
   double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
//--- Лот сделки
   double lastlot=HistoryDealGetDouble(ticket,DEAL_VOLUME);
//--- Профит отрицательный
   if(profit<0.0)
     {
      //--- Увеличиваем следующий лот
      lot=lastlot*KLot;
      Print(" Cделка закрыта по стопу! ");
     }
//--- Приводим лот к минимальному
   double minvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
   if(lot<minvol)
      lot=minvol;
//--- Если лот больше максимального то начальный лот
   if(lot>MaxLot)
      lot=Lots;
//--- Возвращаем торговый объем
   return(lot);
  }
//+------------------------------------------------------------------+
//| Смотрим тип последней закрытой сделки                            |
//+------------------------------------------------------------------+
int LastDealType(void)
  {
   int type=0;
//--- Получим доступ к истории
   HistorySelect(0,TimeCurrent());
//--- Сделки в истории
   int orders=HistoryDealsTotal();
//--- Тикет последней сделки  
   ulong ticket=HistoryDealGetTicket(orders-1);
//--- Нет сделок в истории
   if(ticket==0)
     {
      Print("Нет сделок в истории! ");
      type=0;
     }
   if(ticket>0)
     {
      //--- Последняя сделка BUY 
      if(HistoryDealGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_BUY)
        {
         type=2;
        }
      //--- Последняя сделка SELL
      if(HistoryDealGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_SELL)
        {
         type=1;
        }
     }
//---
   return(type);
  }
 
Сергей Криушин:

Вам конечно смешно...

Тяжело говорить о полотне, смотря на него через замочную скважину. Приложите файлы без Мартина и с Мартином. Возможно, смогут ответить на вопрос. Скорее всего, дело в самой стратегии. Тут вряд ли можно обобщать.

 
Ihor Herasko:

Тяжело говорить о полотне, смотря на него через замочную скважину. Приложите файлы без Мартина и с Мартином. Возможно, смогут ответить на вопрос. Скорее всего, дело в самой стратегии. Тут вряд ли можно обобщать.

Да, говорю же - любая стратегия...не хотелось бы тонкости своей игры открывать, но говорю же это у меня как закономерность уже... стоит подключить Мартина, и все ломается...а жаль, просадки очень редки, от двух подряд то еще легко уйти, а вот выскакивает третья в ряд и и это уже слишком...Но раз не у кого подобного не было, то будем считать вопрос исчерпанным...на нет и суда нет...

 
Сергей Криушин:

Да, говорю же - любая стратегия...

Нет. Не любая. Поэтому и уточняю. Скорее всего, дело в особенностях Ваших стратегий или в Вашей особенности реализации Мартина.

 
Сергей Криушин:
При добавления Мартина( да и вообще любых строк не сигнальных) , который вроде не должен влиять на сигналы и на исполнение, появляется дополнительная просадка, которой без Мартина не было...где была одна становится две и т.д...не могу въехать что меняется...
Надо проанализировать все сделки, выполненные тем и другим кодом. Для этого можно, например, написать скрипт, который парсит файл отчета и выводит на график информацию о судьбе каждого ордера


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