MMGP logo
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 642,426 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение - зарегистрируйтесь прямо сейчас.
Программы для торговли на Форекс и Фондовом рынке: MetaTrader, Metastock и др. Торговые стратегии на базе этих программ (MetaQuotes Language 4 (MQL4). Советники, индикаторы, скрипты и прочие программы для торговли.
Первый пост Опции темы
Старый 21.12.2007, 23:37
#1
Мастер
 
Имя: Дмитрий
Пол: Мужской
Возраст: 36
Адрес: Пермь
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 2,022
Благодарностей: 458
требуется скрипт

нужна помощь...мне нужен скрипт такой..или помошник..вобщем моя ТС предпологает выставление 2х отложенных ордеров в разные стороны(бай стоп и сел стоп) так вот нужно чтобы при исполнении одно из ордеров второй удалялся автоматически..подскажите как это реализовать..
__________________
ещё 500 вёдер и золотой ключик наш!
ХЫШНИК вне форума
Старый 22.12.2007, 09:34
#2
Интересующийся
 
Пол: Мужской
Адрес: Казань
Инвестирую в: Форекс
Регистрация: 01.08.2007
Сообщений: 202
Благодарностей: 36
Интересная идея, а если кто найдётся, то просьба ещё не по 1му в каждую сторону, а по 3 в каждую стоону. Тоже бы пригодились.
Demark вне форума
Старый 22.12.2007, 14:31
#3
 
Имя: Евгений
Пол: Мужской
Регистрация: 06.12.2007
Сообщений: 20,702
Благодарностей: 6,665

награды Волшебный горшочек Ветеран MMGP.RU 
Цитата:
Сообщение от ХЫШНИК Посмотреть сообщение
нужна помощь...мне нужен скрипт такой..или помошник..вобщем моя ТС предпологает выставление 2х отложенных ордеров в разные стороны(бай стоп и сел стоп) так вот нужно чтобы при исполнении одно из ордеров второй удалялся автоматически..подскажите как это реализовать..
Проверь, сейчас быстренько набросал, а проверить негде, выходные, но должно все правильно работать:

Код:
#property copyright "Graf"
#property link      "https://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();
   
  }
//+------------------------------------------------------------------+
Aisller вне форума
Старый 30.12.2007, 22:54
#4
Мастер
 
Имя: Дмитрий
Пол: Мужской
Возраст: 36
Адрес: Пермь
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 2,022
Благодарностей: 458
первый код немножко не работает...

вот рабочая версия..спасибо Graf..
PHP код:
#property copyright "Graf"
#property link      "https://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 cntcol;
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 cntcol;
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))   OrderDeleteOrderTicket(), 0);
   if  ((
OrderSymbol()==Symbol())  && (OrderType()==OP_SELLSTOP))  OrderDeleteOrderTicket(), 0);
   if  ((
OrderSymbol()==Symbol())  && (OrderType()==OP_BUYLIMIT))  OrderDeleteOrderTicket(), 0);
   if  ((
OrderSymbol()==Symbol())  && (OrderType()==OP_SELLLIMIT)) OrderDeleteOrderTicket(), 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);
  }
//+------------------------------------------------------------------+ 
__________________
ещё 500 вёдер и золотой ключик наш!
ХЫШНИК вне форума
Старый 30.12.2007, 23:09
#5
Мастер
 
Имя: Дмитрий
Пол: Мужской
Возраст: 36
Адрес: Пермь
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 2,022
Благодарностей: 458
если кто вдруг не знает как этот код приатачить к терминалу обьясняю..

1 открываем MetaEditor..(в терминале вверху под справкой жёлтый ромб с воскл. знаком)
2 файл-> создать-> советник
3 очистить появившийся шаблон и скопировать туда код...
4 нажать "Компилировать" (тоже вверху..недалеко от справки)
5 перезагрузить терминал..в окне "навигатор" по вкладке советник найти советник и перетащить на граик
6 в появившихся опциях поставить галку в "разрешить советнику торговать"...жмакнуть "ок"..
7 чтобы всё работало должно быть так..см. рисунок..
__________________
ещё 500 вёдер и золотой ключик наш!
ХЫШНИК вне форума
Старый 31.12.2007, 19:45
#6
 
Имя: Евгений
Пол: Мужской
Регистрация: 06.12.2007
Сообщений: 20,702
Благодарностей: 6,665

награды Волшебный горшочек Ветеран MMGP.RU 
Цитата:
вот рабочая версия..спасибо Graf..
Пожайлуста, тут я Aisller, правда.

Если нужен кому еще скрипт, описывайте алгоритм работы, реализуем.
Aisller вне форума
Старый 20.01.2008, 15:03
#7
Интересующийся
 
Пол: Мужской
Инвестирую в: Доверительное управление
Регистрация: 17.10.2007
Сообщений: 150
Благодарностей: 22
Просьба посмотреть возможно ли написать торгового советника по прилагаемому алгоритму??
Вложения
Тип файла: zip Проба.zip (3.6 Кб, 6 просмотров)
dunaef вне форума
Старый 20.01.2008, 16:57
#8
Мастер
 
Имя: Дмитрий
Пол: Мужской
Возраст: 36
Адрес: Пермь
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 2,022
Благодарностей: 458
на сколько я помню зигзаг настраивается ...тоесть пик формируется через определённое количество баров...не плохо было бы эту настройку указать..если я всё правильно понял..
__________________
ещё 500 вёдер и золотой ключик наш!
ХЫШНИК вне форума
Старый 20.01.2008, 19:00
#9
Интересующийся
 
Пол: Мужской
Инвестирую в: Доверительное управление
Регистрация: 17.10.2007
Сообщений: 150
Благодарностей: 22
Предполагаеться использовать базовый zigzag МТ4 с типовыми настройками. Важно попробовать, а в дальнейшем уже подогнать в зависимости от результатов тестирования.
dunaef вне форума
Старый 20.01.2008, 19:44
#10
Мастер
 
Имя: Дмитрий
Пол: Мужской
Возраст: 36
Адрес: Пермь
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 2,022
Благодарностей: 458
ты пробовал в реале торговат по своей ТС?...я посмотрел довольно таки нервно получается..
__________________
ещё 500 вёдер и золотой ключик наш!
ХЫШНИК вне форума
Старый 21.01.2008, 08:17
#11
Интересующийся
 
Пол: Мужской
Инвестирую в: Доверительное управление
Регистрация: 17.10.2007
Сообщений: 150
Благодарностей: 22
Для трейдера данная стратегия не являеться оптимальной по многим причинам, а для мтс для выполнения жесткого алгоритма думаю может приносить прибыль. Вопрос возмется кто нибудь написать советника или нет, может пора искать в другом месте. Да второй индикатор трендовый здесь.
Вложения
Тип файла: zip Stop_reversal.zip (1.1 Кб, 6 просмотров)
dunaef вне форума
Старый 21.01.2008, 21:09
#12
Мастер
 
Имя: Дмитрий
Пол: Мужской
Возраст: 36
Адрес: Пермь
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 2,022
Благодарностей: 458
кинул ссылку на тему человеку, что мне написал скрипт...
__________________
ещё 500 вёдер и золотой ключик наш!

Последний раз редактировалось Aisller; 21.05.2011 в 12:26.
ХЫШНИК вне форума
Войдите, чтобы оставить комментарий.
Быстрый переход