Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Скачай MetaTrader 5 и начни торговать уже сегодня!
nepekyn
44
nepekyn 2014.05.09 18:33 

Привет умным головам! Подскажите,при компиляции выдает ошибку "return value of 'OrderSend' should be checked" указывает вот на эту строку:

OrderSend(Symbol(), OP_BUY, lots, l_price_12, g_slippage_376, l_price_28, l_price_20, "2ss", MagicNumber, 0, Lime);

Полностью кусок кода вот:

int start() {

double l_price_12;

double l_price_20;

double l_price_28;

int li_36;

int l_slippage_40;

if (TimeCurrent() > StrToTime("2099.04.23")) {

}

int li_0 = Juice(gi_364);

int li_4 = CrossMA(gi_364);

int li_8 = MAXTrendLineDots(gi_364);

if (li_0 == 1 & li_4 == 0 | li_4 == 2 & li_8 == 0 | li_8 == 2) {

Comment("Пришел сигнал на покупку");

if (gi_332 == TRUE) {

if (g_time_464 != Time[0]) {

Alert(Symbol() + "-" + Period() + ": Пришел сигнал на покупку");

g_time_464 = Time[0];

}

return (0);

}

if (gi_124 == TRUE && DayOfWeek() == 5 && TimeCurrent() >= StrToTime(gi_128 + ":00")) return (0);

l_price_12 = NormalizeDouble(Ask, Digits);

l_price_20 = NormalizeDouble(Ask + TakeProfit * Point, Digits);

if (TakeProfit == 0) l_price_20 = 0;

l_price_28 = NormalizeDouble(Ask - StopLoss * Point, Digits);

if (StopLoss == 0) l_price_28 = 0;

CalcLot();

li_36 = OrderExists(OP_BUY);

if (li_36 < MaxTrades && OrderSymbol() == Symbol()) {

if (li_36 == -1) {

Print("Сигнал на покупку, открываем ордер BUY #" + li_36 + "");

OrderSend(Symbol(), OP_BUY, lots, l_price_12, g_slippage_376, l_price_28, l_price_20, "Buldozer", MagicNumber, 0, Lime);

PrintError(343);

if (li_36 > MaxTrades && OrderSymbol() == Symbol()) return (-1);

}

}

}

if (li_0 == 1 & li_4 == 1 | li_4 == 2 && li_8 == 1 | li_8 == 2) {

Comment("Пришел сигнал на продажу");

if (gi_332 == TRUE) {

if (g_time_464 != Time[0]) {

Alert(Symbol() + "-" + Period() + ": Пришел сигнал на продажу");

g_time_464 = Time[0];

}

return (0);

}

Что делать светлые вы наши головушки?

Victor Nikolaev
Модератор
14031
Victor Nikolaev 2014.05.10 01:36  
nepekyn:

Привет умным головам! Подскажите,при компиляции выдает ошибку "return value of 'OrderSend' should be checked" указывает вот на эту строку:



И как декомпил компилируется?
Vitalie Postolache
10999
Vitalie Postolache 2014.05.10 11:18  
Vinin:

И как декомпил компилируется?

Компилится на ура любой декомпил до сих пор (скорее всего, декомпилы кодов собранных ещё при 500 билдах), разработчики в этом направлении даже не почесались ещё...


Наверное весь упор на то что новые коды только через маркет с его пресловутой "непробиваемой криптозащитой" распространяться будут :)

Alexey Viktorov
5174
Alexey Viktorov 2014.05.10 11:22  
evillive:

Компилится на ура любой декомпил до сих пор, разработчики в этом направлении даже не почесались ещё...


Наверное весь упор на то что новые коды только через маркет с его пресловутой "непробиваемой криптозащитой" распространяться будут :)

Я просил декомпильнуть тестовый код. У человека, вроде, хороший декомпилятор и многим "помогал", а вот этот не получилось. Может и сделано что-то?...
Vitalie Postolache
10999
Vitalie Postolache 2014.05.10 11:32  
AlexeyVik:
Я просил декомпильнуть тестовый код. У человека, вроде, хороший декомпилятор и многим "помогал", а вот этот не получилось. Может и сделано что-то?...


тут речь именно о компиляции уже стыренного декомпилированного, так вот новый компилятор никак не препятствует этому, код компилится, полученный ех4 запускается.
Alexey Viktorov
5174
Alexey Viktorov 2014.05.10 12:08  
Так и я о том-же. То что старое декомпилят и уже декомпильнули уже никого не интересует, пусть компилится. А то что было сделано в 509м билде это, мягко выражаясь, мёртвому припарки... Самый простой вариант компилировать декомпил, это перевести системную дату на май, апрель 2013г. и всё компилится на ура... С этим вряд-ли что можно сделать... Не это, так найдут другую возможность откомпилировать.
nepekyn
44
nepekyn 2014.05.10 17:06  
Да,все декомпилится работает...только вот эти неприятные предупреждения при компиляции.
Vasyl Nosal
18201
Vasyl Nosal 2014.05.11 11:18  

Это такое нововведение.

Типа ordersend вернёт тикет или -1.

И ты должен теперь писать типа

int gic=-1;

gic=OrderSend();

if(gic>-1) ...

Я считаю что глупость сделали разработчики.

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий