• Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

требуется скрипт

ХЫШНИК

МАСТЕР
Регистрация
18.05.2007
Сообщения
1,642
Реакции
22
Поинты
0.000
нужна помощь...мне нужен скрипт такой..или помошник..вобщем моя ТС предпологает выставление 2х отложенных ордеров в разные стороны(бай стоп и сел стоп) так вот нужно чтобы при исполнении одно из ордеров второй удалялся автоматически..подскажите как это реализовать..
 

Demark

Интересующийся
Регистрация
02.08.2007
Сообщения
165
Реакции
5
Поинты
0.000
Интересная идея, а если кто найдётся, то просьба ещё не по 1му в каждую сторону, а по 3 в каждую стоону. Тоже бы пригодились.
 

Aisller

Главный модератор
Команда форума
Администратор
Главный модератор
Регистрация
07.12.2007
Сообщения
23,433
Реакции
5,466
Поинты
0.184
нужна помощь...мне нужен скрипт такой..или помошник..вобщем моя ТС предпологает выставление 2х отложенных ордеров в разные стороны(бай стоп и сел стоп) так вот нужно чтобы при исполнении одно из ордеров второй удалялся автоматически..подскажите как это реализовать..

Проверь, сейчас быстренько набросал, а проверить негде, выходные, но должно все правильно работать:

Код:
#property copyright "Graf"
#property link      "http://www.pro-fx.biz"


int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }


//Кол-во отложенных на Бай
int ordercountBUY()
{
string To,Tn;
int cnt,col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   To = OrderSymbol();
   if ((To==Symbol())  && (OrderType()==OP_BUYSTOP))  col=col+1;
   }
return(col);
}

//Кол-во отложенных на Селл
int ordercountSELL()
{
string To,Tn;
int cnt, col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   To = OrderSymbol();
   if ((To==Symbol())  && (OrderType()==OP_SELLSTOP))  col=col+1;
   }
return(col);
}

// -------------------------------  Кол-во открытых на бай
int countBUY()
{
string To;
int cnt,col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,0);
   To = OrderSymbol();
   if ((To==Symbol())  && (OrderType()==OP_BUY))  col=col+1;
   }
return(col);
}

// -----------------------------   Кол-во открытых на Селл
int countSELL()
{
string To,Tn;
int cnt, col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   To = OrderSymbol();
   if ((To==Symbol())  && (OrderType()==OP_SELL))  col=col+1;
   }
return(col);
}



//Отмена отложенных
int CloseAll()
{
int cnt;
bool n3,n4,rez;
rez=true;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   if  ((OrderSymbol()==Symbol())  && (OrderType()==OP_BUYSTOP))  n3=OrderDelete( OrderTicket(), 0);
   if  ((OrderSymbol()==Symbol())  && (OrderType()==OP_SELLSTOP)) n4=OrderDelete( OrderTicket(), 0);
   }
return(rez);
}



int start()
  {
   return(0);
   if ((countSELL()==1) && (ordercountBUY()==1)) CloseAll();
   if ((ordercountSELL()==1) && (countBUY()==1)) CloseAll();
   
  }
//+------------------------------------------------------------------+
 

ХЫШНИК

МАСТЕР
Регистрация
18.05.2007
Сообщения
1,642
Реакции
22
Поинты
0.000
первый код немножко не работает...

вот рабочая версия..спасибо Graf..
PHP:
#property copyright "Graf"
#property link      "http://www.pro-fx.biz"


int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }


//Кол-во отложенных на Бай
int ordercountBUY()
{
string To,Tn;
int cnt,col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   To = OrderSymbol();
   if ((To==Symbol())  && ((OrderType()==OP_BUYSTOP) || (OrderType()==OP_BUYLIMIT)))  col=col+1;
   }
return(col);
}

//Кол-во отложенных на Селл
int ordercountSELL()
{
string To,Tn;
int cnt, col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   To = OrderSymbol();
   if ((To==Symbol())  && ((OrderType()==OP_SELLSTOP) || (OrderType()==OP_SELLLIMIT)))  col=col+1;
   }
return(col);
}

// -------------------------------  Кол-во открытых на бай
int countBUY()
{
string To;
int cnt,col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,0);
   To = OrderSymbol();
   if ((To==Symbol())  && (OrderType()==OP_BUY))  col=col+1;
   }
return(col);
}

// -----------------------------   Кол-во открытых на Селл
int countSELL()
{
string To,Tn;
int cnt, col;
col=0;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   To = OrderSymbol();
   if ((To==Symbol())  && (OrderType()==OP_SELL))  col=col+1;
   }
return(col);
}



//Отмена отложенных
int CloseAll()
{
int cnt;
bool n3,n4,rez;
rez=true;
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   if  ((OrderSymbol()==Symbol())  && (OrderType()==OP_BUYSTOP))   OrderDelete( OrderTicket(), 0);
   if  ((OrderSymbol()==Symbol())  && (OrderType()==OP_SELLSTOP))  OrderDelete( OrderTicket(), 0);
   if  ((OrderSymbol()==Symbol())  && (OrderType()==OP_BUYLIMIT))  OrderDelete( OrderTicket(), 0);
   if  ((OrderSymbol()==Symbol())  && (OrderType()==OP_SELLLIMIT)) OrderDelete( OrderTicket(), 0);
   }
return(rez);
}

//Возвращает общий профит
double AllProfit()
{
string To;
int cnt;
double prof=0; 
for (cnt=OrdersTotal()-1;cnt>=0;cnt--)
   {
   OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
   To = OrderSymbol();
   if ( (To==Symbol())  && (OrderType()==OP_SELL) )  prof=prof+OrderProfit()+OrderSwap();
   if ( (To==Symbol())  && (OrderType()==OP_BUY)  )  prof=prof+OrderProfit()+OrderSwap();
   }
return(prof);
}


int start()
  {
   
   if ( (countSELL()==1) && (ordercountBUY()==1) ) CloseAll();
   if ( (ordercountSELL()==1) && (countBUY()==1) ) CloseAll();
   
   
   Comment("BUY  = "+countBUY()+"n"+"SELL = "+countSELL()+"n"+
           "BUY LIMIT  = "+ordercountBUY()+"n"+"SELL LIMIT = "+ordercountSELL()+"n"+Symbol()+" = "+AllProfit());
   return(0);
  }
//+------------------------------------------------------------------+
 

ХЫШНИК

МАСТЕР
Регистрация
18.05.2007
Сообщения
1,642
Реакции
22
Поинты
0.000
если кто вдруг не знает как этот код приатачить к терминалу обьясняю..

1 открываем MetaEditor..(в терминале вверху под справкой жёлтый ромб с воскл. знаком)
2 файл-> создать-> советник
3 очистить появившийся шаблон и скопировать туда код...
4 нажать "Компилировать" (тоже вверху..недалеко от справки)
5 перезагрузить терминал..в окне "навигатор" по вкладке советник найти советник и перетащить на граик
6 в появившихся опциях поставить галку в "разрешить советнику торговать"...жмакнуть "ок"..
7 чтобы всё работало должно быть так..см. рисунок..
 

Aisller

Главный модератор
Команда форума
Администратор
Главный модератор
Регистрация
07.12.2007
Сообщения
23,433
Реакции
5,466
Поинты
0.184
вот рабочая версия..спасибо Graf..

Пожайлуста, тут я Aisller, правда.

Если нужен кому еще скрипт, описывайте алгоритм работы, реализуем. :d-thumbup:
 

dunaef

Интересующийся
Регистрация
18.10.2007
Сообщения
119
Реакции
0
Поинты
0.000
Просьба посмотреть возможно ли написать торгового советника по прилагаемому алгоритму??
 

Вложения

  • Проба.zip
    3.6 KB · Просмотры: 34

ХЫШНИК

МАСТЕР
Регистрация
18.05.2007
Сообщения
1,642
Реакции
22
Поинты
0.000
на сколько я помню зигзаг настраивается ...тоесть пик формируется через определённое количество баров...не плохо было бы эту настройку указать..если я всё правильно понял..
 

dunaef

Интересующийся
Регистрация
18.10.2007
Сообщения
119
Реакции
0
Поинты
0.000
Предполагаеться использовать базовый zigzag МТ4 с типовыми настройками. Важно попробовать, а в дальнейшем уже подогнать в зависимости от результатов тестирования.
 

ХЫШНИК

МАСТЕР
Регистрация
18.05.2007
Сообщения
1,642
Реакции
22
Поинты
0.000
ты пробовал в реале торговат по своей ТС?...я посмотрел довольно таки нервно получается..
 

dunaef

Интересующийся
Регистрация
18.10.2007
Сообщения
119
Реакции
0
Поинты
0.000
Для трейдера данная стратегия не являеться оптимальной по многим причинам, а для мтс для выполнения жесткого алгоритма думаю может приносить прибыль. Вопрос возмется кто нибудь написать советника или нет, может пора искать в другом месте. Да второй индикатор трендовый здесь.
 

Вложения

  • Stop_reversal.zip
    1.1 KB · Просмотры: 41

ХЫШНИК

МАСТЕР
Регистрация
18.05.2007
Сообщения
1,642
Реакции
22
Поинты
0.000
кинул ссылку на тему человеку, что мне написал скрипт...
 
Последнее редактирование модератором:
Сверху Снизу