Greetings to all
I am a new member in this forum.
I need help from you all on this forum.
My name is Livia, Im from Indonesia
I’m sorry if my english looks bad.
I have a problem with my trading account instaforex,
my trading account: 2200826
I see balance in my trading account was reduced by $162.27,
with comment «CANCEL ERROR ORDERS».
I have confirm to claim
I get reply like this:
Dear Client,
Please be informed that Short orders were cancelled by the Anti-fraud Department according to the paragraph 3.14.6. of the Public Offer Agreement.
If you have any questions please do not hesitate to contact us in future. Thank you for your letter.
When I asked for an explanation, they do not respond me again.
Then I confirm again, to dealer@instaforex.com
I get reply like this:
Please be informed that Short orders were cancelled by the Anti-fraud Department according to the paragraph 3.14.6. of the Public Offer Agreement.
The cancelled orders were, Ticket number- 1185013709, 1185095144, 1185095104, 1185094984, 1185095011, 1185014407, 1184906676, 1184906671, 1184756055, 1184733031, 1184742277, 1184613699, 1184613222, 1184612957, 1184612988, 1184427439, 1184426972, 1184282791, 1184284363, 1184340241, 1184340272, 1184282921, 1183969918, 1183942260, 1183969897, 1183969921, 1183578304, 1183640794, 1183568372, 1183667318, 1183713669, 1183713672, 1183713784, 1183713898,
You can also check it from your Client Cabinet > Trading account > History of Trades.
then I have check my history about order number that considered to break the rules.
And I see he just mention the order number, which canceled by me.
and it is a pending order, such as SELL LIMIT, BUY LIMIT, SELL STOP, and BUY STOP.
it is the number of orders canceled by me, and the order was not yet executed by the market.
I think it was a mistake,
not possible, I’m cancelling My pending orders (not yet touched by the market price) is considered violating.
I have explained it, but dealer not reply again..
Then I confirm again, to antifraud@mail.instaforex.com.
But, He just asked my trading account number, then nothing respond again until now I’m post here.
This is day 5 since the first time I sent a report to antifraud@mail.instaforex.com.
I am confused to confirm where else?
I hope someone can help me..
Код ошибки | Тип ошибки | Текст ошибки | Причины возникновения и рекомендации по устранению |
---|---|---|---|
12001 | UNIMPLEMENTED | Method is unimplemented | Метод не реализован. |
30001 | INVALID_ARGUMENT | missing parameter: ‘from’ | Входной параметр from является обязательным. Укажите корректный параметр from. |
30002 | INVALID_ARGUMENT | the required period should not exceed 7 days | Запрошенный период не может превышать 7 дней. Укажите корректный период. |
30003 | INVALID_ARGUMENT | ‘from’ can’t be less than the current date | Входной параметр from не может быть меньше текущей даты. Укажите корректный параметр from. |
30004 | INVALID_ARGUMENT | missing parameter: ‘to’ | Входной параметр to является обязательным. Укажите корректный параметр to. |
30005 | INVALID_ARGUMENT | ‘id_type’ is invalid | Входной параметр id_type имеет некорректное значение. Список доступных значений: id_type. |
30006 | INVALID_ARGUMENT | missing parameter: ‘id_type’ | Входной параметр id_type является обязательным. Укажите корректный параметр id_type. |
30007 | INVALID_ARGUMENT | missing parameter: ‘id’ | Входной параметр id является обязательным. Укажите корректный параметр id. |
30008 | INVALID_ARGUMENT | missing parameter: ‘figi’ | Входной параметр figi является обязательным. Укажите корректный параметр figi. |
30009 | INVALID_ARGUMENT | ‘from’ is invalid | Входной параметр from имеет некорректное значение. Укажите корректный параметр from. |
30010 | INVALID_ARGUMENT | ‘to’ is invalid | Входной параметр to имеет некорректное значение. Укажите корректный параметр to. |
30011 | INVALID_ARGUMENT | interval is invalid | Входной параметр interval имеет некорректное значение. Список доступных значений: interval. |
30012 | INVALID_ARGUMENT | ‘to’ can’t be less than ‘from’ | Входной параметр to не может быть меньше параметра from. Укажите корректные параметры from и to. |
30013 | INVALID_ARGUMENT | ‘class_code’ require for ‘id_type’ = ‘ticker’ | Входной параметр class_code не может быть пустым при поиске по тикеру. Укажите корректный параметр class_code. Подробнее: Идентификация инструментов. |
30014 | INVALID_ARGUMENT | the maximum request period for the given candle interval has been exceeded | Превышен максимальный период запроса для данного интервала свечи. Укажите корректный интервал. |
30015 | INVALID_ARGUMENT | parameter ‘quantity’ is missing or equal to 0 | Входной параметр quantity является обязательным. Укажите корректный параметр quantity. |
30016 | INVALID_ARGUMENT | ‘quantity’ is invalid | Входной параметр quantity имеет некорректное значение. Укажите корректный параметр quantity. |
30017 | INVALID_ARGUMENT | missing parameter: ‘price’ | Входной параметр price является обязательным. Укажите корректный параметр price. |
30018 | INVALID_ARGUMENT | price is invalid | Входной параметр price имеет некорректное значение. Укажите корректный параметр price. |
30019 | INVALID_ARGUMENT | missing parameter: ‘direction’ | Входной параметр direction является обязательным. Укажите корректный параметр direction. |
30020 | INVALID_ARGUMENT | ‘direction’ is invalid | Входной параметр direction имеет некорректное значение. |
30021 | INVALID_ARGUMENT | missing parameter: ‘account_id’ | Входной параметр account_id является обязательным. Укажите корректный параметр account_id. |
30022 | INVALID_ARGUMENT | missing parameter: ‘state’ | Входной параметр state является обязательным. Укажите корректный параметр state. Список доступных значений: direction. |
30023 | INVALID_ARGUMENT | invalid parameter: ‘state’ | Входной параметр state имеет некорректное значение. Укажите корректный параметр state. Список доступных значений: direction. |
30025 | INVALID_ARGUMENT | missing parameter: ‘order_type’ | Входной параметр order_type является обязательным. Укажите корректный параметр order_type. |
30026 | INVALID_ARGUMENT | invalid parameter: ‘order_type’ | Входной параметр order_type имеет некорректное значение. Укажите корректный параметр order_type. |
30027 | INVALID_ARGUMENT | missing parameter: ‘order_id’ | Входной параметр order_id является обязательным. Укажите корректный параметр order_id. |
30028 | INVALID_ARGUMENT | ‘order id’ is invalid | Входной параметр order_id имеет некорректное значение. Укажите корректный параметр order_id. |
30029 | INVALID_ARGUMENT | missing parameter: ‘idempotency_key’ | Входной параметр idempotency_key является обязательным. Укажите корректный параметр idempotency_key. |
30030 | INVALID_ARGUMENT | ‘idempotency_key’ is invalid | Входной параметр idempotency_key имеет некорректное значение. Укажите корректный параметр idempotency_key. |
30031 | INVALID_ARGUMENT | missing parameter: ‘depth’ | Входной параметр depth является обязательным. Укажите корректный параметр depth. |
30032 | INVALID_ARGUMENT | depth is invalid | Входной параметр depth имеет некорректное значение. Укажите корректный параметр depth. |
30033 | INVALID_ARGUMENT | missing parameter: ‘trade_clearing_account’ or ‘class_code’ | Параметр trade_clearing_account или class_code не может быть пустым. |
30034 | INVALID_ARGUMENT | not enough balance | Недостаточно средств для совершения сделки (ошибка песочницы). Пополните баланс нужной валюты. |
30036 | INVALID_ARGUMENT | missing parameter: ‘stop_price’ | Входной параметр stop_price является обязательным. Укажите корректный параметр stop_price. |
30037 | INVALID_ARGUMENT | missing parameter: ‘stop_order_type’ | Входной параметр stop_order_type является обязательным. Укажите корректный параметр stop_order_type. |
30038 | INVALID_ARGUMENT | ‘stop_order_type’ is invalid | Входной параметр stop_order_type имеет некорректное значение. Список доступных значений: stop_order_type. |
30040 | INVALID_ARGUMENT | ‘expire_date’ is invalid | Входной параметр expire_date имеет некорректное значение. Укажите корректный параметр expire_date. |
30041 | INVALID_ARGUMENT | the method is available only for futures | Метод предназначен только для работы с фьючерсами. Передайте во входные параметры метода идентификатор фьючерса. |
30042 | INVALID_ARGUMENT | not enough assets for a margin trade | Недостаточно активов для маржинальной сделки. Проверьте маржинальные показатели счёта. |
30043 | INVALID_ARGUMENT | missing parameter: ‘expiration_type’ | Входной параметр expiration_type является обязательным. Укажите корректный параметр expiration_type. |
30044 | INVALID_ARGUMENT | ‘expiration_type’ is invalid | Входной параметр expiration_type имеет некорректное значение. Список доступных значений: expiration_type. |
30045 | INVALID_ARGUMENT | missing parameter: ‘ticker’ | Входной параметр ticker является обязательным. Укажите корректный параметр ticker. |
30047 | INVALID_ARGUMENT | price currency does not match the settlement currency | Валюта цены не совпадает с валютой расчётов по инструменту. Укажите корректную валюту цены. |
30048 | INVALID_ARGUMENT | instrument type is not bond | Метод предназначен только для запроса информации по облигации. Передайте во входные параметры метода идентификатор облигации. |
30049 | INVALID_ARGUMENT | post order error: %s | Ошибка метода выставления торгового поручения. Подробнее в тексте ошибки. |
30050 | INVALID_ARGUMENT | ‘instrument_status’ is invalid | Входной параметр instrument_status имеет некорректное значение. Список доступных значений: instrument_status. |
30051 | INVALID_ARGUMENT | account margin status is disabled | Для данного договора недоступна маржинальная торговля. |
30052 | INVALID_ARGUMENT | instrument forbidden for trading by API | Для данного инструмента недоступна торговля через API. |
30053 | INVALID_ARGUMENT | post stop_order error: %s | Ошибка метода выставления стоп-заявки. Подробнее в тексте ошибки. |
30054 | INVALID_ARGUMENT | instrument type is not a share or etf | Тип инструмента не инвестиционный фонд или акция |
30055 | INVALID_ARGUMENT | order_id cannot be longer than 36 characters | order_id не может быть длиннее 36 символов |
30056 | INVALID_ARGUMENT | stop order settlement currency is not supported | Валюта выставления стоп-заявки не поддерживается |
30057 | INVALID_ARGUMENT | the order is a duplicate, but the order report was not found | Заявка является дублем, но отчет по заявке не найден |
30058 | INVALID_ARGUMENT | task not completed yet, please try again later | Выполнение задачи еще не завершено, попробуйте позже. |
30059 | INVALID_ARGUMENT | cancel order error: %s | Ошибка метода отмены заявки. Подробнее в тексте ошибки. |
30060 | INVALID_ARGUMENT | cancel stop-order error: %s | Ошибка метода отмены стоп-заявки. Подробнее в тексте ошибки. |
30061 | INVALID_ARGUMENT | ‘from’ value out of range | Входной параметр from имеет некорректное значение. Укажите значение в пределах от 1970-01-01T00:00:00Z до 2099-12-31T23:59:59.999999999Z включительно. |
30062 | INVALID_ARGUMENT | ‘to’ value out of range | Входной параметр to имеет некорректное значение. Укажите значение в пределах от 1970-01-01T00:00:00Z до 2099-12-31T23:59:59.999999999Z включительно. |
30063 | INVALID_ARGUMENT | ‘expire_date’ value out of range | Входной параметр expire_date имеет некорректное значение. Дата должна быть не ранее текущей и не позднее 2099-12-31T23:59:59.999999999Z. |
30064 | INVALID_ARGUMENT | the required period should not exceed 31 days | Запрошенный период не может превышать 31 дня. Укажите корректный период. |
30065 | INVALID_ARGUMENT | missing parameter: ‘task_id’ | Входной параметр task_id является обязательным. Укажите корректный параметр task_id. |
30066 | INVALID_ARGUMENT | missing parameter: ‘payload’ | Входной параметр payload является обязательным. Укажите корректный параметр payload. |
30067 | INVALID_ARGUMENT | ‘action_type’ is invalid | Некорректное значение action_type. Выберите допустимое значение. |
30068 | INVALID_ARGUMENT | Only limit order is allowed | В настоящий момент возможно выставление только лимитного торгового поручения. |
30069 | INVALID_ARGUMENT | Invalid parameter: ‘limit’ | Входной параметр limit имеет некорректное значение. Значение должно быть меньше или равно 1000. |
30070 | INVALID_ARGUMENT | ‘from’ can’t be more than the current date | Входной параметр from имеет некорректное значение. Укажите корректный параметр. |
30077 | INVALID_ARGUMENT | not available for OTC instruments | Метод недоступен для внебиржевых инструментов. |
30078 | INVALID_ARGUMENT | Incorrect minimum price increment | Некорректный шаг изменения цены. |
30079 | INVALID_ARGUMENT | instrument is not available for trading | Инструмент недоступен для торгов. |
30080 | INVALID_ARGUMENT | quantity must be positive | Количество лотов должно быть положительным числом. |
30081 | INVALID_ARGUMENT | account status is closed | Аккаунт закрыт. |
30082 | INVALID_ARGUMENT | account status is blocked | Аккаунт заблокирован. |
30083 | INVALID_ARGUMENT | order_type is invalid | Некорректный тип заявки. |
30084 | INVALID_ARGUMENT | maximum request period has been exceeded | Превышен лимит запрашиваемого периода. |
30085 | INVALID_ARGUMENT | price in points is available only for futures and bonds | Тип цены в пунктах доступен только для фьючерсов и облигаций. |
30086 | INVALID_ARGUMENT | year is invalid | Некорректный год. |
30087 | INVALID_ARGUMENT | missing parameter: query | Входной параметр query является обязательным. Укажите не пустой параметр query. |
30088 | INVALID_ARGUMENT | ‘from’ and ‘to’ must have the same year | Запрашиваемые даты должны быть в рамках одного года. |
30089 | INVALID_ARGUMENT | ‘to’ must not be later than %s | Поле to не должно быть позднее даты, указанной в тексте ошибки. Дата указана в формате ISO 8601. |
30090 | INVALID_ARGUMENT | missing parameter: ‘siebel_id’ | Входной параметр siebel_id является обязательным. Укажите корректный параметр siebel_id. |
30091 | INVALID_ARGUMENT | quantity of instruments can’t be more than 100 | Количество инструментов не может превышать 100. |
30092 | INVALID_ARGUMENT | trading unavailable on weekends | Торги недоступны по нерабочим дням. |
30093 | INVALID_ARGUMENT | missing parameter: ‘figi’ or ‘instrument_id’ | Один из параметров figi или instrument_id является обязательным. |
30094 | INVALID_ARGUMENT | options trading is not available at the moment | Выставление заявок по опционам недоступно. |
40002 | PERMISSION_DENIED | insufficient privileges | Недостаточно прав для совершения операции. Токен доступа имеет уровень прав read-only, либо у токена нет доступа к указанному счету. Подробнее: Виды токенов |
40003 | UNAUTHENTICATED | authentication token is missing or invalid | Токен доступа не найден или не активен. Вы можете выпустить новый токен по ссылке Настройки |
40004 | PERMISSION_DENIED | Working with orders is not available with this account | Выставление заявок недоступно с текущего аккаунта. |
50001 | NOT_FOUND | exchange not found | Биржа не найдена по переданному exchange_id. Укажите корректный exchange_id. |
50002 | NOT_FOUND | instrument not found | Инструмент не найден. Укажите корректный идентификатор инструмента. |
50004 | NOT_FOUND | account not found | Счёт не найден по переданному account_id. Укажите корректный account_id. |
50005 | NOT_FOUND | order not found | Торговое поручение не найдено по переданному order_id. Укажите корректный order_id. |
50006 | NOT_FOUND | stop-order not found | Стоп-заявка не найдена по переданному stop_order_id. Укажите корректный stop_order_id. |
50007 | NOT_FOUND | task not found | Задача не найдена. |
50008 | NOT_FOUND | no orderbook provider | Отсутствует источник данных по стаканам. |
50009 | NOT_FOUND | asset not found | Актив не найден. Укажите корректный идентификатор актива. |
50010 | NOT_FOUND | brand not found | Бренд не найден. Укажите корректный идентификатор бренда. |
70001 | INTERNAL | internal error | Внутренняя ошибка сервиса. Если ошибка повторяется, обратитесь в службу технической поддержки. |
70002 | INTERNAL | internal network error | Неизвестная сетевая ошибка, попробуйте выполнить запрос позднее. Если ошибка повторяется, обратитесь в службу технической поддержки. |
70003 | INTERNAL | internal error, please try again later | Внутренняя ошибка сервиса, попробуйте выполнить запрос позднее. Если ошибка повторяется, обратитесь в службу технической поддержки. |
80001 | RESOURCE_EXHAUSTED | limit of open streams exceeded | Превышен лимит одновременных открытых stream-соединений. Подробнее: Лимитная политика |
80002 | RESOURCE_EXHAUSTED | request limit exceeded | Превышен лимит запросов в минуту. Подробнее: Лимитная политика |
80003 | RESOURCE_EXHAUSTED | The limit on SMS sending has been exceeded, try again in a minute | Превышен лимит на отправку СМС, попробуйте через минуту. |
90001 | FAILED_PRECONDITION | need confirmation: %s | Требуется подтверждение операции. Подробнее в тексте ошибки. |
90002 | FAILED_PRECONDITION | only for qualified investors | Торговля этим инструментом доступна только квалифицированным инвесторам. |
Всем привет!
Есть сайт:
https://avtokraska-shop.ru/personal/order/cancel/317/?CANCEL=Y
— это форма отмены заказа.
Если я ввожу комментарий, а потом жму на конопку «Отменить заказ» — то ничего не происходит, даже на ту же самую страницу редирект не происходит.
Знающие люди, подскажите пожалуйста, что не так?
Вот код вызова компонента (файл /avtokraska-shop.beta3.ceteralabs.com/www/local/templates/.default/components/bitrix/sale.personal.order/templates/.default):
Код |
---|
<? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $APPLICATION->IncludeComponent( "bitrix:sale.personal.order.cancel", "", array( "PATH_TO_LIST" => $arResult["PATH_TO_LIST"], "PATH_TO_DETAIL" => $arResult["PATH_TO_DETAIL"], "SET_TITLE" =>$arParams["SET_TITLE"], "ID" => $arResult["VARIABLES"]["ID"], ), $component ); ?> |
Сам шаблон компонента bitrix:sale.personal.order.cancel (файл /avtokraska-shop.beta3.ceteralabs.com/www/local/templates/.default/components/bitrix/sale.personal.order.cancel/.default):
Код |
---|
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <a href="<?=$arResult["URL_TO_LIST"]?>"><?=GetMessage("SALE_RECORDS_LIST")?></a> <? //var_dump(POST_FORM_ACTION_URI); ?> <div class="bx_my_order_cancel"> <?if(strlen($arResult["ERROR_MESSAGE"])<=0):?> <fo rm method="post" action="<?=POST_FORM_ACTION_URI?>"> <input type="hidden" name="CANCEL" value="Y"> <?=bitrix_sessid_post()?> <input type="hidden" name="ID" value="<?=$arResult["ID"]?>"> <?=GetMessage("SALE_CANCEL_ORDER1") ?> <a href="<?=$arResult["URL_TO_DETAIL"]?>"><?=GetMessage("SALE_CANCEL_ORDER2")?> #<?=$arResult["ACCOUNT_NUMBER"]?></a>? <b><?= GetMessage("SALE_CANCEL_ORDER3") ?></b><br /><br /> <?= GetMessage("SALE_CANCEL_ORDER4") ?>:<br /> <textarea name="REASON_CANCELED"></textarea><br /><br /> <a class="button" type="submit" name="action" value="<?=GetMessage("SALE_CANCEL_ORDER_BTN") ?>"><?=GetMessage("SALE_CANCEL_ORDER_BTN") ?></a> </form> <?else:?> <?=ShowError($arResult["ERROR_MESSAGE"]);?> <?endif;?> </div> |
В переменной POST_FORM_ACTION_URI вроде бы верный адрес храниться: /personal/order/cancel/317/?CANCEL=Y для этого конкретного заказа. помогите пожалуйста разобраться.
FAILED_ORDER_PARAMETER |
One of the giving parameters is not correct. For the accuracy of parameters, you can check our Submit an Order page. |
BALANCE_NOT_ENOUGH |
The balance amount is not enough for this operation. Check your |
FAILED_MIN_TOTAL_AMOUNT |
The order quantity is less than the minimum required. You can view the minimum order amount from the |
STOP_PRICE_GREATER_THAN_MARKET |
Stop buy price must be above current price. You can check the current price information from the |
STOP_PRICE_LESS_THAN_MARKET |
Stop sell price must be bellow current price. You can check the current price information from the |
PRICE_MUST_BE_LESS_THAN_MAXPRICE |
Buy or sell price must be less than max. You can view the maximum Price information from the |
FAILED_MIN_TOTAL_AMOUNT |
Quantity*price must be greater than min amount. You can view the Min total amount information from the |
FAILED_ORDER_WITH_OPEN_ORDERS |
Order submission failed due to open orders. Your free balance is not enough for this transaction. You can view your available balance with the |
FAILED_MARKET_ORDER |
Market order is not open for the pair. You can view the |
ORDER_MIN_PRICE_EXCEEDED |
Less than 1/10 of the current price has been set. You can view the current limits using the |
ORDER_MAX_PRICE_EXCEEDED |
More than *10 of the current price has been set. You can view the current limits using the |
2019.03.25 10:42
#1
Solved it with this check function, before any order modification.
/**
* Checks if an order can be modified from its existing type, open price, sl and tp.
*
* @param int type order type
* @param double open order open price
* @param double sl stoploss price
* @param double tp take profit price
* @return bool
*/
bool ModificationValid(int type, double open, double sl, double tp)
{
// Read spread and stoplevel
double stoplevel = getStopLevelInPrice();
double spread = (Ask — Bid);
double mktprice = 0;
// Find out which price should be used
if(type == OP_BUY || type == OP_BUYLIMIT || type == OP_BUYSTOP) mktprice = Bid;
if(type == OP_SELL || type == OP_SELLLIMIT || type == OP_SELLSTOP) mktprice = Ask;
// Get minimum difference
double mindif = MathMin(MathAbs(mktprice — sl),MathMin(MathAbs(mktprice — tp),MathAbs(mktprice — open)));
// Find out if valid
if(mindif > stoplevel+1*Point)
return(true);
// Invalid
return(false);
}
double getStopLevelInPrice()
{
double s=MathMax(MarketInfo(Symbol(),MODE_FREEZELEVEL),MarketInfo(Symbol(),MODE_STOPLEVEL));
return(s*Point);
}
2022.01.02 15:57
#2
Arturo Lopez Perez #:
Solved it with this check function, before any order modification.
/**
* Checks if an order can be modified from its existing type, open price, sl and tp.
*
* @param int type order type
* @param double open order open price
* @param double sl stoploss price
* @param double tp take profit price
* @return bool
*/
bool ModificationValid(int type, double open, double sl, double tp)
{
// Read spread and stoplevel
double stoplevel = getStopLevelInPrice();
double spread = (Ask — Bid);
double mktprice = 0;
// Find out which price should be used
if(type == OP_BUY || type == OP_BUYLIMIT || type == OP_BUYSTOP) mktprice = Bid;
if(type == OP_SELL || type == OP_SELLLIMIT || type == OP_SELLSTOP) mktprice = Ask;
// Get minimum difference
double mindif = MathMin(MathAbs(mktprice — sl),MathMin(MathAbs(mktprice — tp),MathAbs(mktprice — open)));
// Find out if valid
if(mindif > stoplevel+1*Point)
return(true);
// Invalid
return(false);
}
double getStopLevelInPrice()
{
double s=MathMax(MarketInfo(Symbol(),MODE_FREEZELEVEL),MarketInfo(Symbol(),MODE_STOPLEVEL));
return(s*Point);
}
For the same issue it’s not working.
2022.01.02 17:07
#3
-
Please edit your post and use the CODE button (Alt-S)! (For large amounts of code, attach it.)
General rules and best pratices of the Forum. — General — MQL5 programming forum (2019)
Messages Editor -
double s=MathMax(MarketInfo(Symbol(),MODE_FREEZELEVEL),MarketInfo(Symbol(),MODE_STOPLEVEL));
You can’t move stops (or pending prices) closer to the market than the minimum: MODE_STOPLEVEL * _Point or SymbolInfoInteger(SYMBOL_TRADE_STOPS_LEVEL).
Requirements and Limitations in Making Trades — Appendixes — MQL4 TutorialOn some ECN type brokers the value might be zero (the broker doesn’t know). Use a minimum of two (2) PIPs.
The checks a trading robot must pass before publication in the Market — MQL5 Articles (2016)
2022.02.17 12:02
#5
Kailash Bai Mina #: How Can I get an error while deleting the pending order?
The market was too close to the open price. The order was about to open.
There is no need to create pending orders in code.
- The pending has the slight advantage, A) you are closer to the top of the queue (filled quicker), B) there’s no round trip network delay (filled quicker.)
- Don’t worry about it unless you’re scalping M1 or trading news.
- Humans can’t watch the screen 24/7, so they use pending orders; EAs can, so no need for pending orders, have it wait until the market reaches the trigger price and just open an order.
2022.02.17 12:31
#6
William Roeder #:
The market was too close to the open price. The order was about to open.
There is no need to create pending orders in code.
- The pending has the slight advantage, A) you are closer to the top of the queue (filled quicker), B) there’s no round trip network delay (filled quicker.)
- Don’t worry about it unless you’re scalping M1 or trading news.
- Humans can’t watch the screen 24/7, so they use pending orders; EAs can, so no need for pending orders, have it wait until the market reaches the trigger price and just open an order.
We really can’t close pending little before it was closed.
I didn’t knew that.
I was working on a order.
It has 11000 lines code.
I don’t think i can replace all the logic and open market order in such a big chunk of code(at least not untill he increases the budget to idk 500-1000$)
Is it possible that i create my own custom pending orders like instead of opening stop/limit order, i will store all the data in a array or struct maybe and i will open a market order when price reaches there?
Is it feasible?
2022.02.17 15:21
#7
Kailash Bai Mina #:
We really can’t close pending little before it was closed.
I didn’t knew that.
I was working on a order.
It has 11000 lines code.
I don’t think i can replace all the logic and open market order in such a big chunk of code(at least not untill he increases the budget to idk 500-1000$)
Is it possible that i create my own custom pending orders like instead of opening stop/limit order, i will store all the data in a array or struct maybe and i will open a market order when price reaches there?
Is it feasible?
Don’t waste your time. William’s opinion about pending orders is just an opinion. Mine is there is no problem and some advantages to use pending orders (they are at the server side for execution).
You just need to deal with the settings of your broker. You can also consider to use a broker which doesn’t put limit on working with orders (pending or not).