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

 

ок. пока )) Тогда тебе лучше бросить пить. ИМХО. Детское время. Шутка. Всё, бай-бай.

 
Здравствуйте. Корзиночный советник, при наступлении условии должен закрыть все ордера, но он сначала закрывает ордер, потом пытается закрыть его снова (сервер выдает ошибку "Неверный тикет") и только потом идет дальше. Вот пример кода и сам советник.
int Answer=0;
    bool Result[14];
    for (int i = OrdersTotal()-1; i>=0; i--){
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
             if (OrderMagicNumber() == Magic){
               if (OrderType()==OP_BUY){
                  if (OrderSymbol() == "USDCAD"){
                    int cnt=0;
                    while(cnt<=5){
                      Result[0]=OrderClose(OrderTicket(),OrderLots(),MarketInfo("USDCAD",MODE_BID),slip,Blue);
                      if(!Result[0]){
                        Answer=ERRORS(GetLastError());
                        if (Answer==1)continue; cnt++;
                        if (Answer==2)break;
                      }
                      if (Result[0])break;
                    }continue;
                 }
                 if (OrderSymbol() == "USDCHF"){
                   int cnt=0;
                    while(cnt<=5){
                      Result[1]=OrderClose(OrderTicket(),OrderLots(),MarketInfo("USDCHF",MODE_BID),slip,Blue);
                      if(!Result[1]){
                        Answer=ERRORS(GetLastError());
                        if (Answer==1)continue; cnt++;
                        if (Answer==2)break;
                      }
                      if (Result[1])break;
                    }continue;
                 }   
Файлы:
 

Добрый день!

Подскажите, пожалуйста - есть ли Вы какой либо индикатор/советник с открытым кодом, который определяет боковые каналы (флэты), причём делает это по свечной конфигурации? Если речь об индикаторе, то предполагается, что он рисует нечто подобное приложенной картинке:


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

 

У меня есть такой. Щас, если найду.

 
FOReignEXchange:

Да, точно. Только что вспомнил, что в некоторых ДЦ сделки открываются только с нулевыми стопами при последущей модификацией.

Спасибо, очень помогли. 

Я всё позабыл, стариком себя чувствую.

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

Отпишусь, как проверю Ваш вариант.


Это особенности исполнения ордеров по рынку (market execution) Особо часто наблюдаются у ECN и STP брокеров. Должен отметить что большинство приличных контор перешли  именно на такую схему работы. Цены Ask и Bid в торговом приказе нужны только тестеру. Грубо говоря если вы  отсылаете ордер, то серверу надо знать пару, направление и объем сделки. Цену открытия определяет брокер. 

В нормальных конторах уровень Стоплевел и ФризЛевел (уровни установки и модификации СЛ и ТП и отложенных ордеров) = 0, поэтому может получится так, что ордер откроется по худьшей цене и закроется по ТП или СЛ. Поэтому уровни СЛ и ТП сервером не принимаются. 

 
yan720:

Добрый день!

Подскажите, пожалуйста - есть ли Вы какой либо индикатор/советник с открытым кодом, который определяет боковые каналы (флэты), причём делает это по свечной конфигурации? Если речь об индикаторе, то предполагается, что он рисует нечто подобное приложенной картинке:

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

Нашёл я этот свой старый код. Какой-то мудрённый алгоритм, пытаюсь в нём разобраться, ибо он что-то не работает. Помню, что работал, а сейчас что-то нет.

 Если интересует, то разберусь в своём коде, найду ошибку.

И второе, это не индикатор, а советник. Принцип стратегии таков: Находится боковой канал на участке определённой длины, сделка открывается на отскок от канала. Стоп маленький, профит на другой стороне канала. Примерно так.

И чертит он только последний найденный канал. Как канал разрушается, ищется другой, а старый стирается. 

Если интересует, то могу на базе этого алгоритма сделать индюка.

 
yan720:

Добрый день!

Подскажите, пожалуйста - есть ли Вы какой либо индикатор/советник с открытым кодом, который определяет боковые каналы (флэты), причём делает это по свечной конфигурации? Если речь об индикаторе, то предполагается, что он рисует нечто подобное приложенной картинке:


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

А что в этом может быть сложного?

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

 
AlexeyVik:
А что в этом может быть сложного?

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

Да, действительно, ничего сложного. Я тоже так и делал.  Просто у меня сова, код захмламлён. Лучше заного всё сделать, чем этот код разбирать.

 
AlexeyVik:
А что в этом может быть сложного?

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

Общая идея, конечно, такая. А как определять ширину канала (дипазон в Вашем случае)? У меня это делается через размер средней свечи плюс это всё завязано на длину канала, поскольку наличие канала проверяется не на жёстком количестве баров, а, например, на длине от 10 до 30 баров.

Меня интересует вопрос именно выбора ширины от длины...

 
FOReignEXchange:

Да, действительно, ничего сложного. Я тоже так и делал.  Просто у меня сова, код захмламлён. Лучше заного всё сделать, чем этот код разбирать.

Спасибо, что откликнулись. Если не сложно, пришлите, плз, советник, о котором Вы говорите (или его кусок, который именно с каналом) - интересно посмотреть другую реализацию.
Причина обращения: