Закрытая тема
22.12.2012, 18:45
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
так?
22.12.2012, 19:06
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
Помогите доработать код, точнее закрытие по сигналу. Имеется выдержка из кода рабочей совы>

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


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

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;
}

}

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


Суть данного блока, закрывает открытый/серию открытых ордеров, только в том случае, если поступил сигнал на открытие ордера в противоположную сторону. Но если поступил сигнал на открытие ордера в туже сторону что уже открытый ордер, то открытый ордер не закрывается, а открывается ещё один в туже сторону.
____
Требуется сделать так, что бы он всегда закрывал открытый ордер перед открытием нового, неважно в какую сторону поступил сигнал.
Замени то, что выделил красным цветом на -1. Должен закрывать все позиции.
22.12.2012, 19:08
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
так?
да. Уже скачал. Смотреть буду завтра (поздно уже).
22.12.2012, 19:50
Аватар для HeadbaY
HeadbaY HeadbaY вне форума Почётный гражданин
Регистрация: 06.09.2012 / Сообщений: 521
Поблагодарили 491 раз(а) / Репутация: 492
alexshell Спасибо заработало.
Есть ещё одна живность >>

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



//--------------------------------------------------------------------
extern int period_EMA = 28,
period_WMA = 8 ,
stoploss = 0,
takeprofit = 0;
extern double LOT = 0.1;
extern bool CloseRevers = true;
//--------------------------------------------------------------------
int TimeBar;
//--------------------------------------------------------------------
int start()
{
if (TimeBar==Time[0]) return(0);

double EMA0 = iMA(NULL,0,period_EMA,0,MODE_EMA, PRICE_OPEN,0);
double WMA0 = iMA(NULL,0,period_WMA,0,MODE_LWMA,PRICE_OPEN,0);
double EMA1 = iMA(NULL,0,period_EMA,0,MODE_EMA, PRICE_OPEN,1);
double WMA1 = iMA(NULL,0,period_WMA,0,MODE_LWMA,PRICE_OPEN,1);

double SL,TP;
if (EMA0<WMA0&&EMA1>WMA1)
{
TimeBar=Time[0];
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss*Point,Digits); else SL = 0;
if (CloseRevers) CLOSEORDER(OP_SELL);
OrderSend(Symbol(),OP_BUY, LOT,NormalizeDouble(Ask,Digits),2,SL,TP,"2MA",123,3);
}
if (EMA0>WMA0&&EMA1<WMA1)
{
TimeBar=Time[0];
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Ask + stoploss*Point,Digits); else SL = 0;
if (CloseRevers) CLOSEORDER(OP_BUY);
OrderSend(Symbol(),OP_SELL,LOT,NormalizeDouble(Bid,Digits),2,SL,TP,"2MA",123,3);
}
return(0);
}
//--------------------------------------------------------------------
void CLOSEORDER(int ord)
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol() && OrderMagicNumber()==123)
{
if (OrderType()==OP_BUY && ord==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),3,CLR_NONE);
if (OrderType()==OP_SELL && ord==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,CLR_NONE);
}
}
}
}
//--------------------------------------------------------------------


[свернуть]

Сова банальная по 2МА.
Открывает при пересечении и закрывает тоже при пересечении. Но открывает и закрывает она с запаздыванием примерно 2-3 свечи. если возможно скажите что поменять/дописать в код что бы открытие и закрытие было сразу при пересечении, ну и количество попыток открытия закрытия добавить я думаю?
22.12.2012, 19:50
Аватар для fix
fix fix на форуме Активный участник
Регистрация: 14.07.2012 / Сообщений: 138
Поблагодарили 87 раз(а) / Репутация: 74
Сообщение от Ted Nikson Здравствуйте eevviil. Вы знаете индикатор HP DIFF (для работы на график нужно прикрыпить два индюка HP и HP DIFF). По просьба другому участника вы уже прикрепили раньше к етому индюка alert. Можно ли сейчась по этому индюку написать простую сову основаную на принципе только открытия позиции в бай или сел при смене цвета? За ранее вырожаю благодарность и огромное спасибо если поможете, а если нет всеравно спасибо за ваш труд до тех пор. [Ted Nikson: Здравствуйте eevviil. Вы знаете индикатор HP DIFF (для работы на график нужно прикрыпить два индюка HP и HP DIFF). По просьба другому участника вы уже прикрепили раньше к етому индюка alert. Можно ли сейчась по этому индюку написать простую сову основаную на принципе только открытия позиции в бай или сел при смене цвета?]



Спосибо для совет, но не получилось. Наверно проблем в том что индикатор HP_DIFF, по котором надо сделаем експерт, для своя работа ползует другой второй индикатор HP. Я не знаю как с етом справлюс в експерте. Приклепляю еще раз два индикатора и мой експерт i custom, которой не работает (есть две ошибки).
вставь сет в сова -и вперед!
23.12.2012, 04:59
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
А можно ли добавить в советник фиксацию и размешение на графике максимальной просадки в валюте по обшему счету?
23.12.2012, 05:55
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
А можно ли добавить в советник фиксацию и размешение на графике максимальной просадки в валюте по обшему счету?
Что за фиксацию?
Короче всунул в твой советник эту закрывалку. Теперь если она сработает то удалит линию.Также добавил автоопределение знака. Теперь будет работать и на пятизнаке.
Пробуй. Потом обязательно отпишись как работает.
23.12.2012, 06:19
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
просадки в валюте по обшему счету?
или хотя бы в процентах.
23.12.2012, 09:34
Аватар для Kot Bazilio
Kot Bazilio Kot Bazilio вне форума Прохожий
Регистрация: 18.12.2012 / Сообщений: 1
Поблагодарили 0 раз(а) / Репутация: 1
Други, помогите из одного индюка сделать два, чтобы на Н1 показовал и
дневной и месячный график. А то когда ставлю 2 индюка с разными периодами то показывает или один или второй.
Заранее благлдарен!
23.12.2012, 09:35
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
Что за фиксацию?
ну что бы я подошел к компу и видел какая была максимальная просадка за мое отсуцтвие. Кинь пожалуйста в e-CloseByPercentProfit подвязку к валютной паре, в этом советнике(e-CloseByProfitPosInCurrency) есть такая функция, только если можно что бы в переменной можно было просто ввести валюту,а то тут я не доконца понял.

И СТО раз спасибо тебе
23.12.2012, 09:41
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
Ого настроек впихнул)) а стоп.. так ты 2 в один впихнул?!?!
23.12.2012, 09:51
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
А как инфу в правом верхнем углу левее сдвинуть? а то у меня где то 1/3 только видно.
23.12.2012, 11:00
Аватар для alexshell
alexshell alexshell на форуме Элитный участник
Регистрация: 29.10.2010 / Сообщений: 696
Поблагодарили 1,699 раз(а) / Репутация: 1701
А как инфу в правом верхнем углу левее сдвинуть? а то у меня где то 1/3 только видно.
Сдвинул. Добавил макс.просадку. Будет фиксироваться от открытия до закрытия. При закрытии обнулится. Если инфо опять не влезет перетащи мышкой край окна где обзор рынка влево.
23.12.2012, 11:03
Аватар для sss555
sss555 sss555 вне форума Новичок форума
Регистрация: 13.11.2010 / Сообщений: 11
Поблагодарили 4 раз(а) / Репутация: 5
Сама сова к предыдущему посту. >>>Вложение 99654
и что там переделано не понял???
23.12.2012, 11:07
Аватар для HeadbaY
HeadbaY HeadbaY вне форума Почётный гражданин
Регистрация: 06.09.2012 / Сообщений: 521
Поблагодарили 491 раз(а) / Репутация: 492
и что там переделано не понял???
В том сове ничего. С чего вы взяли что в ней что то переделано?
Вообщето я просил что бы помогли доработать и если вы внимательнее прочитаете чуть ниже увидите что всё сделал так как хотел с помощью Алексшела.
23.12.2012, 11:11
Аватар для sss555
sss555 sss555 вне форума Новичок форума
Регистрация: 13.11.2010 / Сообщений: 11
Поблагодарили 4 раз(а) / Репутация: 5
В том сове ничего. С чего вы взяли что в ней что то переделано?
ну понятно незнаю че то просто подумал что кто то сделал что я просил..ну а можно то все же сделать как просил -хотя бы один индюк MBFX из кода убрать а оставить другой.....
23.12.2012, 11:17
Аватар для sss555
sss555 sss555 вне форума Новичок форума
Регистрация: 13.11.2010 / Сообщений: 11
Поблагодарили 4 раз(а) / Репутация: 5
Вообщето я просил что бы помогли доработать и если вы внимательнее прочитаете чуть ниже увидите что всё сделал так как хотел с помощью Алексшела.[/QUOTE]
чего то не врубаюсь где сова то переделанная-скиньте то хоть ссылку плиз..
23.12.2012, 11:41
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
потестирую отпишусь!
23.12.2012, 12:27
Аватар для baydin1111
baydin1111 baydin1111 вне форума Новичок форума
Регистрация: 03.10.2012 / Сообщений: 41
Поблагодарили 4 раз(а) / Репутация: 5
Эммм.. получается вести позиции он начинает правильно после просадки которую укажеш, но размер профита копируется с предведущей строки, и нельзя ли что бы просадка не обнулялась?
23.12.2012, 12:28
Аватар для BQMan
BQMan BQMan вне форума Активный участник
Регистрация: 30.08.2011 / Сообщений: 187
Поблагодарили 76 раз(а) / Репутация: 77
http://forexsystemsru.com/sovetniki/...nik-mark1.html
можете какой нибудь другой трендовый индикатор прикрепить?

P.S. кто может помочь с оптимизацией , может даже за плату
Закрытая тема

Метки
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


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


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