Избранное трейдера Фыва
Не прошло и дня после заседания ФРС, как американские фондовые индексы вновь приблизились к своим годовым и историческим максимумам. По итогам торгов в четверг ключевые индексы в США закрылись ростом в пределах 1%, но самую лучшую динамику показали драгоценные металлы. Казалось бы, с чего вдруг такой позитив, ведь ФРС чётко заявил, что до конца текущего года ставка еще может быть повышена дважды, каждый раз на 25 базисных пунктов через заседание? Но был и позитив, количество руководителей, готовых согласиться и на одно повышения до конца года, выросло по сравнению с предыдущим заседанием, и скорее всего так и будет. Слишком долго ФРС готовит рынки к нормализации денежно-кредитной политики и даёт понять, что делать это будет очень плавно, по мере улучшения экономических показателей. Похоже, что инвесторы и фондовые рынки уже готовы к одному повышению ставки на 0.25% ближе к осени и сильно из-за этого не переживают. А если показатели по экономике США в июле и в августе будут выходить в более слабом ключе, то повышение ставки запросто могут отложить до первого квартала 2016 года и это инвесторы тоже прекрасно понимают.
+DI = Round( ( +DM / TR ) * 100 )
where,
DI+ = DIPlus
TR = True Range of current bar
The +DI is then smoothed over the period specified, the same way as a simple moving average, and +DM is calculated as follows:
(i) For up trending days, +DM = today's high — yesterday's high
(ii) For down trending days, +DM = zero
(iii) For inside days, +DM = zero
(iv) For outside days, if today's high — yesterday's high, is greater than yesterday's low- today's low, then +MD = today's high — yesterday's high, otherwise +DM = zero
(v) For upwards gap days, +DM = today's high — yesterday's high
(vi) For downwards gap days, +DM = zero
function MyDXPluse(Period: integer): integer; begin var BarSys,pDM,mDM,pDMA,mDMA,ATRA,R: integer; var dHigh,dLow: float; pDM := CreateSeries(); mDM := CreateSeries(); mDMA := CreateSeries(); pDMA := CreateSeries(); Result:= CreateSeries(); R:= CreateSeries(); for BarSys := Period to BarCount - 1 do begin dHigh := @#High[BarSys] - @#High[BarSys-1]; dLow := @#Low[BarSys-1] - @#Low[BarSys]; if ((dHigh < 0) and (dLow < 0)) or (dHigh=dLow) then begin SetSeriesValue( BarSys,pDM,0); SetSeriesValue( BarSys,mDM,0); end; if (dHigh > dLow) then begin SetSeriesValue( BarSys, pDM,dHigh); SetSeriesValue( BarSys, mDM, 0); end; if (dHigh < dLow) then begin SetSeriesValue( BarSys, pDM,0); SetSeriesValue( BarSys, mDM,dLow); end; end; //for { pDMA:= WilderMASeries(pDM,Period); mDMA:= WilderMASeries(mDM,Period); ATRA := ATRSeries(Period); } ATRA := TrueRangeSeries(); for BarSys := Period to BarCount() - 1 do begin SetSeriesValue( BarSys, R, Round( 100 * (@pDM[BarSys] / @ATRA[BarSys]))); end; //for Result := WilderMASeries(R,Period); end; //function //-------------------------------------------------------------------------------- var x : integer = MyDXPluse(7); var xPane: integer = CreatePane( 75, true, true ); PlotSeriesLabel( x, xPane, 009, #Thick, 'MyDXPluse Plot' );