Доработка ботов (советников, индикаторов) vol. 2

Viktor73

Новичок форума
нужна формула динамического расчета профита от лотности открытых ордеров и множителя. это же просто.
 

MakarFX

Элитный участник

Вложения

MakarFX

Элитный участник
она и получается динамической, так как кол-во ордеров , соответственно лотность растет.
Вы сами себе противоречите. Если Вы видели по какой формуле идет расчет, тогда что Вы предлагали?
нужна формула динамического расчета профита от лотности открытых ордеров и множителя
 

Kent175

Активный участник
Что поправить надо?
Магик поправить.
Он есть, но советник цепляет чужие выставленные ордера , на котором симболе установлен.
Любитель модифицировать и закрывать чужие ордера по своему символу валютной пары.
 

Surem

Почетный гражданин
Уважаемые, прошу обработать обычный таймер. Как на скрине, разница показывается (вычитание) там где стрелка рисуется это число. Час 10минут значит цифра будет над 10 минут потому что на 4 часа число больше. Вычитаем из большего меньшее и результат отображаем над 10 мин. Когда на разных ТФ оставшееся время свечи одинаковое, тут не считаем.

Надеюсь смог пояснить, уточняйте если что. Есть идея на основе наблюдений, если стабильно будет результат я надеюсь будет, расскажу как применить. Это чтоб не считать, разгрузить голову.
 

Вложения

Последнее редактирование:

Kent175

Активный участник
Всем привет!
Уважаемые кодеры, поправьте пожалуйста советник. Любитель модифицировать и закрывать чужие ордера по своему символу валютной пары.
Кто-нибудь из кодеров поможет и откликнется на мою просьбу?

Магик надо поправить.
Он есть, но советник цепляет чужие выставленные ордера на валютной паре. на которой он установлен.
Любитель модифицировать и закрывать чужие ордера по своему символу валютной пары.
 

Вложения

  • Mamon.mq4
    Mamon.mq4
    27,3 КБ · Просмотры: 5
Последнее редактирование:

Viktor73

Новичок форума
Кто-нибудь из кодеров поможет и откликнется на мою просьбу?

Магик надо поправить.
Он есть, но советник цепляет чужие выставленные ордера на валютной паре. на которой он установлен.
Любитель модифицировать и закрывать чужие ордера по своему символу валютной пары
Попробуй
 

Вложения

MakarFX

Элитный участник
Магик поправить.
Он есть, но советник цепляет чужие выставленные ордера , на котором симболе установлен.
Любитель модифицировать и закрывать чужие ордера по своему символу валютной пары.
 

Вложения

  • Mamon.mq4
    Mamon.mq4
    27,7 КБ · Просмотры: 6

S.McDuck

Местный знаток
Слегка изменил процесс закрытия
Посмотреть вложение 557113
MakarFX отлично всё отрабатывает.
Спасибо большое за труд.
Не хватает последнего штриха в этом советнике.
А именно функции стоп работы советника при закрытии серии ордеров по ТР.
Запустить советник возможно будет только если передёрнуть тамфрейм или вызвать свойства советника и закрыть.
Мне в одном советнике делали такую функцию.
Вот код, не знаю всё ли скопировал к этому относящееся.
Можно ли этот код вставить в советник.
Если необходимо посмотреть код полностью могу в личу советник прислать.
==============================
extern bool Stop_Start=true;


datetime TimeStartEA;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
firstBuy=false;
firstSell=false;
StopEA=false;
TimeStartEA=TimeCurrent();
// if(!Start_one_or_many)TimeStartEA=0;

TimeStart=HourStart*60+MinuteStart;
TimeStop=HourStop*60+MinuteStop;
//----
// ObjectMakeLabel("myLogo",5,5,2);

Set_TP_SL=true;

return(0);
//--
if(Stop_Start)
{
if(isProfLastPos(Symbol(),TimeStartEA,-1,magic))return(0);//StopEA=true;
}
//--
if(isProfLastPos(Symbol(),Time[0],OP_BUY,magic)){firstBuy=false;}
if(isProfLastPos(Symbol(),Time[0],OP_SELL,magic))firstSell=false;
if(use_percent_of_deposit) cfg_lot=GetLot();
datetime _tim=TimeLocal();
string _stim=TimeToString(_tim,TIME_MINUTES);
StringReplace(_stim,":",".");
double _dtim=StringToDouble(_stim);
TimeSey4as=int(MathFloor(_dtim)*60+(_dtim-MathFloor(_dtim))*100);
if(((TimeSey4as>TimeStart || TimeSey4as<TimeStop) && TimeStart>TimeStop) || ((TimeSey4as>TimeStart && TimeSey4as<TimeStop) && TimeStart<TimeStop) || TimeStart==TimeStop)
{
OpenOrder=true;
}
else
{
OpenOrder=false;
}

int spread=MarketInfo(Symbol(),MODE_SPREAD);
if(spread>MaxSpread)OpenOrder=false;

if(isLossLastPos(Symbol(),-1,kom,magic) && NumberOfPositions(Symbol(),kom,-1)==0)
OpenOrder=true;

//+------------------------------------------------------------------+
bool isProfLastPos(string sy="",datetime t=0,int op=-1,int mn=-1)
{

int i,j1=-1,k=OrdersHistoryTotal();

if(sy=="0") sy=Symbol();
for(i=0; i<k; i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==sy || sy=="")
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(op<0 || OrderType()==op)
{
if(mn<0 || OrderMagicNumber()==mn)
{
if(t<OrderCloseTime())
{
t=OrderCloseTime();
j1=i;
}
}
}
}
}
}
}
if(OrderSelect(j1,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderProfit()>0) return(True);
}
return(False);
}
//--
 
Верх