Скачать MetaTrader 5

Ошибка функция OrderSend()

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

Привет умным головам! Подскажите,при компиляции выдает ошибку "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
Модератор
14650
Victor Nikolaev  
nepekyn:

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



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

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

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


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

Alexey Viktorov
8000
Alexey Viktorov  
evillive:

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


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

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


тут речь именно о компиляции уже стыренного декомпилированного, так вот новый компилятор никак не препятствует этому, код компилится, полученный ех4 запускается.
Alexey Viktorov
8000
Alexey Viktorov  
Так и я о том-же. То что старое декомпилят и уже декомпильнули уже никого не интересует, пусть компилится. А то что было сделано в 509м билде это, мягко выражаясь, мёртвому припарки... Самый простой вариант компилировать декомпил, это перевести системную дату на май, апрель 2013г. и всё компилится на ура... С этим вряд-ли что можно сделать... Не это, так найдут другую возможность откомпилировать.
nepekyn
45
nepekyn  
Да,все декомпилится работает...только вот эти неприятные предупреждения при компиляции.
Vasyl Nosal
18649
Vasyl Nosal  

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

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

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

int gic=-1;

gic=OrderSend();

if(gic>-1) ...

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

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