Ответ
 
Опции темы
03.06.2015, 15:20
Аватар для MrGreen86
MrGreen86 Местный знаток
Регистрация: 12.01.2012 / Сообщений: 670
Поблагодарили 949 раз(а) / Репутация: 949
  • Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от fxpro 1 Посмотреть сообщение
Уважаемые программисты , помогите пожалуйста с экспертом.Добавить местоположение, размер и цвет,заранее спасибо.
чтобы что-то менять - нужен исходный код - mq4 файл.
если он у вас есть - отправьте, тогда посмотрим.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума Ответить с цитированиемОтветить с цитированием  
03.06.2015, 15:28
Аватар для want a million
want a million Местный житель
Регистрация: 29.03.2013 / Адрес: Калуга / Сообщений: 408
Поблагодарили 275 раз(а) / Репутация: 276
Мистер зелёный,что то не так....... он лупит ордера на каждой новой свече,или ещё как то,но их реально немеренно....)))) ща скрин добавлю
want a million вне форума Ответить с цитированиемОтветить с цитированием  
03.06.2015, 15:32
Аватар для MrGreen86
MrGreen86 Местный знаток
Регистрация: 12.01.2012 / Сообщений: 670
Поблагодарили 949 раз(а) / Репутация: 949
  • Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от Капиталист Посмотреть сообщение
Привет ребятки! прошу помощи кто может подкрутить индикатор чтоб работал на меньших тф там по умолчанию день и час можно переделать чтоб был день и 30, 15, 5 минут?
спасибо!
все несколько сложней. для нижней линии используются данные дня вроде как. а для верхней: если параметр Hours 3 или более - тайм фрейм 15, анализ ведется на 4*Hours свечах
если параметр Hours 2 или меньше - тайм фрейм 5, анализ ведется на 12*Hours свечах.

я все это дело ампутировал и вывел настройки тайм фрейма и количества анализируемых баров в настройки:
extern ENUM_TIMEFRAMES MyLowHigh_TimeFrame = PERIOD_M5;
extern int MyHighLow_Bars = 20;
CurrencyPowerMeter_mod.mq4

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
Jimmylim666 (10.06.2015), Капиталист (03.06.2015)
03.06.2015, 15:34
Аватар для MrGreen86
MrGreen86 Местный знаток
Регистрация: 12.01.2012 / Сообщений: 670
Поблагодарили 949 раз(а) / Репутация: 949
  • Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от want a million Посмотреть сообщение
Мистер зелёный,что то не так....... он лупит ордера на каждой новой свече,или ещё как то,но их реально немеренно....)))) ща скрин добавлю
ну конечно, сигнал есть - открылась сделка, а вы как хотели? )))
сигнал на покупку в вашем советнике:
1) быстрая МА выше медленной МА
2) закрытие свечи выше быстрой МА

сигнал на продажу зеркально:
1) быстрая МА ниже медленной МА
2) закрытие свечи ниже быстрой МА

т.е. как вы видите промежутки где на каждой свече будут сигналы не только возможны - но и преобладают над местами где сигналов нет.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
want a million (03.06.2015)
03.06.2015, 15:38
Аватар для want a million
want a million Местный житель
Регистрация: 29.03.2013 / Адрес: Калуга / Сообщений: 408
Поблагодарили 275 раз(а) / Репутация: 276
вот смотрите,где обвёл...не прерывный сигнал бай,а он шпарит ордера на каждой свече.....а надо,что б открыл по сигналу,если профитнул,то открыл новый,если пошёл в минус и сигнал сменился,а в настройках реверс фальсе,то он бай оставляет висеть,и ещё селл открывает,и так далее....
Миниатюры:
Нажмите на изображение для увеличения
Название: GBPCHFvM15.png
Просмотров: 81
Размер:	44.2 Кб
ID:	208376  
want a million вне форума Ответить с цитированиемОтветить с цитированием  
03.06.2015, 15:40
Аватар для MrGreen86
MrGreen86 Местный знаток
Регистрация: 12.01.2012 / Сообщений: 670
Поблагодарили 949 раз(а) / Репутация: 949
  • Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от 193909 Посмотреть сообщение
Всем добрый день.Можно ли сделать чтобы этот индикатор ставил только одну стрелку на продажу и покупку.
вы имеете ввиду чтобы не было нескольких стрелок подряд с 1 стороны? а было только чередование? сделал
3 MA Cross w_Alert v2 mod.mq4
Нажмите на изображение для увеличения
Название: SNAG_Program-0071.png
Просмотров: 130
Размер:	40.5 Кб
ID:	208377

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
193909 (04.06.2015), Jimmylim666 (10.06.2015)
03.06.2015, 15:41
Аватар для MrGreen86
MrGreen86 Местный знаток
Регистрация: 12.01.2012 / Сообщений: 670
Поблагодарили 949 раз(а) / Репутация: 949
  • Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от want a million Посмотреть сообщение
вот смотрите,где обвёл...не прерывный сигнал бай,а он шпарит ордера на каждой свече.....а надо,что б открыл по сигналу,если профитнул,то открыл новый,если пошёл в минус и сигнал сменился,а в настройках реверс фальсе,то он бай оставляет висеть,и ещё селл открывает,и так далее....
я вам для этого и добавил настройку many_orders
поставьте false и у него будет только 1 бай и 1 селл.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
want a million (03.06.2015)
03.06.2015, 15:50
Аватар для want a million
want a million Местный житель
Регистрация: 29.03.2013 / Адрес: Калуга / Сообщений: 408
Поблагодарили 275 раз(а) / Репутация: 276
Сообщение от MrGreen86 Посмотреть сообщение
я вам для этого и добавил настройку many_orders
поставьте false и у него будет только 1 бай и 1 селл.
опять не так. сейчас сформулирую....всё оставить как в оригинале,только добавить,что бы происходило открытие нового ордера при смене сигнала,не смотря на то,что там уже есть в рынке....сможете?
want a million вне форума Ответить с цитированиемОтветить с цитированием  
03.06.2015, 15:55
Аватар для want a million
want a million Местный житель
Регистрация: 29.03.2013 / Адрес: Калуга / Сообщений: 408
Поблагодарили 275 раз(а) / Репутация: 276
вот смотрите,тут уже есть сигнал селл,но ордер он не открывает,потому что,был открыт до этого,пунктов на 150 ниже...... а надо что бы открывал ещё селл,при новом сигнале.... надеюсь у меня получилось объяснить....спасибо.
Миниатюры:
Нажмите на изображение для увеличения
Название: GBPCHFvM15.png
Просмотров: 80
Размер:	31.2 Кб
ID:	208380  
want a million вне форума Ответить с цитированиемОтветить с цитированием  
03.06.2015, 15:56
Аватар для MrGreen86
MrGreen86 Местный знаток
Регистрация: 12.01.2012 / Сообщений: 670
Поблагодарили 949 раз(а) / Репутация: 949
  • Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от rafkhanov Посмотреть сообщение
просьба доделать индикатор
при появлении окошка (алерта) добавить в текст уровень цены
когда произошел сигнал
или лучше выставлять на график ценовые отметки под цвет столбика внизу, как на рисунке
почту еще могли прикрутить


и в тестере почему-то не выходят окошки, в чем интересно дело...
добавил ценовые метки.
настройки:
AddPriceMark - отображение ценовых меток
PriceMarkSize - размер ценовых меток
Sonic_6 PVA Volumes (White)_mod.mq4

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Jimmylim666 (10.06.2015)
03.06.2015, 16:03
Аватар для MrGreen86
MrGreen86 Местный знаток
Регистрация: 12.01.2012 / Сообщений: 670
Поблагодарили 949 раз(а) / Репутация: 949
  • Отправить сообщение для MrGreen86 с помощью Skype™
Сообщение от want a million Посмотреть сообщение
опять не так. сейчас сформулирую....всё оставить как в оригинале,только добавить,что бы происходило открытие нового ордера при смене сигнала,не смотря на то,что там уже есть в рынке....сможете?
я все могу тут другой нюанс. критерии сигнала таковы что на свече А есть сигнал SELL, на счете B сигнала нет никакого а на свече C снова сигнал SELL, вопрос в том нужен ли вам этот "новый" SELL или вы ждете чередования: бай селл бай селл бай ....

я вам сразу 2 версии запилил чтобы не терять времени,
edit 2 - откроет второй селл по примеру выше
edit 3 - откроет второй селл только после сигнала BUY (чередование)
MAexpEA2_edit2.mq4
MAexpEA2_edit3.mq4

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

MqlLab.ru
MrGreen86 вне форума Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
Jimmylim666 (10.06.2015), kruglev (09.06.2015), want a million (03.06.2015)
03.06.2015, 16:17
Аватар для fxpro 1
fxpro 1 Прохожий
Регистрация: 09.04.2012 / Сообщений: 2
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Сообщение от MrGreen86 Посмотреть сообщение
чтобы что-то менять - нужен исходный код - mq4 файл.
если он у вас есть - отправьте, тогда посмотрим.
Мне жаль, но у меня нет mq4 файл.
fxpro 1 на форуме Ответить с цитированиемОтветить с цитированием  
03.06.2015, 16:22
Аватар для want a million
want a million Местный житель
Регистрация: 29.03.2013 / Адрес: Калуга / Сообщений: 408
Поблагодарили 275 раз(а) / Репутация: 276
Сообщение от MrGreen86 Посмотреть сообщение
я все могу тут другой нюанс. критерии сигнала таковы что на свече А есть сигнал SELL, на счете B сигнала нет никакого а на свече C снова сигнал SELL, вопрос в том нужен ли вам этот "новый" SELL или вы ждете чередования: бай селл бай селл бай ....

я вам сразу 2 версии запилил чтобы не терять времени,
edit 2 - откроет второй селл по примеру выше
edit 3 - откроет второй селл только после сигнала BUY (чередование)
Вложение 208383
Вложение 208384
как же приятно иметь дело с грамотным прогером!!!! именно чередование я и имел в виду!!!! )))))) я к вам в скайп ща добавлюсь,примите данные. в скором будующем нужны будут услуги прогера....не безвозмездно,конечно)))))
want a million вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
MrGreen86 (03.06.2015)
03.06.2015, 16:39
Аватар для rafkhanov
rafkhanov Интересующийся
Регистрация: 26.04.2013 / Сообщений: 13
Поблагодарили 4 раз(а) / Репутация: 5
посмотрите мой пост #2989
rafkhanov вне форума Ответить с цитированиемОтветить с цитированием  
03.06.2015, 17:50
Регистрация: 14.02.2009 / Сообщений: 1,357
Поблагодарили 3,836 раз(а) / Репутация: 3838


Сообщение от MrGreen86 Посмотреть сообщение
я все могу
Cэр, уважьте просьбу

- Доработка ботов (советников, индикаторов) vol. 2

увеличьте в коде размер для картинки бОльшего размера

Последний раз редактировалось поручик; 03.06.2015 в 17:55.
поручик на форуме Ответить с цитированиемОтветить с цитированием  
03.06.2015, 18:55
Аватар для bornikol
bornikol Элитный участник
Регистрация: 29.05.2011 / Сообщений: 646
Поблагодарили 1,412 раз(а) / Репутация: 1452
Сообщение от MrGreen86 Посмотреть сообщение

Вложение 208373
MrGreen86 - большое человеческое спасибо за доделку индикатора DT-ZigZag-Lauer ! Все четко работает. Успехов во всем!!!
bornikol на форуме Ответить с цитированиемОтветить с цитированием  
03.06.2015, 19:17
Аватар для Bseven77
Bseven77 Интересующийся
Регистрация: 09.05.2015 / Сообщений: 3
Поблагодарили 2 раз(а) / Репутация: 3

По умолчанию Помогите доработать советник


Ребята помогите пожалуйста доработать советник по риск менеджменту, чтобы он отключался в заданное время( затем включался на след день) и никак не влиял на открытые позиции и вновь открываемые.
Заранее благодарю!

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

extern double lossperc=10;
int prevVolume=0;
int dVolume=0;
bool is_new_bar=false;
double Daylim=0;
double Daycur=0;
double percent=0;
string tradeallowed;
double AvgLoss=0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+


int OrdersClose() {

int res=0;

for (int i=0; i<OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderType()==OP_BUY) { OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 30); res++; }
if (OrderType()==OP_SELL) { OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 30); res++; }
}

return (res);

}


double GetCumProf(string dat)
{
double TimeStart = StrToTime(dat+" 00:00");
double TimeEnd = StrToTime(dat+" 23:59");
double plus = 0;

for ( int i = 0; i<OrdersHistoryTotal(); i++ )
{
if ( OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) && (OrderType()==OP_SELL || OrderType()==OP_BUY) && (OrderCloseTime()>=TimeStart && OrderCloseTime()<=TimeEnd))
{
plus += OrderProfit() + OrderCommission() + OrderSwap();
}
}

for ( i = 0; i<OrdersTotal(); i++ )
{
if ( OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && (OrderType()==OP_SELL || OrderType()==OP_BUY))
{
plus += OrderProfit() + OrderCommission() + OrderSwap();
}
}
return (plus);

}

double GetAvgLoss()
{




}

int SetPercent()
{
double tm = TimeCurrent();
int day = TimeDay(tm);
int month = TimeMonth(tm);
int year = TimeYear(tm);
double plus=0;

plus = GetCumProf(year+"."+month+"."+day);

Daycur = plus;
Daylim = NormalizeDouble(AccountBalance() * lossperc/100, 2);
double startbalance = AccountBalance() + plus;

percent = NormalizeDouble((plus / startbalance) *100, 2);


if (percent<=lossperc*(-1)) { tradeallowed = "Not Allowed!"; OrdersClose(); }
else tradeallowed = "Allowed";

return (0);
}


int init()
{
//---- indicators
//----

SetPercent();

return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----


if (Volume[0]!=prevVolume) {

dVolume=Volume[0]-prevVolume;

if (dVolume>0) is_new_bar=false;
if (dVolume<0) { is_new_bar=true; dVolume=Volume[0]; }

}
if (is_new_bar) {

}

SetPercent();
ScreenMsg();
//----
prevVolume = Volume[0];
return(0);
}
//+------------------------------------------------------------------+

void ScreenMsg() {
//+--------------------------------------------------------------------------------------------------------------+

Comment(""
+ "-------------------------------------------------------------"
+ "\n"
+ "Day Loss Limit: " + DoubleToString(Daylim, 2) + " ("+DoubleToStr(lossperc, 2)+"%)"
+ "\n"
+ "Day Cum Profit: " + DoubleToString(Daycur, 2) + " ("+DoubleToStr(percent, 2)+"%)"
+ "\n"
+ "Trade: " + tradeallowed
+ "\n"
+ "-------------------------------------------------------------");
[свернуть]

Последний раз редактировалось chocolate; 03.06.2015 в 19:49.
Bseven77 вне форума Ответить с цитированиемОтветить с цитированием  
03.06.2015, 19:59
Аватар для Bseven77
Bseven77 Интересующийся
Регистрация: 09.05.2015 / Сообщений: 3
Поблагодарили 2 раз(а) / Репутация: 3
Сообщение от Bseven77 Посмотреть сообщение
Ребята помогите пожалуйста доработать советник по риск менеджменту, чтобы он отключался в заданное время( затем включался на след день) и никак не влиял на открытые позиции и вновь открываемые.
Заранее благодарю!

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

extern double lossperc=10;
int prevVolume=0;
int dVolume=0;
bool is_new_bar=false;
double Daylim=0;
double Daycur=0;
double percent=0;
string tradeallowed;
double AvgLoss=0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+


int OrdersClose() {

int res=0;

for (int i=0; i<OrdersTotal(); i++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderType()==OP_BUY) { OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 30); res++; }
if (OrderType()==OP_SELL) { OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 30); res++; }
}

return (res);

}


double GetCumProf(string dat)
{
double TimeStart = StrToTime(dat+" 00:00");
double TimeEnd = StrToTime(dat+" 23:59");
double plus = 0;

for ( int i = 0; i<OrdersHistoryTotal(); i++ )
{
if ( OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) && (OrderType()==OP_SELL || OrderType()==OP_BUY) && (OrderCloseTime()>=TimeStart && OrderCloseTime()<=TimeEnd))
{
plus += OrderProfit() + OrderCommission() + OrderSwap();
}
}

for ( i = 0; i<OrdersTotal(); i++ )
{
if ( OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && (OrderType()==OP_SELL || OrderType()==OP_BUY))
{
plus += OrderProfit() + OrderCommission() + OrderSwap();
}
}
return (plus);

}

double GetAvgLoss()
{




}

int SetPercent()
{
double tm = TimeCurrent();
int day = TimeDay(tm);
int month = TimeMonth(tm);
int year = TimeYear(tm);
double plus=0;

plus = GetCumProf(year+"."+month+"."+day);

Daycur = plus;
Daylim = NormalizeDouble(AccountBalance() * lossperc/100, 2);
double startbalance = AccountBalance() + plus;

percent = NormalizeDouble((plus / startbalance) *100, 2);


if (percent<=lossperc*(-1)) { tradeallowed = "Not Allowed!"; OrdersClose(); }
else tradeallowed = "Allowed";

return (0);
}


int init()
{
//---- indicators
//----

SetPercent();

return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----


if (Volume[0]!=prevVolume) {

dVolume=Volume[0]-prevVolume;

if (dVolume>0) is_new_bar=false;
if (dVolume<0) { is_new_bar=true; dVolume=Volume[0]; }

}
if (is_new_bar) {

}

SetPercent();
ScreenMsg();
//----
prevVolume = Volume[0];
return(0);
}
//+------------------------------------------------------------------+

void ScreenMsg() {
//+--------------------------------------------------------------------------------------------------------------+

Comment(""
+ "-------------------------------------------------------------"
+ "\n"
+ "Day Loss Limit: " + DoubleToString(Daylim, 2) + " ("+DoubleToStr(lossperc, 2)+"%)"
+ "\n"
+ "Day Cum Profit: " + DoubleToString(Daycur, 2) + " ("+DoubleToStr(percent, 2)+"%)"
+ "\n"
+ "Trade: " + tradeallowed
+ "\n"
+ "-------------------------------------------------------------");
[свернуть]

Во вложенном файле сам советник
Вложения:
Тип файла: mq4 DayLossBot.mq4 (4.5 Кб, 34 просмотров)
Bseven77 вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Jimmylim666 (10.06.2015)
03.06.2015, 20:52
Аватар для GenkaRak
GenkaRak Почётный гражданин
Регистрация: 07.10.2014 / Адрес: Russia / Сообщений: 524
Поблагодарили 495 раз(а) / Репутация: 496

Программы БОЛЬШАЯ просьба!!!


Доработайте пожалуйста индикатор, что бы показывал сумму профита по бай и селл.
Примерно, как на скрине.
В идеале, мне нужно только инфа: пары и сумма бай и селл.
Очень прошу!

Последний раз редактировалось GenkaRak; 06.06.2015 в 16:05.
GenkaRak на форуме Ответить с цитированиемОтветить с цитированием  
04.06.2015, 05:02
Аватар для Капиталист
Капиталист Активный участник
Регистрация: 30.04.2011 / Сообщений: 118
Поблагодарили 64 раз(а) / Репутация: 65
Сообщение от MrGreen86 Посмотреть сообщение
все несколько сложней. для нижней линии используются данные дня вроде как. а для верхней: если параметр Hours 3 или более - тайм фрейм 15, анализ ведется на 4*Hours свечах
если параметр Hours 2 или меньше - тайм фрейм 5, анализ ведется на 12*Hours свечах.

я все это дело ампутировал и вывел настройки тайм фрейма и количества анализируемых баров в настройки:
extern ENUM_TIMEFRAMES MyLowHigh_TimeFrame = PERIOD_M5;
extern int MyHighLow_Bars = 20;
Вложение 208375
Огромное вам спасибо за работу только вот вопрос,а настройки анализируемых баров. Т.е эти настройки баров какого ТФ?
Спасибо!
Капиталист вне форума Ответить с цитированиемОтветить с цитированием  
Ответ

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


Опции темы

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

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



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


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