вставил ваш код - чтобы считало все открытые пары и вычитало правильный лот. только я кажись здесь что то глуплю - наверное этот код сюда не подходит ?
но , лот меняет
//+------------------------------------------------------------------+//| Calculate optimal lot size |//+------------------------------------------------------------------+double TradeSizeOptimized(void)
{
double price=0.0;
double margin=0.0;
string arr[];
int resize = 0, syTotal = SymbolsTotal(true);
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- select lot sizeif(!SymbolInfoDouble(arr[i],SYMBOL_ASK,price))
return(0.0);
if(!OrderCalcMargin(ORDER_TYPE_BUY,arr[i],1.0,price,margin))
return(0.0);
if(margin<=0.0)
return(0.0);
}
double lot=NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*MaximumRisk/margin,2);
//--- calculate number of losses orders without a breakif(DecreaseFactor>0)
{
//--- select history for accessHistorySelect(0,TimeCurrent());
//---int orders=HistoryDealsTotal(); // total history dealsint losses=0; // number of losses orders without a breakfor(int y=orders-1; y>=0; y--)
{
ulong ticket=HistoryDealGetTicket(y);
if(ticket==0)
{
Print("HistoryDealGetTicket failed, no trade history");
break;
}
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- check symbolif(HistoryDealGetString(ticket,DEAL_SYMBOL)!=arr[i])
continue;
//--- check Expert Magic numberif(HistoryDealGetInteger(ticket,DEAL_MAGIC)!=MA_MAGIC)
continue;
//--- check profitdouble profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
if(profit>0.0)
break;
if(profit<0.0)
losses++;
}
}
//---if(losses>1)
lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- normalize and check limitsdouble stepvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_STEP);
lot=stepvol*NormalizeDouble(lot/stepvol,0);
double minvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_MIN);
if(lot<minvol)
lot=minvol;
double maxvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_MAX);
if(lot>maxvol)
lot=maxvol;
}
//--- return trading volumereturn(lot);
}
//+------------------------------------------------------------------+
вставил ваш код - чтобы считало все открытые пары и вычитало правильный лот. только я кажись здесь что то глуплю - наверное этот код сюда не подходит ?
но , лот меняет
не знаю - толи ваш код, такое натворил
А вот если фиксировать прибыль, закрытием сделок? )) Когда зелёненькая уже отошла от синенькой? На n-ную величину? в конце может всё повеселее стать?
нужно что то ещё сделать , что бы оно заработало .
как задействовать ваш код?
Заполнить массив символов и работать с этим массивом.
Тут бесплатный советник использующий приведённый кусок кода ***
ps; барабашка, зря вы удалили ссылку. Среди моих продуктов в маркете, только ДВА платных. Один из них от 2017 года арендован 4 раза, а второй от 2014 года за 10 баксов не куплен ни разу. Так-что тут никакой рекламы и не предвиделось.
Заполнить массив символов и работать с этим массивом.
Тут бесплатный советник использующий приведённый кусок кода ***
ps; барабашка, зря вы удалили ссылку. Среди моих продуктов в маркете, только ДВА платных. Один из них от 2017 года арендован 4 раза, а второй от 2014 года за 10 баксов не куплен ни разу. Так-что тут никакой рекламы и не предвиделось.
К сожаления нельзя обсуждать на форуме ничего из Маркета - ни платного, ни бесплатного. Сто раз говорено. Будет время - Вы сами поиском сможете найти.
Мы о чём-то разном говорим.
Да. В теле программы это легко.
А я говорю о выборе параметров для оптимизации, на вкладке параметры тестера...
input ... это показывает)Вот там было-бы очень удобно иметь перечень символов из "обзора рынка".
Там и преобразовывать ничего не надо. Просто отдать в публичный перечень, уже готовый внутренний список...
добавил ещё, пары
добавил ещё, пары
Ну да, кому-то пригодится)
Теперь осталось с этим списком синхронизировать окно "обзор рынка"... вроде где-то мелькала такая возможность, если я не путаю.
Но было-бы проще иметь готовый список!
Мы о чём-то разном говорим.
вставил ваш код - чтобы считало все открытые пары и вычитало правильный лот. только я кажись здесь что то глуплю - наверное этот код сюда не подходит ?
но , лот меняет
не знаю - толи ваш код, такое натворил
Ну да, кому-то пригодится)
Теперь осталось с этим списком синхронизировать окно "обзор рынка"... вроде где-то мелькала такая возможность, если я не путаю.
Но было-бы проще иметь готовый список!
это подойдёт для тестера . создать эксперта и тестировать с множеством пар
вставил ваш код - чтобы считало все открытые пары и вычитало правильный лот. только я кажись здесь что то глуплю - наверное этот код сюда не подходит ?
но , лот меняет
не знаю - толи ваш код, такое натворил
А вот если фиксировать прибыль, закрытием сделок? )) Когда зелёненькая уже отошла от синенькой? На n-ную величину? в конце может всё повеселее стать?
Мы о чём-то разном говорим.
как его правильно задействовать ?
для того, чтобы использовать - такое.
нужно что то ещё сделать , что бы оно заработало .
как задействовать ваш код?
как его правильно задействовать ?
для того, чтобы использовать - такое.
нужно что то ещё сделать , что бы оно заработало .
как задействовать ваш код?
Заполнить массив символов и работать с этим массивом.
Тут бесплатный советник использующий приведённый кусок кода ***
ps; барабашка, зря вы удалили ссылку. Среди моих продуктов в маркете, только ДВА платных. Один из них от 2017 года арендован 4 раза, а второй от 2014 года за 10 баксов не куплен ни разу. Так-что тут никакой рекламы и не предвиделось.
... барабашка, зря вы удалили ссылку....
Раз модераторы читают форум, значит можно наедятся на появление такого перечня!
Заполнить массив символов и работать с этим массивом.
Тут бесплатный советник использующий приведённый кусок кода ***
ps; барабашка, зря вы удалили ссылку. Среди моих продуктов в маркете, только ДВА платных. Один из них от 2017 года арендован 4 раза, а второй от 2014 года за 10 баксов не куплен ни разу. Так-что тут никакой рекламы и не предвиделось.
К сожаления нельзя обсуждать на форуме ничего из Маркета - ни платного, ни бесплатного. Сто раз говорено. Будет время - Вы сами поиском сможете найти.