Ответ
 
Опции темы
Старый 21.01.2015, 16:39   #1261 (permalink)
 
Аватар для Casper4
 
Регистрация: 08.10.2011
Сообщений: 595
Репутация: 2546
Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4
Сказал(а) спасибо: 1,818
Поблагодарили 2,542 раз(а) в 374 сообщениях
Поинты: 217
Привет Mobidik.
Помоги пожалуйста изменить отображение индикатора(квадратики переделать в палочки,в обычную гистограмму)
На некоторых похожих сам делал,вставляя "DRAW_HISTOGRAM" вместо написанного(конечно наобум практически).Здесь же куча ошибок повылазило).
Индикатор в MQ4 выложу,чтобы в код можно было попасть.Но на графике он не отображается).Я его в редакторе от старого билда компилировал,чтобы в новом отображался.
Сделай пожалуйста в MQ4,а для нового я сам переделаю.
Заранее большое спасибо.
Миниатюры:
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 94
Размер:	81.4 Кб
ID:	193253  
Вложения:
Тип файла: mq4 #Web_TrendZoom_mod.mq4 (3.9 Кб, 50 просмотров)
Casper4 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 17:00   #1262 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от Casper4 Посмотреть сообщение
Привет Mobidik.
Помоги пожалуйста изменить отображение индикатора(квадратики переделать в палочки,в обычную гистограмму)
На некоторых похожих сам делал,вставляя "DRAW_HISTOGRAM" вместо написанного(конечно наобум практически).Здесь же куча ошибок повылазило).
Индикатор в MQ4 выложу,чтобы в код можно было попасть.Но на графике он не отображается).Я его в редакторе от старого билда компилировал,чтобы в новом отображался.
Сделай пожалуйста в MQ4,а для нового я сам переделаю.
Заранее большое спасибо.
Держи, но я не Mobidik. Уже в новом формате.
Вложения:
Тип файла: mq4 #Web_TrendZoom_mod.mq4 (3.8 Кб, 107 просмотров)
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
5 пользователя(ей) сказали cпасибо:
Casper4 (21.01.2015), deepak (15.12.2015), DomovenokBrest (21.01.2015), Lexxodessa (21.01.2015), Sapper (25.01.2015)
Старый 21.01.2015, 17:02   #1263 (permalink)
Элитный участник
 
Аватар для borobor
 
Регистрация: 03.05.2009
Адрес: новосибирск
Сообщений: 928
Репутация: 1562
borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor
Сказал(а) спасибо: 107
Поблагодарили 1,551 раз(а) в 549 сообщениях
Поинты: 54
Сообщение от Casper4 Посмотреть сообщение
Привет Mobidik.
Помоги пожалуйста изменить отображение индикатора(квадратики переделать в палочки,в обычную гистограмму)
На некоторых похожих сам делал,вставляя "DRAW_HISTOGRAM" вместо написанного(конечно наобум практически).Здесь же куча ошибок повылазило).
Индикатор в MQ4 выложу,чтобы в код можно было попасть.Но на графике он не отображается).Я его в редакторе от старого билда компилировал,чтобы в новом отображался.
Сделай пожалуйста в MQ4,а для нового я сам переделаю.
Заранее большое спасибо.
точки удали и вставь "DRAW_HISTOGRAM"
borobor на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Casper4 (21.01.2015)
Старый 21.01.2015, 17:38   #1264 (permalink)
Активный участник
 
Аватар для kirko23
 
Регистрация: 02.07.2013
Сообщений: 303
Репутация: 140
kirko23 kirko23
Сказал(а) спасибо: 150
Поблагодарили 139 раз(а) в 56 сообщениях
Поинты: 32
Сообщение от Casper4 Посмотреть сообщение
Привет Mobidik.
Помоги пожалуйста изменить отображение индикатора(квадратики переделать в палочки,в обычную гистограмму)
На некоторых похожих сам делал,вставляя "DRAW_HISTOGRAM" вместо написанного(конечно наобум практически).Здесь же куча ошибок повылазило).
Индикатор в MQ4 выложу,чтобы в код можно было попасть.Но на графике он не отображается).Я его в редакторе от старого билда компилировал,чтобы в новом отображался.
Сделай пожалуйста в MQ4,а для нового я сам переделаю.
Заранее большое спасибо.
Подскажите пожалуйста закрытый бар перирисовывает или нет???
kirko23 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 17:45   #1265 (permalink)
Интересующийся
 
Аватар для gia444
 
Регистрация: 07.09.2014
Сообщений: 8
Репутация: -1
gia444
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 10
Ребята помогите кто может - что в этом коде советника нужно менять чтобы шаг между орденами изменить? какой параметр ? я сам так и не нашёл .... он слишком близко друг к другу открывает ордера.....

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

extern int Key = 0;
extern double Lots = 1.0;
double gd_88;
double gd_96 = 0.0;
double gd_104 = 24.0;
double gd_112 = 0.0;
double gd_120 = 24.0;
extern double TakeProfit = 35.0;
extern double StopLoss = 1000.0;
bool gi_144 = FALSE;
bool gi_148 = FALSE;
double gd_152 = 10.0;
bool gi_160 = TRUE;
bool gi_164 = TRUE;
bool gi_168 = TRUE;
bool gi_172 = TRUE;
bool gi_176 = TRUE;
bool gi_180 = TRUE;
bool gi_184 = TRUE;
int g_magic_188 = 1841;
bool gi_192 = FALSE;
bool gi_196 = FALSE;
bool gi_200 = FALSE;
double g_lots_204 = 0.0;
double gd_unused_212 = 22.0;
double gd_220 = 20.0;
double gd_228 = 22.0;
double gd_236 = 20.0;
double gd_244 = 22.0;
double gd_252 = 20.0;
double gd_260 = 22.0;
double gd_268 = 20.0;
double gd_276 = 22.0;
double gd_284 = 20.0;
double gd_292 = 22.0;
double gd_300 = 20.0;
double gd_308 = 22.0;
double gd_316 = 20.0;
double gd_324 = 22.0;
double gd_332 = 20.0;
double gd_340 = 22.0;
double gd_348 = 20.0;
double gd_356 = 22.0;
double gd_364 = 22.0;
bool gi_372 = FALSE;

int f0_0() {
bool li_ret_0 = FALSE;
for (int pos_4 = 0; pos_4 < OrdersTotal(); pos_4++) {
if (OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES) == FALSE) break;
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) li_ret_0 = li_ret_0 + OrderProfit() + OrderSwap() + OrderCommission();
}
return (li_ret_0);
}

int f0_1() {
bool li_ret_0 = FALSE;
for (int pos_4 = 0; pos_4 < OrdersTotal(); pos_4++) {
if (OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES) == FALSE) break;
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) li_ret_0 = li_ret_0 + OrderProfit() + OrderSwap() + OrderCommission();
}
return (li_ret_0);
}

double f0_5(int ai_0, int ai_4) {
int year_8;
int month_12;
int day_16;
int datetime_20;
int hist_total_24 = OrdersHistoryTotal();
double ld_ret_28 = 0;
for (int pos_36 = 0; pos_36 < hist_total_24; pos_36++) {
OrderSelect(pos_36, SELECT_BY_POS, MODE_HISTORY);
datetime_20 = OrderCloseTime();
year_8 = TimeYear(datetime_20);
month_12 = TimeMonth(datetime_20);
day_16 = TimeDay(datetime_20);
if (year_8 == Year() && month_12 == Month() && day_16 == Day() - ai_4 && OrderMagicNumber() == g_magic_188) {
if (ai_0 == 1)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_28 = ld_ret_28 + OrderProfit() + OrderSwap() + OrderCommission();
}
}
return (ld_ret_28);
}

int init() {
string ls_0;
string ls_8;
string ls_unused_16;
gd_88 = 100.0 * Lots;

if (gi_200) g_lots_204 = 100000.0 * Lots;
else g_lots_204 = Lots;
return (0);
}

int start() {
double price_0;
double price_8;
double price_16;
double price_24;
double price_32;
double lots_40;
double pips_48;
double pips_56;
if (!f0_2()) return (0);
double ld_64 = (iHigh(NULL, PERIOD_H1, 1) - iLow(NULL, PERIOD_H1, 1)) / Point;
int ticket_72 = 0;
int ticket_76 = 0;
int ticket_80 = 0;
int ticket_84 = 0;
int ticket_88 = 0;
int ticket_92 = 0;
double order_lots_96 = 0;
double order_lots_104 = 0;
double order_open_price_112 = 0;
double order_open_price_120 = 0;
double ld_128 = 0;
double ld_136 = 0;
double ld_unused_144 = 0;
double order_lots_152 = 0;
double ld_unused_160 = 0;
double order_lots_168 = 0;
double ld_176 = 0;
double ld_184 = 0;
gi_196 = FALSE;
if (gi_144 == TRUE) {
switch (DayOfWeek()) {
case 0:
if (gi_160 != TRUE) break;
gi_196 = TRUE;
break;
case 1:
if (gi_164 != TRUE) break;
gi_196 = TRUE;
break;
case 2:
if (gi_168 != TRUE) break;
gi_196 = TRUE;
break;
case 3:
if (gi_172 != TRUE) break;
gi_196 = TRUE;
break;
case 4:
if (gi_176 != TRUE) break;
gi_196 = TRUE;
break;
case 5:
if (gi_180 != TRUE) break;
gi_196 = TRUE;
break;
case 6:
if (gi_184 != TRUE) break;
gi_196 = TRUE;
}
} else gi_196 = TRUE;
for (int pos_196 = 0; pos_196 < OrdersTotal(); pos_196++) {
OrderSelect(pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) {
if (OrderType() == OP_BUY && ticket_72 < OrderTicket()) {
order_lots_96 = OrderLots();
order_open_price_112 = OrderOpenPrice();
ticket_72 = OrderTicket();
ld_136 = OrderTakeProfit();
if (OrderLots() == g_lots_204) ld_176 = OrderOpenPrice() - StopLoss * Point;
}
if (OrderType() == OP_SELL && ticket_76 < OrderTicket()) {
order_lots_104 = OrderLots();
order_open_price_120 = OrderOpenPrice();
ticket_76 = OrderTicket();
ld_128 = OrderTakeProfit();
if (OrderLots() == g_lots_204) ld_184 = OrderOpenPrice() + StopLoss * Point;
}
if (OrderType() == OP_BUYLIMIT) {
ticket_80 = OrderTicket();
order_lots_168 = OrderLots();
}
if (OrderType() == OP_SELLLIMIT) {
ticket_84 = OrderTicket();
order_lots_168 = OrderLots();
}
if (OrderType() == OP_BUYSTOP) {
ticket_88 = OrderTicket();
order_lots_152 = OrderLots();
}
if (OrderType() == OP_SELLSTOP) {
ticket_92 = OrderTicket();
order_lots_152 = OrderLots();
}
}
}
int li_200 = f0_0() / (AccountBalance() / 100.0);
int li_204 = f0_1() / (AccountBalance() / 100.0);
int li_unused_208 = (f0_1() + f0_0()) / (AccountBalance() / 100.0);
if (li_200 < (-1.0 * gd_152) && gi_148 == TRUE) {
for (int pos_212 = OrdersTotal() - 1; pos_212 >= 0; pos_212--) {
if (!(OrderSelect(pos_212, SELECT_BY_POS, MODE_TRADES))) break;
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 2);
if (OrderType() == OP_BUYSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderDelete(OrderTicket());
if (OrderType() == OP_BUYLIMIT && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderDelete(OrderTicket());
}
}
if (li_204 < (-1.0 * gd_152) && gi_148 == TRUE) {
for (int pos_216 = OrdersTotal() - 1; pos_216 >= 0; pos_216--) {
if (!(OrderSelect(pos_216, SELECT_BY_POS, MODE_TRADES))) break;
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 2);
if (OrderType() == OP_SELLSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderDelete(OrderTicket());
if (OrderType() == OP_SELLLIMIT && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderDelete(OrderTicket());
}
}
int li_unused_220 = MarketInfo(Symbol(), MODE_SPREAD);
int li_unused_224 = MarketInfo(Symbol(), MODE_POINT);
int li_unused_228 = MarketInfo(Symbol(), MODE_DIGITS);
int li_unused_232 = MarketInfo(Symbol(), MODE_TICKVALUE);
if (ticket_72 == 0 && gi_196) {
if (ticket_80 != 0) OrderDelete(ticket_80);
if (ticket_88 != 0) OrderDelete(ticket_88);
price_16 = Ask - StopLoss * Point;
if (StopLoss <= 0.0) price_16 = 0;
price_32 = Ask + TakeProfit * Point;
if ((TimeHour(TimeCurrent()) >= gd_96 && TimeHour(TimeCurrent()) < gd_104) || (TimeHour(TimeCurrent()) >= gd_112 && TimeHour(TimeCurrent()) < gd_120)) OrderSend(Symbol(), OP_BUY, g_lots_204, Ask, 3, price_16, price_32, "Magic" + g_magic_188, g_magic_188, 0, Blue);
}
if (ticket_76 == 0 && gi_196) {
if (ticket_84 != 0) OrderDelete(ticket_84);
if (ticket_92 != 0) OrderDelete(ticket_92);
price_8 = Bid + StopLoss * Point;
if (StopLoss <= 0.0) price_8 = 0;
price_24 = Bid - TakeProfit * Point;
if ((TimeHour(TimeCurrent()) >= gd_96 && TimeHour(TimeCurrent()) < gd_104) || (TimeHour(TimeCurrent()) >= gd_112 && TimeHour(TimeCurrent()) < gd_120)) OrderSend(Symbol(), OP_SELL, g_lots_204, Bid, 3, price_8, price_24, "Magic" + g_magic_188, g_magic_188, 0, Red);
}
if (ticket_72 != 0 && ticket_80 == 0) {
pips_56 = f0_3(order_lots_96);
pips_48 = f0_4(order_lots_96);
price_0 = order_open_price_112 - pips_56 * Point;
if (gi_192 == FALSE) price_16 = price_0 - StopLoss * Point;
else price_16 = ld_176;
if (StopLoss <= 0.0) price_16 = 0;
price_32 = price_0 + pips_48 * Point;
lots_40 = NormalizeDouble(2.0 * order_lots_96, pips_48);
if (gi_196 && lots_40 < gd_88) OrderSend(Symbol(), OP_BUYLIMIT, lots_40, price_0, 3, price_16, price_32, "Magic" + g_magic_188, g_magic_188, 0, Blue);
}
if (ticket_76 != 0 && ticket_84 == 0) {
pips_56 = f0_3(order_lots_104);
pips_48 = f0_4(order_lots_104);
price_0 = order_open_price_120 + pips_56 * Point;
if (gi_192 == FALSE) price_8 = price_0 + StopLoss * Point;
else price_8 = ld_184;
if (StopLoss <= 0.0) price_8 = 0;
price_24 = price_0 - pips_48 * Point;
lots_40 = NormalizeDouble(2.0 * order_lots_104, pips_48);
if (gi_196 && lots_40 < gd_88) OrderSend(Symbol(), OP_SELLLIMIT, lots_40, price_0, 3, price_8, price_24, "Magic" + g_magic_188, g_magic_188, 0, Red);
}
Comment("\nЛицензия - OK! ProfitMakerPro запущен на ", AccountNumber(),
"\n",
"\n", " Прибыль за сегодня = ", NormalizeDouble(f0_5(1, 0), 2), " $ ",
"\n", " Прибыль за вчера = ", NormalizeDouble(f0_5(1, 1), 2), " $ ",
"\n", " Текущий баланс = ", AccountBalance(), " $ ");
for (pos_196 = 0; pos_196 < OrdersTotal(); pos_196++) {
OrderSelect(pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && ticket_72 != 0 && OrderMagicNumber() == g_magic_188) {
if (gi_192 == FALSE) price_16 = order_open_price_112 - StopLoss * Point;
else price_16 = ld_176;
if (StopLoss <= 0.0) price_16 = 0;
if (ticket_72 != OrderTicket()) price_32 = ld_136;
else price_32 = OrderTakeProfit();
if (price_32 != OrderTakeProfit() || price_16 != OrderStopLoss()) OrderModify(OrderTicket(), OrderOpenPrice(), price_16, price_32, 0, Blue);
}
if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && ticket_76 != 0 && OrderMagicNumber() == g_magic_188) {
if (gi_192 == FALSE) price_8 = order_open_price_120 + StopLoss * Point;
else price_8 = ld_184;
if (StopLoss <= 0.0) price_8 = 0;
if (ticket_76 != OrderTicket()) price_24 = ld_128;
else price_24 = OrderTakeProfit();
if (price_24 != OrderTakeProfit() || price_8 != OrderStopLoss()) OrderModify(OrderTicket(), OrderOpenPrice(), price_8, price_24, 0, Red);
}
}
return (0);
}

int f0_3(double ad_0) {
ad_0 = NormalizeDouble(ad_0 / g_lots_204, 0);
switch (ad_0) {
case 1.0:
return (gd_228);
case 2.0:
return (gd_228);
case 4.0:
return (gd_244);
case 8.0:
return (gd_260);
case 16.0:
return (gd_276);
case 32.0:
return (gd_292);
case 64.0:
return (gd_308);
case 128.0:
return (gd_324);
case 256.0:
return (gd_340);
case 512.0:
return (gd_356);
}
return (gd_356);
}

int f0_4(double ad_0) {
ad_0 = NormalizeDouble(ad_0 / g_lots_204, 0);
switch (ad_0) {
case 1.0:
return (gd_220);
case 2.0:
return (gd_236);
case 4.0:
return (gd_252);
case 8.0:
return (gd_268);
case 16.0:
return (gd_284);
case 32.0:
return (gd_300);
case 64.0:
return (gd_316);
case 128.0:
return (gd_332);
case 256.0:
return (gd_348);
case 512.0:
return (gd_364);
}
return (gd_364);
}
[свернуть]

Последний раз редактировалось NSerega; 21.01.2015 в 21:14.
gia444 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 17:50   #1266 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от kirko23 Посмотреть сообщение
Подскажите пожалуйста закрытый бар перирисовывает или нет???
После того как... я посмотрел код и пришёл к выводу, что это обычный MACD с параметрами 13-34-8 меняет цвет при пересечении гистограммы и сигнальной линии.
Миниатюры:
Нажмите на изображение для увеличения
Название: 00.png
Просмотров: 167
Размер:	48.9 Кб
ID:	193261  
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
kirko23 (21.01.2015)
Старый 21.01.2015, 17:55   #1267 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от gia444 Посмотреть сообщение
Ребята помогите кто может - что в этом коде советника нужно менять чтобы шаг между орденами изменить?
Расстояние между орденами зависит от количества этих самых орденов... у Брежнева они накладывались друг на друга... а у простых солдат свободно умещались в один ряд...
И сначала научись размещать код в теги...
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 18:00   #1268 (permalink)
Активный участник
 
Аватар для evolernet
 
Регистрация: 30.09.2009
Сообщений: 106
Репутация: 133
evolernet evolernet
Сказал(а) спасибо: 44
Поблагодарили 134 раз(а) в 29 сообщениях
Поинты: 16
Сообщение от mobidik Посмотреть сообщение
Ошибок не было, только парочка предупреждений, проверяй:
привет,выдает ошибки при закрытие.

Нажмите на изображение для увеличения
Название: 21.01.jpg
Просмотров: 33
Размер:	101.8 Кб
ID:	193262

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Все начинается и кончается в нужное время и в нужном месте. (Эрнст Хайне)
evolernet вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 18:32   #1269 (permalink)
 
Аватар для mobidik
 
Регистрация: 09.08.2012
Адрес: Ua_Khm
Сообщений: 1,648
Репутация: 8545
mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik mobidik
Сказал(а) спасибо: 633
Поблагодарили 8,541 раз(а) в 1,562 сообщениях
Поинты: 802
Сообщение от evolernet Посмотреть сообщение
привет,выдает ошибки при закрытие.

Вложение 193262
Пробуй изменить Slippage = 3; // Допустимое отклонение от запрошенной цены
значение стоит по умолчанию для 4х-знака.
mobidik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
evolernet (22.01.2015)
Старый 21.01.2015, 19:21   #1270 (permalink)
Особый статус
 
Аватар для Novikov
 
Регистрация: 02.08.2012
Адрес: Днепр
Сообщений: 3,017
Репутация: 2509
Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov
Сказал(а) спасибо: 1,610
Поблагодарили 2,520 раз(а) в 1,258 сообщениях
Поинты: 2423
Отправить сообщение для Novikov с помощью Skype™

Удивление полный абзац!


Сообщение от gia444 Посмотреть сообщение
Ребята помогите кто может - что в этом коде советника нужно менять чтобы шаг между орденами изменить? какой параметр ? я сам так и не нашёл .... он слишком близко друг к другу открывает ордера.....
ЭЭЭЭ, ты гонишь?
Ну неужели не видно, как другие люди посты оформляют???
Тем более, что есть "предварительный просмотр сообщения"!
Novikov на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 19:33   #1271 (permalink)
 
Аватар для Lapusya
 
Регистрация: 15.07.2012
Адрес: Мухасранск
Сообщений: 1,422
Репутация: 3658
Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya
Сказал(а) спасибо: 2,199
Поблагодарили 3,654 раз(а) в 991 сообщениях
Поинты: 391
Сообщение от gia444 Посмотреть сообщение
Ребята помогите кто может - что в этом коде советника нужно менять чтобы шаг между орденами изменить? какой параметр ? я сам так и не нашёл .... он слишком близко друг к другу открывает ордера.....

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

extern int Key = 0;
extern double Lots = 1.0;
double gd_88;
double gd_96 = 0.0;
double gd_104 = 24.0;
double gd_112 = 0.0;
double gd_120 = 24.0;
extern double TakeProfit = 35.0;
extern double StopLoss = 1000.0;
bool gi_144 = FALSE;
bool gi_148 = FALSE;
double gd_152 = 10.0;
bool gi_160 = TRUE;
bool gi_164 = TRUE;
bool gi_168 = TRUE;
bool gi_172 = TRUE;
bool gi_176 = TRUE;
bool gi_180 = TRUE;
bool gi_184 = TRUE;
int g_magic_188 = 1841;
bool gi_192 = FALSE;
bool gi_196 = FALSE;
bool gi_200 = FALSE;
double g_lots_204 = 0.0;
double gd_unused_212 = 22.0;
double gd_220 = 20.0;
double gd_228 = 22.0;
double gd_236 = 20.0;
double gd_244 = 22.0;
double gd_252 = 20.0;
double gd_260 = 22.0;
double gd_268 = 20.0;
double gd_276 = 22.0;
double gd_284 = 20.0;
double gd_292 = 22.0;
double gd_300 = 20.0;
double gd_308 = 22.0;
double gd_316 = 20.0;
double gd_324 = 22.0;
double gd_332 = 20.0;
double gd_340 = 22.0;
double gd_348 = 20.0;
double gd_356 = 22.0;
double gd_364 = 22.0;
bool gi_372 = FALSE;

int f0_0() {
bool li_ret_0 = FALSE;
for (int pos_4 = 0; pos_4 < OrdersTotal(); pos_4++) {
if (OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES) == FALSE) break;
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) li_ret_0 = li_ret_0 + OrderProfit() + OrderSwap() + OrderCommission();
}
return (li_ret_0);
}

int f0_1() {
bool li_ret_0 = FALSE;
for (int pos_4 = 0; pos_4 < OrdersTotal(); pos_4++) {
if (OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES) == FALSE) break;
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) li_ret_0 = li_ret_0 + OrderProfit() + OrderSwap() + OrderCommission();
}
return (li_ret_0);
}

double f0_5(int ai_0, int ai_4) {
int year_8;
int month_12;
int day_16;
int datetime_20;
int hist_total_24 = OrdersHistoryTotal();
double ld_ret_28 = 0;
for (int pos_36 = 0; pos_36 < hist_total_24; pos_36++) {
OrderSelect(pos_36, SELECT_BY_POS, MODE_HISTORY);
datetime_20 = OrderCloseTime();
year_8 = TimeYear(datetime_20);
month_12 = TimeMonth(datetime_20);
day_16 = TimeDay(datetime_20);
if (year_8 == Year() && month_12 == Month() && day_16 == Day() - ai_4 && OrderMagicNumber() == g_magic_188) {
if (ai_0 == 1)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_ret_28 = ld_ret_28 + OrderProfit() + OrderSwap() + OrderCommission();
}
}
return (ld_ret_28);
}

int init() {
string ls_0;
string ls_8;
string ls_unused_16;
gd_88 = 100.0 * Lots;

if (gi_200) g_lots_204 = 100000.0 * Lots;
else g_lots_204 = Lots;
return (0);
}

int start() {
double price_0;
double price_8;
double price_16;
double price_24;
double price_32;
double lots_40;
double pips_48;
double pips_56;
if (!f0_2()) return (0);
double ld_64 = (iHigh(NULL, PERIOD_H1, 1) - iLow(NULL, PERIOD_H1, 1)) / Point;
int ticket_72 = 0;
int ticket_76 = 0;
int ticket_80 = 0;
int ticket_84 = 0;
int ticket_88 = 0;
int ticket_92 = 0;
double order_lots_96 = 0;
double order_lots_104 = 0;
double order_open_price_112 = 0;
double order_open_price_120 = 0;
double ld_128 = 0;
double ld_136 = 0;
double ld_unused_144 = 0;
double order_lots_152 = 0;
double ld_unused_160 = 0;
double order_lots_168 = 0;
double ld_176 = 0;
double ld_184 = 0;
gi_196 = FALSE;
if (gi_144 == TRUE) {
switch (DayOfWeek()) {
case 0:
if (gi_160 != TRUE) break;
gi_196 = TRUE;
break;
case 1:
if (gi_164 != TRUE) break;
gi_196 = TRUE;
break;
case 2:
if (gi_168 != TRUE) break;
gi_196 = TRUE;
break;
case 3:
if (gi_172 != TRUE) break;
gi_196 = TRUE;
break;
case 4:
if (gi_176 != TRUE) break;
gi_196 = TRUE;
break;
case 5:
if (gi_180 != TRUE) break;
gi_196 = TRUE;
break;
case 6:
if (gi_184 != TRUE) break;
gi_196 = TRUE;
}
} else gi_196 = TRUE;
for (int pos_196 = 0; pos_196 < OrdersTotal(); pos_196++) {
OrderSelect(pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) {
if (OrderType() == OP_BUY && ticket_72 < OrderTicket()) {
order_lots_96 = OrderLots();
order_open_price_112 = OrderOpenPrice();
ticket_72 = OrderTicket();
ld_136 = OrderTakeProfit();
if (OrderLots() == g_lots_204) ld_176 = OrderOpenPrice() - StopLoss * Point;
}
if (OrderType() == OP_SELL && ticket_76 < OrderTicket()) {
order_lots_104 = OrderLots();
order_open_price_120 = OrderOpenPrice();
ticket_76 = OrderTicket();
ld_128 = OrderTakeProfit();
if (OrderLots() == g_lots_204) ld_184 = OrderOpenPrice() + StopLoss * Point;
}
if (OrderType() == OP_BUYLIMIT) {
ticket_80 = OrderTicket();
order_lots_168 = OrderLots();
}
if (OrderType() == OP_SELLLIMIT) {
ticket_84 = OrderTicket();
order_lots_168 = OrderLots();
}
if (OrderType() == OP_BUYSTOP) {
ticket_88 = OrderTicket();
order_lots_152 = OrderLots();
}
if (OrderType() == OP_SELLSTOP) {
ticket_92 = OrderTicket();
order_lots_152 = OrderLots();
}
}
}
int li_200 = f0_0() / (AccountBalance() / 100.0);
int li_204 = f0_1() / (AccountBalance() / 100.0);
int li_unused_208 = (f0_1() + f0_0()) / (AccountBalance() / 100.0);
if (li_200 < (-1.0 * gd_152) && gi_148 == TRUE) {
for (int pos_212 = OrdersTotal() - 1; pos_212 >= 0; pos_212--) {
if (!(OrderSelect(pos_212, SELECT_BY_POS, MODE_TRADES))) break;
if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 2);
if (OrderType() == OP_BUYSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderDelete(OrderTicket());
if (OrderType() == OP_BUYLIMIT && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderDelete(OrderTicket());
}
}
if (li_204 < (-1.0 * gd_152) && gi_148 == TRUE) {
for (int pos_216 = OrdersTotal() - 1; pos_216 >= 0; pos_216--) {
if (!(OrderSelect(pos_216, SELECT_BY_POS, MODE_TRADES))) break;
if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 2);
if (OrderType() == OP_SELLSTOP && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderDelete(OrderTicket());
if (OrderType() == OP_SELLLIMIT && OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_188) OrderDelete(OrderTicket());
}
}
int li_unused_220 = MarketInfo(Symbol(), MODE_SPREAD);
int li_unused_224 = MarketInfo(Symbol(), MODE_POINT);
int li_unused_228 = MarketInfo(Symbol(), MODE_DIGITS);
int li_unused_232 = MarketInfo(Symbol(), MODE_TICKVALUE);
if (ticket_72 == 0 && gi_196) {
if (ticket_80 != 0) OrderDelete(ticket_80);
if (ticket_88 != 0) OrderDelete(ticket_88);
price_16 = Ask - StopLoss * Point;
if (StopLoss <= 0.0) price_16 = 0;
price_32 = Ask + TakeProfit * Point;
if ((TimeHour(TimeCurrent()) >= gd_96 && TimeHour(TimeCurrent()) < gd_104) || (TimeHour(TimeCurrent()) >= gd_112 && TimeHour(TimeCurrent()) < gd_120)) OrderSend(Symbol(), OP_BUY, g_lots_204, Ask, 3, price_16, price_32, "Magic" + g_magic_188, g_magic_188, 0, Blue);
}
if (ticket_76 == 0 && gi_196) {
if (ticket_84 != 0) OrderDelete(ticket_84);
if (ticket_92 != 0) OrderDelete(ticket_92);
price_8 = Bid + StopLoss * Point;
if (StopLoss <= 0.0) price_8 = 0;
price_24 = Bid - TakeProfit * Point;
if ((TimeHour(TimeCurrent()) >= gd_96 && TimeHour(TimeCurrent()) < gd_104) || (TimeHour(TimeCurrent()) >= gd_112 && TimeHour(TimeCurrent()) < gd_120)) OrderSend(Symbol(), OP_SELL, g_lots_204, Bid, 3, price_8, price_24, "Magic" + g_magic_188, g_magic_188, 0, Red);
}
if (ticket_72 != 0 && ticket_80 == 0) {
pips_56 = f0_3(order_lots_96);
pips_48 = f0_4(order_lots_96);
price_0 = order_open_price_112 - pips_56 * Point;
if (gi_192 == FALSE) price_16 = price_0 - StopLoss * Point;
else price_16 = ld_176;
if (StopLoss <= 0.0) price_16 = 0;
price_32 = price_0 + pips_48 * Point;
lots_40 = NormalizeDouble(2.0 * order_lots_96, pips_48);
if (gi_196 && lots_40 < gd_88) OrderSend(Symbol(), OP_BUYLIMIT, lots_40, price_0, 3, price_16, price_32, "Magic" + g_magic_188, g_magic_188, 0, Blue);
}
if (ticket_76 != 0 && ticket_84 == 0) {
pips_56 = f0_3(order_lots_104);
pips_48 = f0_4(order_lots_104);
price_0 = order_open_price_120 + pips_56 * Point;
if (gi_192 == FALSE) price_8 = price_0 + StopLoss * Point;
else price_8 = ld_184;
if (StopLoss <= 0.0) price_8 = 0;
price_24 = price_0 - pips_48 * Point;
lots_40 = NormalizeDouble(2.0 * order_lots_104, pips_48);
if (gi_196 && lots_40 < gd_88) OrderSend(Symbol(), OP_SELLLIMIT, lots_40, price_0, 3, price_8, price_24, "Magic" + g_magic_188, g_magic_188, 0, Red);
}
Comment("\nЛицензия - OK! ProfitMakerPro запущен на ", AccountNumber(),
"\n",
"\n", " Прибыль за сегодня = ", NormalizeDouble(f0_5(1, 0), 2), " $ ",
"\n", " Прибыль за вчера = ", NormalizeDouble(f0_5(1, 1), 2), " $ ",
"\n", " Текущий баланс = ", AccountBalance(), " $ ");
for (pos_196 = 0; pos_196 < OrdersTotal(); pos_196++) {
OrderSelect(pos_196, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && ticket_72 != 0 && OrderMagicNumber() == g_magic_188) {
if (gi_192 == FALSE) price_16 = order_open_price_112 - StopLoss * Point;
else price_16 = ld_176;
if (StopLoss <= 0.0) price_16 = 0;
if (ticket_72 != OrderTicket()) price_32 = ld_136;
else price_32 = OrderTakeProfit();
if (price_32 != OrderTakeProfit() || price_16 != OrderStopLoss()) OrderModify(OrderTicket(), OrderOpenPrice(), price_16, price_32, 0, Blue);
}
if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && ticket_76 != 0 && OrderMagicNumber() == g_magic_188) {
if (gi_192 == FALSE) price_8 = order_open_price_120 + StopLoss * Point;
else price_8 = ld_184;
if (StopLoss <= 0.0) price_8 = 0;
if (ticket_76 != OrderTicket()) price_24 = ld_128;
else price_24 = OrderTakeProfit();
if (price_24 != OrderTakeProfit() || price_8 != OrderStopLoss()) OrderModify(OrderTicket(), OrderOpenPrice(), price_8, price_24, 0, Red);
}
}
return (0);
}

int f0_3(double ad_0) {
ad_0 = NormalizeDouble(ad_0 / g_lots_204, 0);
switch (ad_0) {
case 1.0:
return (gd_228);
case 2.0:
return (gd_228);
case 4.0:
return (gd_244);
case 8.0:
return (gd_260);
case 16.0:
return (gd_276);
case 32.0:
return (gd_292);
case 64.0:
return (gd_308);
case 128.0:
return (gd_324);
case 256.0:
return (gd_340);
case 512.0:
return (gd_356);
}
return (gd_356);
}

int f0_4(double ad_0) {
ad_0 = NormalizeDouble(ad_0 / g_lots_204, 0);
switch (ad_0) {
case 1.0:
return (gd_220);
case 2.0:
return (gd_236);
case 4.0:
return (gd_252);
case 8.0:
return (gd_268);
case 16.0:
return (gd_284);
case 32.0:
return (gd_300);
case 64.0:
return (gd_316);
case 128.0:
return (gd_332);
case 256.0:
return (gd_348);
case 512.0:
return (gd_364);
}
return (gd_364);
}
[свернуть]

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Take Profit - дар Всевышнего , StopLoss - урок Свыше.

Последний раз редактировалось NSerega; 21.01.2015 в 21:14.
Lapusya на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Novikov (22.01.2015)
Старый 21.01.2015, 19:36   #1272 (permalink)
Активный участник
 
Аватар для cawwa
 
Регистрация: 01.02.2010
Сообщений: 102
Репутация: 53
cawwa
Сказал(а) спасибо: 83
Поблагодарили 51 раз(а) в 30 сообщениях
Поинты: 22
Здравствуйте, помогите добавить в сов:
1. одновременное открытие n- кол-во ордеров (от 3 до 5 хватит), у каждого свой маджик номер,
2. стоп лосс у каждого ордера свой - чтобы можно было устанавливать.

Заранее благодарен.
Вложения:
Тип файла: mq4 Robot Forex 2053 (RUS) (GBPUSD M1).mq4 (52.5 Кб, 56 просмотров)
cawwa вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.01.2015, 06:18   #1273 (permalink)
Интересующийся
 
Аватар для gia444
 
Регистрация: 07.09.2014
Сообщений: 8
Репутация: -1
gia444
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 10
Ребята помогите кто может - что в этом коде советника нужно менять чтобы шаг между орденами изменить(сделать 100 пунктов)? какой параметр ? я сам так и не нашёл .... он слишком близко друг к другу открывает ордера.....
Очень прошу......
Вложения:
Тип файла: mq4 ProfitMakerPro~.mq4 (12.8 Кб, 58 просмотров)
gia444 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.01.2015, 09:52   #1274 (permalink)
wgl
Интересующийся
 
Аватар для wgl
 
Регистрация: 01.01.2014
Сообщений: 12
Репутация: 1
wgl
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 0
Вложение не существует или не указан идентификатор (номер). Если вы уверены, что использовали правильную ссылку, свяжитесь с администрацией
wgl вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.01.2015, 12:10   #1275 (permalink)
Особый статус
 
Аватар для Novikov
 
Регистрация: 02.08.2012
Адрес: Днепр
Сообщений: 3,017
Репутация: 2509
Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov
Сказал(а) спасибо: 1,610
Поблагодарили 2,520 раз(а) в 1,258 сообщениях
Поинты: 2423
Отправить сообщение для Novikov с помощью Skype™

Плохо вопросик


Уважаемые спецы, пожалуйста, помогите решить ребус, а то я сам не могу догнать, как сделать правильно!



Индикатор строит линию из расчета за сутки (24 бара на H1) - берет из CLOSE нулевого бара вычитает CLOSE 24 бара, из 1 вычитает 25, из 2 - 26 и т.д.
На истории все ок, а вот на нулевом баре проблема:
На скрине видим, что в момент открытия бара 22.01 11:00 CLOSE = CLOSE 22.01 10:00, т.е. движения практически не было, но за счет того, что CLOSE 21.01 10:00 до CLOSE 21.01 11:00 сильно изменилось, то получается резкий скачок т.к. последний 24 бар становится 25 и выпадает из расчета.

Как можно решить данную проблему?
Novikov на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 22.01.2015, 12:19   #1276 (permalink)
Элитный участник
 
Аватар для borobor
 
Регистрация: 03.05.2009
Адрес: новосибирск
Сообщений: 928
Репутация: 1562
borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor
Сказал(а) спасибо: 107
Поблагодарили 1,551 раз(а) в 549 сообщениях
Поинты: 54
Сообщение от gia444 Посмотреть сообщение
Ребята помогите кто может - что в этом коде советника нужно менять чтобы шаг между орденами изменить(сделать 100 пунктов)? какой параметр ? я сам так и не нашёл .... он слишком близко друг к другу открывает ордера.....
Очень прошу......
поправил,пробуй
для 5 знак
Вложения:
Тип файла: mq4 ProfitMakerPro_765.mq4 (12.4 Кб, 89 просмотров)

Последний раз редактировалось borobor; 22.01.2015 в 12:22.
borobor на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
gia444 (22.01.2015), wgl (22.01.2015)
Старый 22.01.2015, 12:35   #1277 (permalink)
Активный участник
 
Аватар для luckash
 
Регистрация: 05.05.2011
Сообщений: 49
Репутация: 44
luckash
Сказал(а) спасибо: 113
Поблагодарили 43 раз(а) в 17 сообщениях
Поинты: 36
Сообщение от luckash Посмотреть сообщение
Добрый вечер. Посмотрите пожалуйста индикатор, можно ли в нем сделать так чтоб при касании ценой верхней и нижней границы канала издавался сигнал! Очень нужно. Спасибо.

Уважаемые программисты не оставьте мое сообщение без внимание. Кому не сложно обратите внимание на мою просьбу, добавьте пожалуйста алерт в индикатор.
Миниатюры:
Нажмите на изображение для увеличения
Название: EURUSDH4.png
Просмотров: 87
Размер:	35.8 Кб
ID:	193382  
Вложения:
Тип файла: ex4 Price Channel.ex4 (8.0 Кб, 19 просмотров)
Тип файла: mq4 Price Channel.mq4 (2.7 Кб, 31 просмотров)
luckash вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Karabas BARABAS (22.01.2015)
Старый 22.01.2015, 17:35   #1278 (permalink)
Интересующийся
 
Аватар для gia444
 
Регистрация: 07.09.2014
Сообщений: 8
Репутация: -1
gia444
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 10
Сообщение от borobor Посмотреть сообщение
поправил,пробуй
для 5 знак
Спасибо borobor !!! Завтра попробую!!! Благодарю!!!
gia444 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.01.2015, 18:49   #1279 (permalink)
Местный житель
 
Аватар для Ramil-2427
 
Регистрация: 12.04.2013
Адрес: Башкортостан, г.Октябрьский
Сообщений: 523
Репутация: 222
Ramil-2427 - Ramil-2427 - Ramil-2427 -
Сказал(а) спасибо: 603
Поблагодарили 222 раз(а) в 116 сообщениях
Поинты: 14
Помогите поправить сову...В тестере открывает откатную сетку,а в реале нет...
Вложения:
Тип файла: mq4 RS 2 karlosslim.mq4 (13.9 Кб, 33 просмотров)
Ramil-2427 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 22.01.2015, 20:46   #1280 (permalink)
Местный знаток
 
Аватар для transcendreamer
 
Регистрация: 19.02.2013
Адрес: путешествую по миру
Сообщений: 1,156
Репутация: 604
transcendreamer - transcendreamer - transcendreamer - transcendreamer - transcendreamer - transcendreamer -
Сказал(а) спасибо: 165
Поблагодарили 604 раз(а) в 282 сообщениях
Поинты: 1171
Сообщение от Novikov Посмотреть сообщение
Уважаемые спецы, пожалуйста, помогите решить ребус, а то я сам не могу догнать, как сделать правильно!



Индикатор строит линию из расчета за сутки (24 бара на H1) - берет из CLOSE нулевого бара вычитает CLOSE 24 бара, из 1 вычитает 25, из 2 - 26 и т.д.
На истории все ок, а вот на нулевом баре проблема:
На скрине видим, что в момент открытия бара 22.01 11:00 CLOSE = CLOSE 22.01 10:00, т.е. движения практически не было, но за счет того, что CLOSE 21.01 10:00 до CLOSE 21.01 11:00 сильно изменилось, то получается резкий скачок т.к. последний 24 бар становится 25 и выпадает из расчета.

Как можно решить данную проблему?
привет, если использовать разницу close баров то скачки неизбежны, даже если игнорировать незавершенный (формирующийся) бар то все равно может возникнуть ситуация когда последний бар в плавающем 24-баровом окне будет очень длинным и сдвиг на 1 бар вперед так или иначе даст скачок close c левой границы окна, выход может быть такой:

1. перейти на усредненные close (плавнее ходят но более инертны чем чистый close)
2. перейти на разницу close ключевых баров (ключевом баром будет центральный бар фрактала, но тогда окно будет иметь не строго 24-бара)
3. сделать доп. проверку - если длина бара больше среднего на Х% то при сдвиге окна не перемещать крайний левый бар (опять таки будет не строго 24 бара в окне)
4. если бар больше среднего на Х% то при перемещении левой границы брать среднее close двух этих баров

конкретный выбор как поступить лучше решить исходя из физического смысла и контекста использования этой разницы close в твоей стратегии
transcendreamer вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Novikov (22.01.2015)
Ответ

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


Опции темы

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

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



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


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