Ответ
 
Опции темы
Старый 21.01.2015, 16:39   #1261 (permalink)
 
Аватар для Casper4
 
Регистрация: 08.10.2011
Сообщений: 608
Репутация: 2624
Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4 Casper4
Сказал(а) спасибо: 1,842
Поблагодарили 2,620 раз(а) в 384 сообщениях
Поинты: 221
Привет Mobidik.
Помоги пожалуйста изменить отображение индикатора(квадратики переделать в палочки,в обычную гистограмму)
На некоторых похожих сам делал,вставляя "DRAW_HISTOGRAM" вместо написанного(конечно наобум практически).Здесь же куча ошибок повылазило).
Индикатор в MQ4 выложу,чтобы в код можно было попасть.Но на графике он не отображается).Я его в редакторе от старого билда компилировал,чтобы в новом отображался.
Сделай пожалуйста в MQ4,а для нового я сам переделаю.
Заранее большое спасибо.
Миниатюры:
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 95
Размер:	81.4 Кб
ID:	193253  
Вложения:
Тип файла: mq4 #Web_TrendZoom_mod.mq4 (3.9 Кб, 52 просмотров)
Casper4 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 17:00   #1262 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,546
Репутация: 3663
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,129
Поблагодарили 3,667 раз(а) в 1,482 сообщениях
Поинты: 2028
Сообщение от Casper4 Посмотреть сообщение
Привет Mobidik.
Помоги пожалуйста изменить отображение индикатора(квадратики переделать в палочки,в обычную гистограмму)
На некоторых похожих сам делал,вставляя "DRAW_HISTOGRAM" вместо написанного(конечно наобум практически).Здесь же куча ошибок повылазило).
Индикатор в MQ4 выложу,чтобы в код можно было попасть.Но на графике он не отображается).Я его в редакторе от старого билда компилировал,чтобы в новом отображался.
Сделай пожалуйста в MQ4,а для нового я сам переделаю.
Заранее большое спасибо.
Держи, но я не Mobidik. Уже в новом формате.
Вложения:
Тип файла: mq4 #Web_TrendZoom_mod.mq4 (3.8 Кб, 110 просмотров)
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
Адрес: новосибирск
Сообщений: 929
Репутация: 1566
borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor
Сказал(а) спасибо: 107
Поблагодарили 1,555 раз(а) в 550 сообщениях
Поинты: 54
Сообщение от Casper4 Посмотреть сообщение
Привет Mobidik.
Помоги пожалуйста изменить отображение индикатора(квадратики переделать в палочки,в обычную гистограмму)
На некоторых похожих сам делал,вставляя "DRAW_HISTOGRAM" вместо написанного(конечно наобум практически).Здесь же куча ошибок повылазило).
Индикатор в MQ4 выложу,чтобы в код можно было попасть.Но на графике он не отображается).Я его в редакторе от старого билда компилировал,чтобы в новом отображался.
Сделай пожалуйста в MQ4,а для нового я сам переделаю.
Заранее большое спасибо.
точки удали и вставь "DRAW_HISTOGRAM"
borobor вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
Casper4 (21.01.2015), vjakrasikv (18.01.2017)
Старый 21.01.2015, 17:38   #1264 (permalink)
Активный участник
 
Аватар для kirko23
 
Регистрация: 02.07.2013
Сообщений: 303
Репутация: 141
kirko23 kirko23
Сказал(а) спасибо: 150
Поблагодарили 140 раз(а) в 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,546
Репутация: 3663
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,129
Поблагодарили 3,667 раз(а) в 1,482 сообщениях
Поинты: 2028
Сообщение от kirko23 Посмотреть сообщение
Подскажите пожалуйста закрытый бар перирисовывает или нет???
После того как... я посмотрел код и пришёл к выводу, что это обычный MACD с параметрами 13-34-8 меняет цвет при пересечении гистограммы и сигнальной линии.
Миниатюры:
Нажмите на изображение для увеличения
Название: 00.png
Просмотров: 172
Размер:	48.9 Кб
ID:	193261  
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
kirko23 (21.01.2015)
Старый 21.01.2015, 17:55   #1267 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,546
Репутация: 3663
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,129
Поблагодарили 3,667 раз(а) в 1,482 сообщениях
Поинты: 2028
Сообщение от 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
Просмотров: 34
Размер:	101.8 Кб
ID:	193262

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

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

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


Сообщение от gia444 Посмотреть сообщение
Ребята помогите кто может - что в этом коде советника нужно менять чтобы шаг между орденами изменить? какой параметр ? я сам так и не нашёл .... он слишком близко друг к другу открывает ордера.....
ЭЭЭЭ, ты гонишь?
Ну неужели не видно, как другие люди посты оформляют???
Тем более, что есть "предварительный просмотр сообщения"!
Novikov на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 19:33   #1271 (permalink)
 
Аватар для Lapusya
 
Регистрация: 15.07.2012
Адрес: Мухасранск
Сообщений: 1,441
Репутация: 3686
Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya Lapusya
Сказал(а) спасибо: 2,246
Поблагодарили 3,682 раз(а) в 1,000 сообщениях
Поинты: 392
Сообщение от 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 Кб, 58 просмотров)
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 Кб, 59 просмотров)
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,036
Репутация: 2547
Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov Novikov
Сказал(а) спасибо: 1,617
Поблагодарили 2,558 раз(а) в 1,271 сообщениях
Поинты: 2443
Отправить сообщение для 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
Адрес: новосибирск
Сообщений: 929
Репутация: 1566
borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor borobor
Сказал(а) спасибо: 107
Поблагодарили 1,555 раз(а) в 550 сообщениях
Поинты: 54
Сообщение от gia444 Посмотреть сообщение
Ребята помогите кто может - что в этом коде советника нужно менять чтобы шаг между орденами изменить(сделать 100 пунктов)? какой параметр ? я сам так и не нашёл .... он слишком близко друг к другу открывает ордера.....
Очень прошу......
поправил,пробуй
для 5 знак
Вложения:
Тип файла: mq4 ProfitMakerPro_765.mq4 (12.4 Кб, 92 просмотров)

Последний раз редактировалось 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
Просмотров: 88
Размер:	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,171
Репутация: 608
transcendreamer - transcendreamer - transcendreamer - transcendreamer - transcendreamer - transcendreamer -
Сказал(а) спасибо: 169
Поблагодарили 608 раз(а) в 285 сообщениях
Поинты: 1187
Сообщение от 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 Выкл.



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


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