Помогите с MQL4 - страница 2

 
komposter писал (а):

это предупреждение, что дата указана не полностью (день, месяц, год, часы, минуты, секунды). Строка '14:00:00', по идее, при компиляции заменится на 'дата компиляции 14:00:00'
НО! Как можно использовать время истечения, не указывая дату?

Надо сделать привязку к CurTime()



Понял спасибо. Бум пробовать.

чтобы полкчить текущий хай за день достаточно ArrayCopySeries( double&array[], int series_index, string symbol=NULL, int timeframe=0) (остальное в хелпе МТ) и потом array[0]...

А разве то что мне написали не катит?

MaxPriceToday = iHigh(Symbol(), PERIOD_D1, 0);
 
Hell:
А разве то что мне написали не катит?
MaxPriceToday = iHigh(Symbol(), PERIOD_D1, 0);
катит, так даже приятнее, просто не внимательно пробежал все посты... :)
 
Помогите сделать из "Stoch Crossing" и "#MTF_Stochastic", чтобы получился индикатор MTF_Stoch Crossing (тот же Stoch Crossing,только мультипериодный). Спасибо!!!
 


MaxPriceToday = MarketInfo(Symbol(),MODE_HIGH)
А может лучше так, чтобы не о чем не думать.

С уважением - С.Д.

 
Подскажите, плиз, как определить размер лота, например, для 10% от размера счета.
 
double CalcLot(int Risk, int Stop)
{
  double Res = MarketInfo(Symbol(),MODE_MINLOT);
  if(AccountFreeMargin()<(MarketInfo(Symbol(),MODE_MARGINREQUIRED)*Res)) {
    return(-1);
  }  
  double v = 0;
  //
  v = (AccountBalance()*(Risk/100.0))/(MarketInfo(Symbol(),MODE_TICKVALUE)*MarketInfo(Symbol(),MODE_LOTSTEP));
  Res = MathFloor(v/Stop)*MarketInfo(Symbol(),MODE_LOTSTEP);
  if(Res < MarketInfo(Symbol(),MODE_MINLOT)) Res = MarketInfo(Symbol(),MODE_MINLOT);
  if(Res > MarketInfo(Symbol(),MODE_MAXLOT)) Res = MarketInfo(Symbol(),MODE_MAXLOT);
  //  
  return(Res);
}
Примерно так. Risk - в процентах, Stop в пунктах. У кого-то подсмотрел, по моему у KimIV в библиотеке b-Lots.mqh.
 
Хел, может быть это тебе надо?

Только какой смысл в нем я так и не понял.... :) Объяснишь идею?
Файлы:
hell.mq4  2 kb
 
PSmith, спасибо.

А еще такой вопрос - как открыть ордер на открытии дня и закрыть на закрытии этого же дня?
 
dimajak:
Подскажите, плиз, как определить размер лота, например, для 10% от размера счета.



После введения разными ДЦ микролотов сделал для себя функцию вычисления % от депо (подходящую (имхо) для любого брокера и любых инструментов):

extern bool UseMM = true;
extern double PercentDepo = 12.3; // Ispol'zuemyi % svobodnoi marzhi.
double MINLOT,LOTSTEP,MAXLOT,mLot;
//+------------------------------------------------------------------+
if(UseMM) Lot=LotSize(PercentDepo); // Raschet lota.
//+------------------------------------------------------------------+
double LotSize(double PD) { if(first==0) { first=1;
 MINLOT=(MarketInfo(Symbol(),MODE_MINLOT)); // Zapominaem minimal'no razreshennyi lot.
 LOTSTEP=(MarketInfo(Symbol(),MODE_LOTSTEP)); // Zapominaem minimal'nyi shag lota.
 MAXLOT=(MarketInfo(Symbol(),MODE_MAXLOT)); // Zapominaem maksimal'no razreshennyi lot.
 double d=LOTSTEP; while(d<1) { d=d*10; l++; }} // Vychislyaem "Digits" dlyarascheta lota.
 mLot=NormalizeDouble(AccountEquity()*0.00001*PD,l); // Raschet lota.
 if(mLot<MINLOT) mLot=MINLOT; if(mLot>MAXLOT) mLot=MAXLOT; return(mLot); }
//+------------------------------------------------------------------+


P.S. Если не прав - поправьте плиз.