Ответить
29.08.2015, 06:25
Аватар для AlanG
AlanG AlanG вне форума Элитный участник
Регистрация: 10.01.2011 / Адрес: Казахстан / Сообщений: 1,338
Поблагодарили 1,145 раз(а) / Репутация: 1163
Здравствуйте! подправьте пожалуйста.
Рабочий он!!
Для работы индикатора следует положить файлы
PriceSeries.mqh
в папку (директорию): \include\
MAMA_NK.mq4
Heiken Ashi#.mq4
в папку (директорию):\indicators\

лови не достающие файлы
IPC = 4;/* Выбор цен, по которым производится расчёт индикатора
(0-CLOSE, 1-OPEN, 2-HIGH, 3-LOW, 4-MEDIAN, 5-TYPICAL, 6-WEIGHTED,
7-Heiken Ashi Close, 8-SIMPL, 9-TRENDFOLLOW, 10-0.5*TRENDFOLLOW,
11-Heiken Ashi Low, 12-Heiken Ashi High, 13-Heiken Ashi Open,
14-Heiken Ashi Close, 15-Heiken Ashi Open0.) */
Я не программист!!!!
Цитата:
Фридрих Энгельс
«Стремление к счастью... нуждается больше всего в материальных средствах...»
―Фридрих Энгельс

Последний раз редактировалось AlanG; 29.08.2015 в 06:32.
29.08.2015, 07:29
Аватар для naikvijays
naikvijays naikvijays на форуме Активный участник
Регистрация: 26.04.2013 / Сообщений: 24
Поблагодарили 49 раз(а) / Репутация: 50
Здравствуйте! подпрвьте пожалуйста.
исправлены здесь

Для полного по функциональности нужно файлы, которые будут помещены в папку, в пост # 1381 от Аланге

Последний раз редактировалось naikvijays; 29.08.2015 в 07:35.
29.08.2015, 07:46
Аватар для coler
coler coler вне форума Интересующийся
Регистрация: 12.02.2013 / Сообщений: 38
Поблагодарили 3 раз(а) / Репутация: 4
Pomoghite pojaluista. Dabavte v robot trailingstop. Stob po otkritie ordera stavleal srazu trailing stop. Sp

Esli eseo mojete, kogda poeavitsea signal po indikatoru, otkriti order i srazu je vstavil trailingstop,stoploss,i takeprofit. I esli order zakrilsea, stob ne otkrival drughie ordera do poevlenia sledusego signala po indikatoru "beforexguru.mq4". Sp bolisoe.
KTOTA POMEJET?????
29.08.2015, 08:02
Аватар для MAYORZ
MAYORZ MAYORZ вне форума Местный знаток
Регистрация: 27.03.2015 / Сообщений: 316
Поблагодарили 544 раз(а) / Репутация: 545
Рабочий он!!
Для работы индикатора следует положить файлы
PriceSeries.mqh
в папку (директорию): \include\
MAMA_NK.mq4
Heiken Ashi#.mq4
в папку (директорию):\indicators\

лови не достающие файлы
IPC = 4;/* Выбор цен, по которым производится расчёт индикатора
(0-CLOSE, 1-OPEN, 2-HIGH, 3-LOW, 4-MEDIAN, 5-TYPICAL, 6-WEIGHTED,
7-Heiken Ashi Close, 8-SIMPL, 9-TRENDFOLLOW, 10-0.5*TRENDFOLLOW,
11-Heiken Ashi Low, 12-Heiken Ashi High, 13-Heiken Ashi Open,
14-Heiken Ashi Close, 15-Heiken Ashi Open0.) */
Индикаторы в терминале с серыми ромбиками в правом нижнем углу. Индикатор Heiken Ashi#.ex4 не устанавливается. Если есть в формате mq4 - просьба выложить.
29.08.2015, 08:12
Аватар для AlanG
AlanG AlanG вне форума Элитный участник
Регистрация: 10.01.2011 / Адрес: Казахстан / Сообщений: 1,338
Поблагодарили 1,145 раз(а) / Репутация: 1163
KTOTA POMEJET?????
скорей всего в это ветке никто тут исправляют ошибки, а не дорабатывают
Я не программист!!!!
Цитата:
Фридрих Энгельс
«Стремление к счастью... нуждается больше всего в материальных средствах...»
―Фридрих Энгельс
29.08.2015, 08:20
Аватар для AlanG
AlanG AlanG вне форума Элитный участник
Регистрация: 10.01.2011 / Адрес: Казахстан / Сообщений: 1,338
Поблагодарили 1,145 раз(а) / Репутация: 1163
Индикаторы в терминале с серыми ромбиками в правом нижнем углу. Индикатор Heiken Ashi#.ex4 не устанавливается. Если есть в формате mq4 - просьба выложить.
хенекен у меня ток такой но все работает


MAMA_NK.mq4 может и без хенекен работать просто ставь 1,2,3,или 4,5 ,6
или обычный хенекен пере именуй по пробуй
Я не программист!!!!
Цитата:
Фридрих Энгельс
«Стремление к счастью... нуждается больше всего в материальных средствах...»
―Фридрих Энгельс

Последний раз редактировалось AlanG; 29.08.2015 в 08:27.
29.08.2015, 08:34
Аватар для MAYORZ
MAYORZ MAYORZ вне форума Местный знаток
Регистрация: 27.03.2015 / Сообщений: 316
Поблагодарили 544 раз(а) / Репутация: 545
MAMA_NK.mq4 и MAMAXX_NK.mq4 в терминале с серыми ромбиками. установил всё как рекомендовали в пост №1381. Непонятно чего не хватает.
29.08.2015, 09:29
Аватар для RoboMaks
RoboMaks RoboMaks вне форума Элитный участник
Регистрация: 19.08.2012 / Адрес: Баку, Азербайджан / Сообщений: 651
Поблагодарили 1,121 раз(а) / Репутация: 1131
  • Отправить сообщение для RoboMaks с помощью Skype™
KTOTA POMEJET?????
Трал я ему добавил. ТП и СЛ у него есть уже свои.

Последний раз редактировалось RoboMaks; 29.08.2015 в 10:14.
29.08.2015, 11:11
Аватар для RoboMaks
RoboMaks RoboMaks вне форума Элитный участник
Регистрация: 19.08.2012 / Адрес: Баку, Азербайджан / Сообщений: 651
Поблагодарили 1,121 раз(а) / Репутация: 1131
  • Отправить сообщение для RoboMaks с помощью Skype™
I esli order zakrilsea, stob ne otkrival drughie ordera do poevlenia sledusego signala po indikatoru "beforexguru.mq4".
Это с чередованием ордеров, без промежуточных повторов.
cesiek 
29.08.2015, 17:48
Аватар для rich
rich rich вне форума Местный житель
Регистрация: 05.02.2009 / Сообщений: 1
Поблагодарили 3 раз(а) / Репутация: 3
Доброго времени суток.
Исправте индикатор.В папке лежит,а в терминале нет.
29.08.2015, 18:36
Аватар для AlanG
AlanG AlanG вне форума Элитный участник
Регистрация: 10.01.2011 / Адрес: Казахстан / Сообщений: 1,338
Поблагодарили 1,145 раз(а) / Репутация: 1163
Доброго времени суток.
Исправте индикатор.В папке лежит,а в терминале нет.
Я не программист!!!!
Цитата:
Фридрих Энгельс
«Стремление к счастью... нуждается больше всего в материальных средствах...»
―Фридрих Энгельс
leostan , rich 
29.08.2015, 22:17
Аватар для gek
gek gek на форуме Местный знаток
Регистрация: 26.08.2008 / Сообщений: 3,410
Поблагодарили 859 раз(а) / Репутация: 862
Сообщение от: Maks Shukurov
Это с чередованием ордеров, без промежуточных повторов.
Входит по стрелке?
30.08.2015, 01:27
Аватар для RoboMaks
RoboMaks RoboMaks вне форума Элитный участник
Регистрация: 19.08.2012 / Адрес: Баку, Азербайджан / Сообщений: 651
Поблагодарили 1,121 раз(а) / Репутация: 1131
  • Отправить сообщение для RoboMaks с помощью Skype™
Входит по стрелке?
Да, по стрелке - на скрине ( #1389 ) видно. Один ордер на каждой стрелке. Но необходимо учитывать, что значение Sensitivity в сове и индюке должны быть одинаковыми, иначе будет каша.
gek 
30.08.2015, 09:53
Аватар для kaprall
kaprall kaprall на форуме Местный знаток
Регистрация: 21.02.2014 / Адрес: UAХарьков / Сообщений: 495
Поблагодарили 739 раз(а) / Репутация: 740
Здравствуйте! Почините пожалуйста, не ставится на график
Героям слава !!!
Индикаторы нашел, ищу Способы Разгона...
30.08.2015, 12:21
Аватар для borobor
borobor borobor вне форума Элитный участник
Регистрация: 03.05.2009 / Адрес: новосибирск / Сообщений: 935
Поблагодарили 1,556 раз(а) / Репутация: 1567
Здравствуйте! Почините пожалуйста, не ставится на график
индикатор скинь ELabunskyVolaPresser v1.01.ex4
30.08.2015, 12:35
Аватар для kaprall
kaprall kaprall на форуме Местный знаток
Регистрация: 21.02.2014 / Адрес: UAХарьков / Сообщений: 495
Поблагодарили 739 раз(а) / Репутация: 740
Здравствуйте! Почините пожалуйста, не ставится на график
индикатор скинь ELabunskyVolaPresser v1.01.ex4
.
Героям слава !!!
Индикаторы нашел, ищу Способы Разгона...
30.08.2015, 14:21
Аватар для AlexK11
AlexK11 AlexK11 вне форума Интересующийся
Регистрация: 26.11.2013 / Сообщений: 10
Поблагодарили 0 раз(а) / Репутация: 1
Господа!
Не могли бы Вы исправить в советнике вместо открытия ордеров BuyStop и SellStop
должны открываться лимитники для работы внутрь диапазона BuyLimit и SellLimit


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

/*
G e n e r a t e d by ex4-to-mq4 decompiler FREEWARE 4.0.509.5
Website: H Tt P : // W w W. meTaQ Uo T es. n E T
E-mail : SU P p Ort@m E t aqUo Te s. Net
*/
#property copyright "Copyright © 2009, Expforex"
#property link "http://expforex.at.ua"

extern bool BuyStopOpen = TRUE;
extern bool SellStopOpen = TRUE;
extern int Distance = 20;
extern int TPBuyStop = 0;
extern int SLBuyStop = 0;
extern int TPSellStop = 0;
extern int SLSellStop = 0;
extern bool CloseAfterOpen = FALSE;
extern double Lots = 0.1;
extern int Slippage = 1;
extern int Magic = 1;
extern bool CloseIfNotOpen = TRUE;
extern bool OpenAtTime = TRUE;
extern string TimetoOpen = "12:30";
extern bool CloseAtTime = TRUE;
extern string TimetoClose = "15:30";
double Gd_152;
double Gd_160;
int G_ticket_168;
int G_ticket_172;

int start() {
int order_total_4;
if (StrToTime(TimetoOpen) == TimeCurrent() && MagicTotalOrder(Magic, 1) && OpenAtTime) {
if (CloseIfNotOpen) DeleteOrders("", -1, -1);
if (BuyStopOpen) {
if (SLBuyStop > 0) Gd_152 = Ask + Distance * Point - SLBuyStop * Point;
else Gd_152 = 0;
if (TPBuyStop > 0) Gd_160 = Ask + Distance * Point + TPBuyStop * Point;
else Gd_160 = 0;
G_ticket_172 = SetOrder("", OP_BUYSTOP, Lots, Ask + Distance * Point, Gd_152, Gd_160, Magic);
}
if (SellStopOpen) {
if (SLSellStop > 0) Gd_152 = Bid - Distance * Point + SLSellStop * Point;
else Gd_152 = 0;
if (TPSellStop > 0) Gd_160 = Bid - Distance * Point - TPSellStop * Point;
else Gd_160 = 0;
G_ticket_168 = SetOrder("", OP_SELLSTOP, Lots, Bid - Distance * Point, Gd_152, Gd_160, Magic);
}
}
if (StrToTime(TimetoClose) == TimeCurrent() && CloseAtTime) {
if (BuyStopOpen) CPD("", OP_BUY, Magic);
if (SellStopOpen) CPD("", OP_SELL, Magic);
}
if (CloseAfterOpen) {
order_total_4 = OrdersTotal();
for (int pos_0 = order_total_4 - 1; pos_0 >= 0; pos_0--) {
if (OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType() == OP_BUY && OrderTicket() == G_ticket_172) OrderDelete(G_ticket_168);
if (OrderType() == OP_SELL && OrderTicket() == G_ticket_168) OrderDelete(G_ticket_172);
}
}
}
return (0);
}

int SetOrder(string A_symbol_0, int A_cmd_8, double A_lots_12, double A_price_20, double A_price_28 = 0.0, double A_price_36 = 0.0, int A_magic_44 = 0, int A_datetime_48 = 0, string A_comment_52 = "") {
color color_60;
int datetime_64;
double ask_68;
double bid_76;
double point_84;
int error_92;
int ticket_100;
if (A_symbol_0 == "" || A_symbol_0 == "0") A_symbol_0 = Symbol();
int stoplevel_104 = MarketInfo(A_symbol_0, MODE_STOPLEVEL);
if (A_datetime_48 > 0 && A_datetime_48 < TimeCurrent()) A_datetime_48 = 0;
for (int Li_96 = 1; Li_96 <= 1; Li_96++) {
if ((!IsTesting()) && (!IsExpertEnabled()) || IsStopped()) {
Print("SetOrder(): Остановка работы функции");
break;
}
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
datetime_64 = TimeCurrent();
ticket_100 = OrderSend(A_symbol_0, A_cmd_8, A_lots_12, A_price_20, Slippage, A_price_28, A_price_36, A_comment_52, A_magic_44, A_datetime_48, color_60);
if (ticket_100 > 0) return (ticket_100);
error_92 = GetLastError();
if (error_92 == 128/* TRADE_TIMEOUT */ || error_92 == 142 || error_92 == 143) {
Sleep(66000);
if (ExistOrders(A_symbol_0, A_cmd_8, A_magic_44, datetime_64)) break;
} else {
point_84 = MarketInfo(A_symbol_0, MODE_POINT);
ask_68 = MarketInfo(A_symbol_0, MODE_ASK);
bid_76 = MarketInfo(A_symbol_0, MODE_BID);
if (ask_68 == 0.0 && bid_76 == 0.0) Comment("SetOrder(): Проверьте в обзоре рынка наличие символа " + A_symbol_0);
if (error_92 == 130/* INVALID_STOPS */) {
switch (A_cmd_8) {
case OP_BUYLIMIT:
if (A_price_20 > ask_68 - stoplevel_104 * point_84) A_price_20 = ask_68 - stoplevel_104 * point_84;
if (A_price_28 > A_price_20 - (stoplevel_104 + 1) * point_84) A_price_28 = A_price_20 - (stoplevel_104 + 1) * point_84;
if (!(A_price_36 > 0.0 && A_price_36 < A_price_20 + (stoplevel_104 + 1) * point_84)) break;
A_price_36 = A_price_20 + (stoplevel_104 + 1) * point_84;
break;
case OP_BUYSTOP:
if (A_price_20 < ask_68 + (stoplevel_104 + 1) * point_84) A_price_20 = ask_68 + (stoplevel_104 + 1) * point_84;
if (A_price_28 > A_price_20 - (stoplevel_104 + 1) * point_84) A_price_28 = A_price_20 - (stoplevel_104 + 1) * point_84;
if (!(A_price_36 > 0.0 && A_price_36 < A_price_20 + (stoplevel_104 + 1) * point_84)) break;
A_price_36 = A_price_20 + (stoplevel_104 + 1) * point_84;
break;
case OP_SELLLIMIT:
if (A_price_20 < bid_76 + stoplevel_104 * point_84) A_price_20 = bid_76 + stoplevel_104 * point_84;
if (A_price_28 > 0.0 && A_price_28 < A_price_20 + (stoplevel_104 + 1) * point_84) A_price_28 = A_price_20 + (stoplevel_104 + 1) * point_84;
if (A_price_36 <= A_price_20 - (stoplevel_104 + 1) * point_84) break;
A_price_36 = A_price_20 - (stoplevel_104 + 1) * point_84;
break;
case OP_SELLSTOP:
if (A_price_20 > bid_76 - stoplevel_104 * point_84) A_price_20 = bid_76 - stoplevel_104 * point_84;
if (A_price_28 > 0.0 && A_price_28 < A_price_20 + (stoplevel_104 + 1) * point_84) A_price_28 = A_price_20 + (stoplevel_104 + 1) * point_84;
if (A_price_36 <= A_price_20 - (stoplevel_104 + 1) * point_84) break;
A_price_36 = A_price_20 - (stoplevel_104 + 1) * point_84;
}
Print("SetOrder(): Скорректированы ценовые уровни");
}
if (error_92 == 2/* COMMON_ERROR */ || error_92 == 64/* ACCOUNT_DISABLED */ || error_92 == 65/* INVALID_ACCOUNT */ || error_92 == 133/* TRADE_DISABLED */) break;
if (error_92 == 4/* SERVER_BUSY */ || error_92 == 131/* INVALID_TRADE_VOLUME */ || error_92 == 132/* MARKET_CLOSED */) {
Sleep(300000);
break;
}
if (error_92 == 8/* TOO_FREQUENT_REQUESTS */ || error_92 == 141/* TOO_MANY_REQUESTS */) Sleep(100000);
if (error_92 == 139/* ORDER_LOCKED */ || error_92 == 140/* LONG_POSITIONS_ONLY_ALLOWED */ || error_92 == 148/* TRADE_TOO_MANY_ORDERS */) break;
if (error_92 == 146/* TRADE_CONTEXT_BUSY */) while (IsTradeContextBusy()) Sleep(11000);
if (error_92 == 147/* TRADE_EXPIRATION_DENIED */) A_datetime_48 = 0;
else
if (error_92 != 135/* PRICE_CHANGED */ && error_92 != 138/* REQUOTE */) Sleep(7700.0);
}
}
return (0);
}

void CPBS() {
bool is_closed_0;
color color_4;
double order_lots_8;
double price_16;
double price_24;
double price_32;
int error_40;
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
for (int Li_44 = 1; Li_44 <= 1; Li_44++) {
if (!IsTesting() && (!IsExpertEnabled()) || IsStopped()) break;
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
price_16 = MarketInfo(OrderSymbol(), MODE_ASK);
price_24 = MarketInfo(OrderSymbol(), MODE_BID);
if (OrderType() == OP_BUY) price_32 = price_24;
else price_32 = price_16;
order_lots_8 = OrderLots();
is_closed_0 = OrderClose(OrderTicket(), order_lots_8, price_32, Slippage, color_4);
if (is_closed_0) break;
error_40 = GetLastError();
if (error_40 == 146/* TRADE_CONTEXT_BUSY */) while (IsTradeContextBusy()) Sleep(11000);
Sleep(5000);
}
} else Print("Некорректная торговая операция. Close ", OrderType());
}

void CPD(string As_0 = "", int A_cmd_8 = -1, int A_magic_12 = -1) {
int order_total_20 = OrdersTotal();
if (As_0 == "0") As_0 = Symbol();
for (int pos_16 = order_total_20 - 1; pos_16 >= 0; pos_16--) {
if (OrderSelect(pos_16, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == As_0 || As_0 == "" && A_cmd_8 < OP_BUY || OrderType() == A_cmd_8) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL)
if (A_magic_12 < 0 || OrderMagicNumber() == A_magic_12) CPBS();
}
}
}
}

int MagicTotalOrder(int A_magic_0, int Ai_4) {
int Li_16;
int order_total_12 = OrdersTotal();
for (int pos_8 = 0; pos_8 < order_total_12; pos_8++) {
if (OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES))
if (OrderMagicNumber() == A_magic_0) Li_16++;
}
if (Li_16 < Ai_4) return (1);
return (0);
}

int ExistOrders(string As_0 = "", int A_cmd_8 = -1, int A_magic_12 = -1, int Ai_16 = 0) {
int cmd_28;
int order_total_24 = OrdersTotal();
if (As_0 == "0") As_0 = Symbol();
for (int pos_20 = 0; pos_20 < order_total_24; pos_20++) {
if (OrderSelect(pos_20, SELECT_BY_POS, MODE_TRADES)) {
cmd_28 = OrderType();
if (cmd_28 > OP_SELL && cmd_28 < 6) {
if (OrderSymbol() == As_0 || As_0 == "" && A_cmd_8 < OP_BUY || cmd_28 == A_cmd_8) {
if (A_magic_12 < 0 || OrderMagicNumber() == A_magic_12)
if (Ai_16 <= OrderOpenTime()) return (1);
}
}
}
}
return (0);
}

void DeleteOrders(string As_0 = "", int A_cmd_8 = -1, int A_magic_12 = -1) {
bool is_deleted_16;
int error_20;
int cmd_36;
int order_total_32 = OrdersTotal();
if (As_0 == "0") As_0 = Symbol();
for (int pos_24 = order_total_32 - 1; pos_24 >= 0; pos_24--) {
if (OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES)) {
cmd_36 = OrderType();
if (cmd_36 > OP_SELL && cmd_36 < 6) {
if (OrderSymbol() == As_0 || As_0 == "" && A_cmd_8 < OP_BUY || cmd_36 == A_cmd_8) {
if (A_magic_12 < 0 || OrderMagicNumber() == A_magic_12) {
for (int Li_28 = 1; Li_28 <= 1; Li_28++) {
if (!IsTesting() && (!IsExpertEnabled()) || IsStopped()) break;
while (!IsTradeAllowed()) Sleep(5000);
is_deleted_16 = OrderDelete(OrderTicket());
if (is_deleted_16) break;
error_20 = GetLastError();
Sleep(5000);
}
}
}
}
}
}
}
[свернуть]

Последний раз редактировалось NSerega; 30.08.2015 в 22:07.
30.08.2015, 18:47
Аватар для MAYORZ
MAYORZ MAYORZ вне форума Местный знаток
Регистрация: 27.03.2015 / Сообщений: 316
Поблагодарили 544 раз(а) / Репутация: 545
В соседней ветке выложили часы. Подправьте пожалуйста.
30.08.2015, 18:55
Аватар для AlanG
AlanG AlanG вне форума Элитный участник
Регистрация: 10.01.2011 / Адрес: Казахстан / Сообщений: 1,338
Поблагодарили 1,145 раз(а) / Репутация: 1163
В соседней ветке выложили часы. Подправьте пожалуйста.
Я не программист!!!!
Цитата:
Фридрих Энгельс
«Стремление к счастью... нуждается больше всего в материальных средствах...»
―Фридрих Энгельс
30.08.2015, 18:58
Аватар для AlanG
AlanG AlanG вне форума Элитный участник
Регистрация: 10.01.2011 / Адрес: Казахстан / Сообщений: 1,338
Поблагодарили 1,145 раз(а) / Репутация: 1163
Господа!
Не могли бы Вы исправить в советнике вместо открытия ордеров BuyStop и SellStop
должны открываться лимитники для работы внутрь диапазона BuyLimit и SellLimit

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

Господа!
Не могли бы Вы исправить в советнике вместо открытия ордеров BuyStop и SellStop
должны открываться лимитники для работы внутрь диапазона BuyLimit и SellLimit


/*
G e n e r a t e d by ex4-to-mq4 decompiler FREEWARE 4.0.509.5
Website: H Tt P : // W w W. meTaQ Uo T es. n E T
E-mail : SU P p Ort@m E t aqUo Te s. Net
*/
#property copyright "Copyright © 2009, Expforex"
#property link "http://expforex.at.ua"

extern bool BuyStopOpen = TRUE;
extern bool SellStopOpen = TRUE;
extern int Distance = 20;
extern int TPBuyStop = 0;
extern int SLBuyStop = 0;
extern int TPSellStop = 0;
extern int SLSellStop = 0;
extern bool CloseAfterOpen = FALSE;
extern double Lots = 0.1;
extern int Slippage = 1;
extern int Magic = 1;
extern bool CloseIfNotOpen = TRUE;
extern bool OpenAtTime = TRUE;
extern string TimetoOpen = "12:30";
extern bool CloseAtTime = TRUE;
extern string TimetoClose = "15:30";
double Gd_152;
double Gd_160;
int G_ticket_168;
int G_ticket_172;

int start() {
int order_total_4;
if (StrToTime(TimetoOpen) == TimeCurrent() && MagicTotalOrder(Magic, 1) && OpenAtTime) {
if (CloseIfNotOpen) DeleteOrders("", -1, -1);
if (BuyStopOpen) {
if (SLBuyStop > 0) Gd_152 = Ask + Distance * Point - SLBuyStop * Point;
else Gd_152 = 0;
if (TPBuyStop > 0) Gd_160 = Ask + Distance * Point + TPBuyStop * Point;
else Gd_160 = 0;
G_ticket_172 = SetOrder("", OP_BUYSTOP, Lots, Ask + Distance * Point, Gd_152, Gd_160, Magic);
}
if (SellStopOpen) {
if (SLSellStop > 0) Gd_152 = Bid - Distance * Point + SLSellStop * Point;
else Gd_152 = 0;
if (TPSellStop > 0) Gd_160 = Bid - Distance * Point - TPSellStop * Point;
else Gd_160 = 0;
G_ticket_168 = SetOrder("", OP_SELLSTOP, Lots, Bid - Distance * Point, Gd_152, Gd_160, Magic);
}
}
if (StrToTime(TimetoClose) == TimeCurrent() && CloseAtTime) {
if (BuyStopOpen) CPD("", OP_BUY, Magic);
if (SellStopOpen) CPD("", OP_SELL, Magic);
}
if (CloseAfterOpen) {
order_total_4 = OrdersTotal();
for (int pos_0 = order_total_4 - 1; pos_0 >= 0; pos_0--) {
if (OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType() == OP_BUY && OrderTicket() == G_ticket_172) OrderDelete(G_ticket_168);
if (OrderType() == OP_SELL && OrderTicket() == G_ticket_168) OrderDelete(G_ticket_172);
}
}
}
return (0);
}

int SetOrder(string A_symbol_0, int A_cmd_8, double A_lots_12, double A_price_20, double A_price_28 = 0.0, double A_price_36 = 0.0, int A_magic_44 = 0, int A_datetime_48 = 0, string A_comment_52 = "") {
color color_60;
int datetime_64;
double ask_68;
double bid_76;
double point_84;
int error_92;
int ticket_100;
if (A_symbol_0 == "" || A_symbol_0 == "0") A_symbol_0 = Symbol();
int stoplevel_104 = MarketInfo(A_symbol_0, MODE_STOPLEVEL);
if (A_datetime_48 > 0 && A_datetime_48 < TimeCurrent()) A_datetime_48 = 0;
for (int Li_96 = 1; Li_96 <= 1; Li_96++) {
if ((!IsTesting()) && (!IsExpertEnabled()) || IsStopped()) {
Print("SetOrder(): Остановка работы функции");
break;
}
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
datetime_64 = TimeCurrent();
ticket_100 = OrderSend(A_symbol_0, A_cmd_8, A_lots_12, A_price_20, Slippage, A_price_28, A_price_36, A_comment_52, A_magic_44, A_datetime_48, color_60);
if (ticket_100 > 0) return (ticket_100);
error_92 = GetLastError();
if (error_92 == 128/* TRADE_TIMEOUT */ || error_92 == 142 || error_92 == 143) {
Sleep(66000);
if (ExistOrders(A_symbol_0, A_cmd_8, A_magic_44, datetime_64)) break;
} else {
point_84 = MarketInfo(A_symbol_0, MODE_POINT);
ask_68 = MarketInfo(A_symbol_0, MODE_ASK);
bid_76 = MarketInfo(A_symbol_0, MODE_BID);
if (ask_68 == 0.0 && bid_76 == 0.0) Comment("SetOrder(): Проверьте в обзоре рынка наличие символа " + A_symbol_0);
if (error_92 == 130/* INVALID_STOPS */) {
switch (A_cmd_8) {
case OP_BUYLIMIT:
if (A_price_20 > ask_68 - stoplevel_104 * point_84) A_price_20 = ask_68 - stoplevel_104 * point_84;
if (A_price_28 > A_price_20 - (stoplevel_104 + 1) * point_84) A_price_28 = A_price_20 - (stoplevel_104 + 1) * point_84;
if (!(A_price_36 > 0.0 && A_price_36 < A_price_20 + (stoplevel_104 + 1) * point_84)) break;
A_price_36 = A_price_20 + (stoplevel_104 + 1) * point_84;
break;
case OP_BUYSTOP:
if (A_price_20 < ask_68 + (stoplevel_104 + 1) * point_84) A_price_20 = ask_68 + (stoplevel_104 + 1) * point_84;
if (A_price_28 > A_price_20 - (stoplevel_104 + 1) * point_84) A_price_28 = A_price_20 - (stoplevel_104 + 1) * point_84;
if (!(A_price_36 > 0.0 && A_price_36 < A_price_20 + (stoplevel_104 + 1) * point_84)) break;
A_price_36 = A_price_20 + (stoplevel_104 + 1) * point_84;
break;
case OP_SELLLIMIT:
if (A_price_20 < bid_76 + stoplevel_104 * point_84) A_price_20 = bid_76 + stoplevel_104 * point_84;
if (A_price_28 > 0.0 && A_price_28 < A_price_20 + (stoplevel_104 + 1) * point_84) A_price_28 = A_price_20 + (stoplevel_104 + 1) * point_84;
if (A_price_36 <= A_price_20 - (stoplevel_104 + 1) * point_84) break;
A_price_36 = A_price_20 - (stoplevel_104 + 1) * point_84;
break;
case OP_SELLSTOP:
if (A_price_20 > bid_76 - stoplevel_104 * point_84) A_price_20 = bid_76 - stoplevel_104 * point_84;
if (A_price_28 > 0.0 && A_price_28 < A_price_20 + (stoplevel_104 + 1) * point_84) A_price_28 = A_price_20 + (stoplevel_104 + 1) * point_84;
if (A_price_36 <= A_price_20 - (stoplevel_104 + 1) * point_84) break;
A_price_36 = A_price_20 - (stoplevel_104 + 1) * point_84;
}
Print("SetOrder(): Скорректированы ценовые уровни");
}
if (error_92 == 2/* COMMON_ERROR */ || error_92 == 64/* ACCOUNT_DISABLED */ || error_92 == 65/* INVALID_ACCOUNT */ || error_92 == 133/* TRADE_DISABLED */) break;
if (error_92 == 4/* SERVER_BUSY */ || error_92 == 131/* INVALID_TRADE_VOLUME */ || error_92 == 132/* MARKET_CLOSED */) {
Sleep(300000);
break;
}
if (error_92 == 8/* TOO_FREQUENT_REQUESTS */ || error_92 == 141/* TOO_MANY_REQUESTS */) Sleep(100000);
if (error_92 == 139/* ORDER_LOCKED */ || error_92 == 140/* LONG_POSITIONS_ONLY_ALLOWED */ || error_92 == 148/* TRADE_TOO_MANY_ORDERS */) break;
if (error_92 == 146/* TRADE_CONTEXT_BUSY */) while (IsTradeContextBusy()) Sleep(11000);
if (error_92 == 147/* TRADE_EXPIRATION_DENIED */) A_datetime_48 = 0;
else
if (error_92 != 135/* PRICE_CHANGED */ && error_92 != 138/* REQUOTE */) Sleep(7700.0);
}
}
return (0);
}

void CPBS() {
bool is_closed_0;
color color_4;
double order_lots_8;
double price_16;
double price_24;
double price_32;
int error_40;
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
for (int Li_44 = 1; Li_44 <= 1; Li_44++) {
if (!IsTesting() && (!IsExpertEnabled()) || IsStopped()) break;
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
price_16 = MarketInfo(OrderSymbol(), MODE_ASK);
price_24 = MarketInfo(OrderSymbol(), MODE_BID);
if (OrderType() == OP_BUY) price_32 = price_24;
else price_32 = price_16;
order_lots_8 = OrderLots();
is_closed_0 = OrderClose(OrderTicket(), order_lots_8, price_32, Slippage, color_4);
if (is_closed_0) break;
error_40 = GetLastError();
if (error_40 == 146/* TRADE_CONTEXT_BUSY */) while (IsTradeContextBusy()) Sleep(11000);
Sleep(5000);
}
} else Print("Некорректная торговая операция. Close ", OrderType());
}

void CPD(string As_0 = "", int A_cmd_8 = -1, int A_magic_12 = -1) {
int order_total_20 = OrdersTotal();
if (As_0 == "0") As_0 = Symbol();
for (int pos_16 = order_total_20 - 1; pos_16 >= 0; pos_16--) {
if (OrderSelect(pos_16, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == As_0 || As_0 == "" && A_cmd_8 < OP_BUY || OrderType() == A_cmd_8) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL)
if (A_magic_12 < 0 || OrderMagicNumber() == A_magic_12) CPBS();
}
}
}
}

int MagicTotalOrder(int A_magic_0, int Ai_4) {
int Li_16;
int order_total_12 = OrdersTotal();
for (int pos_8 = 0; pos_8 < order_total_12; pos_8++) {
if (OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES))
if (OrderMagicNumber() == A_magic_0) Li_16++;
}
if (Li_16 < Ai_4) return (1);
return (0);
}

int ExistOrders(string As_0 = "", int A_cmd_8 = -1, int A_magic_12 = -1, int Ai_16 = 0) {
int cmd_28;
int order_total_24 = OrdersTotal();
if (As_0 == "0") As_0 = Symbol();
for (int pos_20 = 0; pos_20 < order_total_24; pos_20++) {
if (OrderSelect(pos_20, SELECT_BY_POS, MODE_TRADES)) {
cmd_28 = OrderType();
if (cmd_28 > OP_SELL && cmd_28 < 6) {
if (OrderSymbol() == As_0 || As_0 == "" && A_cmd_8 < OP_BUY || cmd_28 == A_cmd_8) {
if (A_magic_12 < 0 || OrderMagicNumber() == A_magic_12)
if (Ai_16 <= OrderOpenTime()) return (1);
}
}
}
}
return (0);
}

void DeleteOrders(string As_0 = "", int A_cmd_8 = -1, int A_magic_12 = -1) {
bool is_deleted_16;
int error_20;
int cmd_36;
int order_total_32 = OrdersTotal();
if (As_0 == "0") As_0 = Symbol();
for (int pos_24 = order_total_32 - 1; pos_24 >= 0; pos_24--) {
if (OrderSelect(pos_24, SELECT_BY_POS, MODE_TRADES)) {
cmd_36 = OrderType();
if (cmd_36 > OP_SELL && cmd_36 < 6) {
if (OrderSymbol() == As_0 || As_0 == "" && A_cmd_8 < OP_BUY || cmd_36 == A_cmd_8) {
if (A_magic_12 < 0 || OrderMagicNumber() == A_magic_12) {
for (int Li_28 = 1; Li_28 <= 1; Li_28++) {
if (!IsTesting() && (!IsExpertEnabled()) || IsStopped()) break;
while (!IsTradeAllowed()) Sleep(5000);
is_deleted_16 = OrderDelete(OrderTicket());
if (is_deleted_16) break;
error_20 = GetLastError();
Sleep(5000);
}
}
}
}
}
}
}
[свернуть]

ты бы еще сюда все библиотеки скинул в тексте!
файл кидай тогда по правят
Я не программист!!!!
Цитата:
Фридрих Энгельс
«Стремление к счастью... нуждается больше всего в материальных средствах...»
―Фридрих Энгельс
Ответить

Метки
больничка, исправить индикатор, поправить советника, программисты mql


Опции темы

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

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



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


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