[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 602

 
L-user:

Как с помощью object crate и object set нарисовать горизонтальную линию, например, в окне стохастика?

ObjectCreate(name, OBJ_VLINE, window, time,0,0,0);

где name - имя линии,

window - номер окна, в котором нужно отрисовать линию (его придется задавать вручную в настройках индикатора, который будет рисовать линию, т.к. программно mql дальше второго (0 - основной график и 1 - первое подокно) определить не может

time - время, по которому рисуется линия

 
keekkenen:

индикатор, наверное, а не советник..

дело в том, что после запуска на н-ном тике когда в первый раз сработает условие

if(MA_buffer1[SIGNAL_BAR] - 0.3 > 0 && 0.3 - MA_buffer1[SIGNAL_BAR+1] >= 0)

выполнится PrevSignal = 1;

и больше, по условию if(PrevSignal <= 0)

не будет алертов.. аналогично и для алерта по второму варианту..

если вообще ни одного алерта нет выскакивает значит условия для них вообще не наступают..

А на какое значение нужно изменить это условие if(PrevSignal <= 0) ?
 
41ckm39fi:
А на какое значение нужно изменить это условие if(PrevSignal <= 0) ?

все что связано с PrevSignal вообще нужно убрать, тогда у вас получится, что каждый новый бар будут проверяться условия и выдаваться алерт,

если одно или оба условия выполнились..

 
keekkenen:

все что связано с PrevSignal вообще нужно убрать, тогда у вас получится, что каждый новый бар будут проверяться условия и выдаваться алерт,

если одно или оба условия выполнились..

Спасибо сейчас попробую это сделать.
 
#property  indicator_level1 0.3
#property  indicator_level2 0.7
//---- 
extern int        period_MA            = 5,
                  period_DeMarker      = 14;
//---- 
double            DeMarker_buffer0[],
                  MA_buffer1[],
                  Signal_Buffer2[];
                  
#define SIGNAL_BAR 1
//+------------------------------------------------------------------+
//|   
//+------------------------------------------------------------------+
int start()
  {
  int    i,limit=ArraySize(DeMarker_buffer0);
         ArraySetAsSeries(DeMarker_buffer0,false);
  int    counted_bars=IndicatorCounted();
//----
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//----
  for(i=limit; i>=0; i--)
  DeMarker_buffer0[i]=iDeMarker(NULL,0,14,1);
//---- 
  for(i=limit; i>=0; i--)
  MA_buffer1[i]=iMAOnArray(DeMarker_buffer0,limit,5,0,MODE_LWMA,i);
//----  
                if(MA_buffer1[SIGNAL_BAR] - 0.3 > 0 && 0.3 - MA_buffer1[SIGNAL_BAR+1] >= 0)  
//---- 
                                Alert( "sMA(", Symbol(), ", ", Period(), ")  -  BUY!!!" );
//----
                if(0.7 - MA_buffer1[SIGNAL_BAR] > 0 && MA_buffer1[SIGNAL_BAR+1] - 0.7 >= 0)
//----               
                                Alert("sMA(", Symbol(), ", ", Period(), ")  -  SELL!!!");
                        
   return(0);
  }
Я убрал все что связано с PrevSignal но сообщение не выдается.
 
Noterday:

Подскажите как решать проблему!

Тестирую советник по тикам, в советнике используются не только стандартные индюки, но и пользовательские iCustom.

После того как тестирование пройдено (без визуализации) жму кнопку "Открыть график" и появляется следующая картина:

А ГДЕ ЖЕ ИНДИКАТОРЫ которые использует советник? Я помню что раньше они показывались, а теперь нет... Как сделать чтоб они появились, только не добавлением руками, а автоматически, при просмотре графика после тестрования????

Хотелось бы глянуть по каким таким индюкаторам такая стройная картинка выходит, если не жалко конечно...
Кстати, у меня та же хрень происходит с недавнего времени. Раньше в любом случае показывал мне все индюки, а сейчас - нет. Вообще - нет...
Я тупо обозвал шаблон именем советника, и он мне автоматом его подставляет при тестировании. Со всеми индюками.
 
keekkenen:
ищите деление на переменную, 100% в ней значение 0 найдете..
Супер... У меня там деления нигде нет, только умножение. Я в первую очередь это всё проверил.
А нашел такое вот чудо - была задана переменная МА150_1, кот., как несложно догадаться, считывала значения iMA на первом баре, так вот имя задано было, а её значение никак не присваивалось, почему копмилятор не матюкнулся - не знаю, но вышло именно так, что появилось деление на ноль. Есс-но значение переменной было равно нулю, раз я его не присвоил, но делить я на него ничё не делил, только сравнивал больше-меньше...
Ну да ладно... нашёл и славненько... :)
 
artmedia70:
Хотелось бы глянуть по каким таким индюкаторам такая стройная картинка выходит, если не жалко конечно...

Где ж ты её идеальную увидел то?))) Смотри какие просадки после открытия ордеров =) Да и закрытие по тэйк профиту идёт а не условием...а это не гуд =(

Выкладывать пока не буду, вот доделаю, доведу всё до ума тогда и в код бэйз ему дорога...

 

Топик для новичков?вот у меня вопрос.Платят ли ДЦ деньги заработанные с советником?Есть ли порог,(ну чтоб заплатили) Или все эти советники для лохов,которые покупают,я не знаю,я лоханулся или нет((

 
Mnogo:

Топик для новичков?вот у меня вопрос.Платят ли ДЦ деньги заработанные с советником?Есть ли порог,(ну чтоб заплатили) Или все эти советники для лохов,которые покупают,я не знаю,я лоханулся или нет((


ДЦ по барабану, человек торгует, или робот. Если клиент желает вывести свои деньги, ДЦ обязано их вывести (если при этом в процессе торга небыно нарушений правил даного ДЦ).
Причина обращения: