Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1127
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну так опять же, это на mql5. А мне надо на mql4
Продублирую свой вопрос в этой ветке, так-как в ветке по mql5 помочь не смогли - ответ никто не знает.
Имеется вот такая функция и работает в советнике/скрипте
{
double One_Lot=0.0;
double price=0.0;
double volume=0.0;
double MinLot=SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN);
double Free=AccountInfoDouble(ACCOUNT_FREEMARGIN);
double Step=SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP);
if(action==ORDER_TYPE_BUY)price=SymbolInfoDouble(symbol,SYMBOL_ASK);
if(action==ORDER_TYPE_SELL)price=SymbolInfoDouble(symbol,SYMBOL_BID);
if(!OrderCalcMargin(action,symbol,1.0,price,One_Lot))return(MinLot);
if(One_Lot!=0 && Step!=0)volume = MathFloor(Free*Percent/100.0/One_Lot/Step)*Step;
if(volume!=0)return(volume);
return(MinLot);
}
Вопрос: как получить максимально возможный лот в индикаторе, OrderCalcMargin почему-то не работает в индикаторе? В мт4 прекрасно работает "MarketInfo(symbol,MODE_MARGINREQUIRED)", но в мт5 её нет, зато есть есть какой-то огрызок OrderCalcMargin который не работает в индикаторе, и разработчик ничего не делает по этому поводу.
Спасибо!
как сделать?
чтобы при
OnDeinit(REASON_CHARTCHANGE)
продолжить работу как обычно, не сбрасывая настройки (полностью игнорировать данную причину, это инфопанель с уровнями)
как сделать?
чтобы при
OnDeinit(REASON_CHARTCHANGE)
продолжить работу как обычно, не сбрасывая настройки (полностью игнорировать данную причину, это инфопанель с уровнями)
Никак.
не, ну есть же способы как то это обойти
забивать уровни в код для каждого инструмента из 40 существующих это как минимум мне лень.
проще сделать автоматом и клацать ТФ с символами как угодно.
и параллельно ищу способ указать значения мувинга старших ТФ на младшемне, ну есть же способы как то это обойти
забивать уровни в код для каждого инструмента из 40 существующих это как минимум мне лень.
проще сделать автоматом и клацать ТФ с символами как угодно.
и параллельно ищу способ указать значения мувинга старших ТФ на младшемНастройки записать в файл, а в ините - считывать. Деинит обойти никак не получится, он разрешения не спрашивает.
а почему бы не обойти деинит через запись в файл если такое вообще возможно? например в случае деинициализаи инициировать запуск с предыдущими параметрами
А я выше не это написал разве?
Хорошо, ну вот взяли мы, записали в файл нужные настройки, закрыли и что???
по идее он же должен теперь переоткрыть советник с нужными параметрами, а как это может сделать текстовый файл (не вижу там других в списке функций, хотя в таком случае надо ехе)
Хорошо, ну вот взяли мы, записали в файл нужные настройки, закрыли и что???
по идее он же должен теперь переоткрыть советник с нужными параметрами, а как это может сделать текстовый файл (не вижу там других в списке функций, хотя в таком случае надо ехе)
Когда запускаете советник в ините загружаете файл и считываете с него данные по настройкам и все , вот примерчик небольшой.
{
Print("*******************************************");
Print("Start downloading data Magic = ",Magic," ",_Symbol);
Print("*******************************************");
int handle=FileOpen("Overturn_"+(string)Magic+"_"+_Symbol+".csv",FILE_CSV|FILE_READ);
if(handle>0)
{
tiket=(int)FileReadNumber(handle);
flag_series=FileReadBool(handle);
TP = FileReadNumber(handle);
SL = FileReadNumber(handle);
series=(int)FileReadNumber(handle);
Lots=FileReadNumber(handle);
FileClose(handle);
Print("*******************************************");
Print("Loading data completed Magic = ",Magic," ",_Symbol);
Print("*******************************************");
}
}
юю