[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 256

 
Ivan1:

всем привет. Помогите пожалуйста: мне нужно присвоить переменной значение текущего "столбика MACD" и ко второй переменной - предыдущего...

Иван, посмотрите базовый советник MACD Sample.
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);// последняя цифра задает показатель
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
 
Ivan1:
мне не нужна сигнальная линия.... просто соотношение гистограммы MACD - текущий его показатель с предыдущим, вот их и нужно мне присвоить переменным

вы ссылочку то посмотрели?

продублирую с выделениями:

double iMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)

symbol - Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
fast_ema_period - Период усреднения для вычисления быстрой скользящей средней.
slow_ema_period - Период усреднения для вычисления медленной скользящей средней.
signal_period - Период усреднения для вычисления сигнальной линии.
applied_price - Используемая цена. Может быть любой из ценовых констант.
mode - Индекс линии индикатора. Может быть любым из значений идентификаторов линии индикаторов.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

mode - индекс линии индикаторов - тут как раз вы и напишите какая вам из линий нужна - линия ли, гистограмма

shift - индекс получаемого значения. вам нужно два значения:

shift = 1 - предыдущий показатель

shift = 0 - текущий показатель

 
Всем привет. Что то запутался. Как узнать шифт вертикальной линии в подокне?
 

Давно обратил внимание, что в "истории счёта" у ордеров закрытых по тейкпрофиту в комментарии ставится [tp], а у некоторых tp/a...

В чём разница ?

С уважением Bradman

 
143alex:
Всем привет. Что то запутался. Как узнать шифт вертикальной линии в подокне?

Пробовал так

 double prise=ObjectGet( "L", OBJPROP_PRICE1) ;
   int    shift=ObjectGetShiftByValue( "L", prise); 
   Comment("1",shift);
 
143alex:

Пробовал так


ObjectGetShiftByValue "Применяется для трендовых линий и аналогичных объектов"

Пользуйтесь функцией iBarShift

 
yosuf:
На этом форуме недавно вычитал мысль о том, что если одновременно открыть 2 разнонаправленных ордера с одинаковым СЛ, то после закрытия одного из них можно попытаться выйти на профит. Кто нибудь проверял эту мысль или нет? Может быть есть похожий советник?

Expert Grid v.2.

"Copyright©2008 EAfactory.com and Expert-4x.com - «Revision: 264»"

Открывает позиции в обе стороны и закрывает обе, если разница в плюсе.

 

подскажите, где я ощибся плз... или это сам МТ4 даже так тупит, но у меня ордера Buy открываются только на High бара, а ордера Sell только на Close бара =) Хотя я в коде советника эти условия ну просто вообще не оговаривал =)

 extern int TP = 200; 
     extern int TS = 50; 
     extern int TF = 1; 
     extern double lots = 0.1; 
     extern int Pips = 15; 
     extern int MaxPips = 100; 


     int slip = 3; 
     int Magic = 2; 
     int cnt,ticket,total; 

 //+------------------------------------------------------------------+ 
  //| expert initialization function | 
  //+------------------------------------------------------------------+ 
  int init() 
    { 
  //---- 

 //---- 
     return(0); 
    } 
  //+------------------------------------------------------------------+ 
  //| expert deinitialization function | 
  //+------------------------------------------------------------------+ 
  int deinit() 
    { 
  //---- 

 //---- 
     return(0); 
    } 
  //+------------------------------------------------------------------+ 
  //| expert start function | 
  //+------------------------------------------------------------------+ 

 int start() 
    { 
  //---- 

 static double PriceOld = 0.0; 
 double PriceNow; 
 PriceNow = NormalizeDouble(Bid,6); 

 total = OrdersTotal(); 
 if(total < 1) 
 { 
    if((PriceNow-PriceOld)>=Pips*Point && (PriceNow-PriceOld)<MaxPips*Point) 
    { 
           ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-TS*Point,0,0,Magic,0,Green); 
    } 

 if((PriceNow-PriceOld)<=(-Pips)*Point && (PriceNow-PriceOld)>(-MaxPips)*Point) 
     { 
           ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,slip,Ask+TS*Point,0,0,Magic,0,Red); 
     } 
 } 


PriceOld = PriceNow;

//---- 


return(0);
}


 
CLAIN:

подскажите, где я ощибся плз... или это сам МТ4 даже так тупит, но у меня ордера Buy открываются только на High бара, а ордера Sell только на Close бара =) Хотя я в коде советника эти условия ну просто вообще не оговаривал =)


Дай угадаю, ты наверное используешь этот советник в тестере в режиме "по ценам открытия", потому как в нормальном режиме он не должен срабатывать.
 
мммм.... никак нет.... использую "все тики"... так что самое инетересное, buy открывает ся на HIGH, а sell на CLOSE... не понимаю, с чем это связано-то?
Причина обращения: