Закрытая тема
21.12.2012, 15:59
Аватар для Rust
Rust Rust вне форума Активный участник
Регистрация: 21.05.2009 / Адрес: Тянь Шань / Сообщений: 14
Поблагодарили 10 раз(а) / Репутация: 10

По умолчанию Уникальная проблема !

Уважаемые профессионалы !
В ветках форумов для начинающих моя просьба больше не рассматривается... Очевидно сложная она все таки для ветки начинающих. Закрывалка всего лишь не закрывает...
Прошу посмотреть на код и если кому ведома наука машинных закрывалок и та ошибка кода(внизу по тексту), которая колебает меня уже около месяца времени,
- растолкуйте пожалуйста что она такое и как с ней общаться ?
Оччень хочется доработать закрывалку до рабочего состояния, чтоб закрывала наконец-то открытые позиции. В отличие от всех других, широко известных рабочих закрывалок в этой только индикатор другой, - индикатор Хала (HMA), - та же Наша "машка".

СПАСИБО !

//+------------------------------------------------------------------+
//| zakrivalka2_buy.mq4 |
//+------------------------------------------------------------------+
extern double Lots = 0.01;
double price,result,COLOR;
int ticket,cnt,MagicNumber = 7;

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

void start()
{
if (!IsTradeAllowed()) Sleep(5000);
RefreshRates();

double val1=iCustom(NULL, 0, "hma",8,3,0,0,0);
double val2=iCustom(NULL, 0, "hma",8,3,0,0,4);

if(val2>val1) Print("красный");
{
for(cnt=0; cnt < OrdersTotal(); cnt++)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == MagicNumber && OrderType()==OP_BUY)
result=OrderClose(OrderTicket(),OrderLots(),Ask,3, Red);
}
if(result!=true)
{
int err=GetLastError();
Print("LastError = ",err);
}
}
}
}

Последний раз редактировалось Rust; 21.12.2012 в 16:11.
21.12.2012, 16:21
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
Уважаемые профессионалы !
В ветках форумов для начинающих моя просьба больше не рассматривается... Очевидно сложная она все таки для ветки начинающих. Закрывалка всего лишь не закрывает...
Прошу посмотреть на код и если кому ведома наука машинных закрывалок и та ошибка кода(внизу по тексту), которая колебает меня уже около месяца времени,
- растолкуйте пожалуйста что она такое и как с ней общаться ?
Оччень хочется доработать закрывалку до рабочего состояния, чтоб закрывала наконец-то открытые позиции. В отличие от всех других, широко известных рабочих закрывалок в этой только индикатор другой, - индикатор Хала (HMA), - та же Наша "машка".

СПАСИБО !


result=OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
да уж. Сам писал? Красное замени на Bid
Сейчас посмотрел твои условия закрытия: Она будет закрывать сразу же твои ордера Независимо от условий. Сделай так:

Скрытый текст

if(val2>val1) {
Print("красный");
for(cnt=0; cnt < OrdersTotal(); cnt++)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == MagicNumber && OrderType()==OP_BUY)
result=OrderClose(OrderTicket(),OrderLots(),Bid,3, Red);
}
if(result!=true)
{
int err=GetLastError();
Print("LastError = ",err);
}
}
}
}
[свернуть]

Последний раз редактировалось alexshell; 21.12.2012 в 16:40.
21.12.2012, 17:19
Аватар для k_34
k_34 k_34 вне форума Новичок форума
Регистрация: 16.01.2011 / Адрес: Екатеринбург / Сообщений: 59
Поблагодарили 7 раз(а) / Репутация: 8
Вопрос такой, иногда происходит проскальзывание на тейк профит, т.е. он не выставляется в сделке, из-за большого потока ордеров в один момент, есть советник который будет мониторить и выставлять фиксированный тейк профит в случае если он не был выставлен?
21.12.2012, 17:33
Аватар для oleglt
oleglt oleglt вне форума Интересующийся
Регистрация: 21.03.2010 / Сообщений: 20
Поблагодарили 2 раз(а) / Репутация: 3
alexshell а почему вы мою просьбу игнорируете?
21.12.2012, 17:52
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
alexshell а почему вы мою просьбу игнорируете?
Еле нашёл. Я не игнорирую. Что могу то делаю. С индюками я вообще плохо дружу. Вот eevviill с отпуска выйдет, может поможет.
21.12.2012, 18:06
Аватар для Rust
Rust Rust вне форума Активный участник
Регистрация: 21.05.2009 / Адрес: Тянь Шань / Сообщений: 14
Поблагодарили 10 раз(а) / Репутация: 10
да уж. Сам писал? Красное замени на Bid
Сейчас посмотрел твои условия закрытия: Она будет закрывать сразу же твои ордера Независимо от условий. Сделай так:

Скрытый текст

if(val2>val1) {
Print("красный");
for(cnt=0; cnt < OrdersTotal(); cnt++)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == MagicNumber && OrderType()==OP_BUY)
result=OrderClose(OrderTicket(),OrderLots(),Bid,3, Red);
}
if(result!=true)
{
int err=GetLastError();
Print("LastError = ",err);
}
}
}
}
[свернуть]
Да, писали вдвоём и вот она какая простая, - но ошибка...
Сейчас поправлю и установлю на тест, результаты сообщю.
СПАСИБО ВАМ !
Удачи и профитов !
21.12.2012, 18:19
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
Вопрос не понятен. Он и так при заданной просадке закроет позиции или при заданном профите.
Да точно както не так
Ну попробую на примере: допустим работает советник (не этот) в 2 окна со своими настройками открывает и закрывает ордера, но как только общая просадка доходит допустим до 50% активируется e-CloseByPercentProfit и он закроет все сразу вместе с терминалом при достижении цели допустим 0 , профит или не большой минус , как задашь в настройках. Мысль такова что бы после просадки советники не ждали профита а закрывались в 0, или минус. Вроде все изложил)
21.12.2012, 21:03
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
Возможно ли что бы этот советник начинал роботать после определенной просадки в процентах или валюте? Если возможно буду очень благодарен)
Везет мне сегодня на советники с ошибкой.
Терминал закрывать не будет. Не знаю как исправить.
Будет просто при определённой просадке активироваться и отслеживать позиции и потом закроет по заданному профиту или убытку.
21.12.2012, 21:08
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
Вопрос такой, иногда происходит проскальзывание на тейк профит, т.е. он не выставляется в сделке, из-за большого потока ордеров в один момент, есть советник который будет мониторить и выставлять фиксированный тейк профит в случае если он не был выставлен?
Наверно где нибудь есть. У меня нет. Обратись в поиск советников. Может кто-нибудь поделится.
21.12.2012, 21:40
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
Везет мне сегодня на советники с ошибкой.
Терминал закрывать не будет. Не знаю как исправить.
Будет просто при определённой просадке активироваться и отслеживать позиции и потом закроет по заданному профиту или убытку.
С закрыванием терминала я вчера разобрался там в инклуд фаил кинуть надо. За работу очень брагодарен!!! Не сочтите за наглость но может вы и тут сможете помоч. Советник ставит стартовую линию и от нее раскидывает сетку, проблема в том что если ордера закрывает не ОН то вся сетка отложенников выставляется от предведущей линии и после хорошего движения это очень не приятно причем эту старт линию даже в ручную не перетянуть, нужно только окна закрывать и открывать новые... Хочелось бы (если возможно) чтоб при закрытии ордеров и удалении отложенников предведущим советником (e-CloseByPercentProfit) отложенники стартовали от текущей цены , а не от той наглой линии) Еще раз БООльшое спасибо!!!
21.12.2012, 22:45
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
Ну или хотя бы чтоб линия обновлялась после закрытия ордеров другим советником.
И еще хотел уточнить , e-CloseByPercentProfit после того как закроет все ордера, будет спать до следующей просадки?
22.12.2012, 06:55
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
Ну или хотя бы чтоб линия обновлялась после закрытия ордеров другим советником.
И еще хотел уточнить , e-CloseByPercentProfit после того как закроет все ордера, будет спать до следующей просадки?
Да он будет ждать новой просадки. Советник посмотрю но ничего не обещаю.
22.12.2012, 08:31
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
Не сочтите за наглость но может вы и тут сможете помоч. Советник ставит стартовую линию и от нее раскидывает сетку, проблема в том что если ордера закрывает не ОН то вся сетка отложенников выставляется от предведущей линии и после хорошего движения это очень не приятно причем эту старт линию даже в ручную не перетянуть, нужно только окна закрывать и открывать новые... Хочелось бы (если возможно) чтоб при закрытии ордеров и удалении отложенников предведущим советником (e-CloseByPercentProfit) отложенники стартовали от текущей цены , а не от той наглой линии) Еще раз БООльшое спасибо!!!
Скиньте файл Orders.csv . Без него не получается запустить.
22.12.2012, 16:56
Аватар для Ted Nikson
Ted Nikson Ted Nikson на форуме Местный житель
Регистрация: 28.11.2009 / Сообщений: 124
Поблагодарили 176 раз(а) / Репутация: 175

По умолчанию Уважаемые программисты помогите плийз

Сообщение от Ted Nikson Здравствуйте eevviil. Вы знаете индикатор HP DIFF (для работы на график нужно прикрыпить два индюка HP и HP DIFF). По просьба другому участника вы уже прикрепили раньше к етому индюка alert. Можно ли сейчась по этому индюку написать простую сову основаную на принципе только открытия позиции в бай или сел при смене цвета? За ранее вырожаю благодарность и огромное спасибо если поможете, а если нет всеравно спасибо за ваш труд до тех пор. [Ted Nikson: Здравствуйте eevviil. Вы знаете индикатор HP DIFF (для работы на график нужно прикрыпить два индюка HP и HP DIFF). По просьба другому участника вы уже прикрепили раньше к етому индюка alert. Можно ли сейчась по этому индюку написать простую сову основаную на принципе только открытия позиции в бай или сел при смене цвета?]

Посмотрите советники iCustom, их куча от v1 до v10. можно любой выбрать, они в свободном доступе.
Спосибо для совет, но не получилось. Наверно проблем в том что индикатор HP_DIFF, по котором надо сделаем експерт, для своя работа ползует другой второй индикатор HP. Я не знаю как с етом справлюс в експерте. Приклепляю еще раз два индикатора и мой експерт i custom, которой не работает (есть две ошибки).
fix 
22.12.2012, 17:11
Аватар для HeadbaY
HeadbaY HeadbaY вне форума Почётный гражданин
Регистрация: 06.09.2012 / Сообщений: 521
Поблагодарили 491 раз(а) / Репутация: 492
Помогите доработать код, точнее закрытие по сигналу. Имеется выдержка из кода рабочей совы>

Скрытый текст


//+------------------------------------------------------------------+
// Если время торговли не истекло и мы не открывали позицию на этом баре:
//+------------------------------------------------------------------+

if(Traiding && timeCheckSignal!=Time[0])

{
//+------------------------------------------------------------------+
// Если сигнал на бай:
//+------------------------------------------------------------------+
if(Signal==1)// buy
{
//Вычисляем стоплосс
if(StopLoss!=0)sl=Bid-StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
if(TakeProfit!=0)tp=Ask+TakeProfit*Point; else tp=0;
//+------------------------------------------------------------------+
//Закрываем противоположную позицию
//+------------------------------------------------------------------+
if(ClosePosifChange)CPD(Symbol(),OP_SELL,Magic);
//+------------------------------------------------------------------+
//Открываем позицию
//+------------------------------------------------------------------+
if((ONlyOnePosbySignal && !EPs(Symbol(),OP_BUY,Magic)) || !ONlyOnePosbySignal)
{
OPs(Symbol(),OP_BUY,GetSizeLot(),sl,tp,Magic,"Templates www.expforex.com");
timeCheckSignal=Time[0];
Nap1=0; Nap2=0;
}

}

//+------------------------------------------------------------------+
// Если сигнал на селл:
//+------------------------------------------------------------------+
if(Signal==2)// селл
{
//Вычисляем стоплосс
if(StopLoss!=0)sl=Ask+StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
if(TakeProfit!=0)tp=Bid-TakeProfit*Point; else tp=0;
//Закрываем противоположную позицию
if(ClosePosifChange)CPD(Symbol(),OP_BUY,Magic);
//+------------------------------------------------------------------+
//Открываем позицию
//+------------------------------------------------------------------+
if((ONlyOnePosbySignal && !EPs(Symbol(),OP_SELL,Magic)) || !ONlyOnePosbySignal)
{
OPs(Symbol(),OP_SELL,GetSizeLot(),sl,tp,Magic,"Templates www.expforex.com");
timeCheckSignal=Time[0];
Nap1=0; Nap2=0;
}

}

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
[свернуть]


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

Последний раз редактировалось HeadbaY; 22.12.2012 в 17:32.
22.12.2012, 18:19
Аватар для HeadbaY
HeadbaY HeadbaY вне форума Почётный гражданин
Регистрация: 06.09.2012 / Сообщений: 521
Поблагодарили 491 раз(а) / Репутация: 492
Сама сова к предыдущему посту. >>>Exp - FiFX System.mq4
22.12.2012, 18:19
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
Скиньте файл Orders.csv . Без него не получается запустить.
Нужно поместить в \tester\files .

Последний раз редактировалось baydin1111; 22.12.2012 в 18:22.
22.12.2012, 18:27
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
Блин чет немогу закинуть
22.12.2012, 18:32
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
Блин чет немогу закинуть
На обменник какой нибудь закинь. Ссылку сюда.
22.12.2012, 18:37
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
На обменник какой нибудь закинь. Ссылку сюда.
http://webfile.ru/6282986
Закрытая тема

Метки
mql программирование, дописать индикатор, дописать эксперт, доработать советник, форекс программирование


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь профессионального программиста в написании МТС индикаторов советников. cmillion Поиск программиста, поиск заказов 96 05.09.2017 08:20
Написание экспертов, индикаторов. Улсуги VPS для ваших советников. RL.Maxim Temp, корзина, реклама 5 31.10.2009 21:55
Написание советников, индикаторов, скриптов для MT4 по Вашему ТЗ Impish Поиск программиста, поиск заказов 0 04.04.2009 21:30


Текущее время: 14:14. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO