Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1506

 
MakarFX:

вот это может помочь сейчас попробую дописать в советник

 
Порт-моне тв:

смотри, проблема в том, что процент, который я хочу задать, например (1%) в числовом выражении изменяется и если 

то по итогу выйдет что при каждой новой сделке БАЛАНС также прирастет и 1% от него также, таким образом моя функция не будет работать, потому что нет ФИКСИРОВАННОГО ЗАДАННОГО ЗНАЧЕНИЯ

у тебя баланс на начало дня 1000, 1%=10

если прибыль в течении дня 5, то баланс - прибыль = 1000 и 1%=10

 
MakarFX:

СПАСИБО!!! У МЕНЯ ВСЕ ПОЛУЧИЛОСЬ!!!!!

 
Порт-моне тв:

СПАСИБО!!! У МЕНЯ ВСЕ ПОЛУЧИЛОСЬ!!!!!

Всегда пожалуйста)
 
Порт-моне тв:

я тут просчитался, мне помимо профита/лосса за день нужно баланс счета на начало дня. :((( Помогите))

Account balance() - меняет постоянно, как фиксировать его например на Hour==1 ?

Я понимаю, что можно многого не знать в языке, который используешь...

Но, блин, запросить этот чёртов баланс в ==1 и сохранить его в отдельную переменную вооще никак? 

 

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

Пять открытых графиков, советник стоит на первом. МТ4

 
MakarFX:

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

Пять открытых графиков, советник стоит на первом. МТ4

Макар не стыдно?

Поиск объектов на графике не знакомая функция? Перебрать все графики тоже не знаешь как?

Ведь в функции поиска объекта первым параметром Chart_ID() вот его и надо менять в цикле перебора графиков…

 
Alexey Viktorov:

Макар не стыдно?

Поиск объектов на графике не знакомая функция? Перебрать все графики тоже не знаешь как?

Ведь в функции поиска объекта первым параметром Chart_ID() вот его и надо менять в цикле перебора графиков…

Вот у меня и проблема с Chart_ID()

Сделал так

   long currChart=ChartFirst();
   double pr;
   int vdigits;
   int i=0,limit=5; while(i<=limit)
     {
      if(ObjectFind(currChart,ChartSymbol(currChart)+" BUY")==0) 
        { 
         pr=ObjectGetDouble(currChart,ChartSymbol(currChart)+" BUY",OBJPROP_PRICE1);
         vdigits = (int)MarketInfo(ChartSymbol(currChart),MODE_DIGITS); 
         Print(ChartSymbol(currChart)," ",DoubleToStr(pr,vdigits));
        }else{Print(ChartSymbol(currChart),"0");}
      currChart=ChartNext(currChart);  i++;
     }

но в тестере не проверишь(

...до понедельника так долго ждать(

При инициализации вроде все работает

2021.06.19 21:05:13.544 SymbolOfChart GBPUSD,M15: 4 GBPUSD 0
2021.06.19 21:05:13.544 SymbolOfChart GBPUSD,M15: 3 GBPJPY 154.124
2021.06.19 21:05:13.544 SymbolOfChart GBPUSD,M15: 2 USDCHF 0.92040
2021.06.19 21:05:13.544 SymbolOfChart GBPUSD,M15: 1 EURUSD 1.18887
2021.06.19 21:05:13.544 SymbolOfChart GBPUSD,M15: 0 GBPUSD 1.38646
2021.06.19 21:05:13.543 SymbolOfChart GBPUSD,M15: initialized

А вот как будет в реале?

 
MakarFX:

Вот у меня и проблема с Chart_ID()

Сделал так

но в тестере не проверишь(

...до понедельника так долго ждать(

При инициализации вроде все работает

А вот как будет в реале?

Лимит нужно ставить 100.

Графиков может быть 2, а может быть 100, поэтому может не добежать до следующего.

Нужно делать перебор по всем открытым

 
Vitaly Muzichenko:

Лимит нужно убрать.

Графиков может быть 2, а может быть 100, поэтому может не добежать до следующего.

Нужно делать перебор по всем открытым

А можно как-то определить кол-во открытых графиков?