Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
XAUUSDcheck не тестирует. Но тестирование успешно, потому что тестирует все остальные....
Полезно знать.
ну и как надо с
OrderSend error 131
никак не получается
в тестере ошибки нету на автоматическое тестирование ест
все рекомендации выполнил и все таки :
OrderSend error 131
Уфффф!!!!Мне кажется автовалидация это первое что должен пройти продавец.
я тоже попадал на разные ошибки, они были по невнимательности.
Но, автовалидация, это первая стена перед "чуваками" котоыре скчивают в кодебазе бесплатный код - и пытаются его продать, поменяв название. :-(
К сожалению из-за этого в маркете тысячи программ, из которых трудно найти пару стоящих.
я бы ставил спец код в кодебазу, при котором Маркет не принимал такой код к продаже. Ибо обидно :-( тут годами, даже 5-летками разрабатываешь, дорабатываешь, улучшаешь программы, чтобы клиенты были довольны.
А кто-то скачал готовый продукт поменял название - выкинул в маркет по демпинговой цене, и все.... Клиенты думают, дешевле значит куплю....
Как в Китае,
Сижу на алиэкспрессе, - как минимум 5 палок для ГОПРО заказал дешевых - итог - неделя на море - палка заржавела.
Вот не поднимается рука купить оригинал палку за 100 баксов, которая не ржавеет. Но нееет, в Китай отдал уже 120 баксов, и очередной заказал такую же палку................. Гребанная жадность......
ну и как надо с
OrderSend error 131
никак не получается
в тестере ошибки нету на автоматическое тестирование ест
все рекомендации выполнил и все таки :
OrderSend error 131
Уфффф!!!!Проверить нужно только минимальное значение и это сафсем несложно
У меня функция вычисления лота она это делает
{ int lotDigit=(int)fabs(log10(SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP)));
if(!MathIsValidNumber(lotDigit)) lotDigit=0;
{
double FreeMg =AccountFreeMargin();
double Margin =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Step =MarketInfo(Symbol(),MODE_LOTSTEP);
double Minlot =MarketInfo(Symbol(),MODE_MINLOT);
double MaxLot =MarketInfo(Symbol(),MODE_MAXLOT);
double loty =MathFloor(FreeMg*Risk/100/Margin/Step)*Step;
loty = NormalizeDouble(loty,lotDigit);
if(loty<Minlot) loty=Minlot;
if(loty>MaxLot) loty=MaxLot;
Lots=loty;
Lots=NormalizeDouble(Lots,lotDigit);
return (Lots);}}
//================================================================
кроме того на маркете ест пример
прежде чем вызвать OrderSend я проверяю через
if (CheckVolumeValue(Lots,com) ==false )return(0);
не смотря на все опят идет ошибка 131
У меня функция вычисления лота она это делает
{ int lotDigit=(int)fabs(log10(SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP)));
if(!MathIsValidNumber(lotDigit)) lotDigit=0;
{
double FreeMg =AccountFreeMargin();
double Margin =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Step =MarketInfo(Symbol(),MODE_LOTSTEP);
double Minlot =MarketInfo(Symbol(),MODE_MINLOT);
double MaxLot =MarketInfo(Symbol(),MODE_MAXLOT);
double loty =MathFloor(FreeMg*Risk/100/Margin/Step)*Step;
loty = NormalizeDouble(loty,lotDigit);
if(loty<Minlot) loty=Minlot;
if(loty>MaxLot) loty=MaxLot;
Lots=loty;
Lots=NormalizeDouble(Lots,lotDigit);
return (Lots);}}
//================================================================
Ваш lotDigit это хитроумная дура, которая всегда вычисляет 0. Этого нет в примере в документации. Видимо, вам нравятся когда много скобок?
Также вот это: FreeMg*Risk/100/Margin/Step... Откуда 100? Явно с потолка.
Много строк. Реально много, а что вычисляете??