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

 
hoz:

 Появился забавный вопрос. Например, я решил открыть ордер на покупку по условию:

1. быстрая машка1 пересекла медленную машку2 снизу вверх. (Нам важно не момент пересечения, а то что быстрая машка1 находится выше медленной машки2).

2. Свеча коснулась быстрой машки1, значит открывается ордер на покупку.

 Я думал над этим, и так понимаю, что нужно создать условия, что если цена свечи примерно равна цене быстрой  машки1 видимо с некоторым  заданным отклонением, так?

По сути, раз свеча на данный момент сверху раз быстрая машка1 пересекает медленную снизу, то над нужно сравнивать лоу свечи с ценой быстрой машки1?

т.е.

 Но в таком случает, не учитывается тот момент, что свеча навряд ли будет на цене iMA(fast) точно, ведь цена может быстро проскачить её и пойти дальше или отскочить. Получается нужно задать какой-то диапазон.

 Как это правильно реализовать? 

Читайте всё и ставьте/правьте!

  • ПРОГРАММНЫЕ РЕШЕНИЯ
С чего начать новичку?
КАК найти цену последнего фрактала?
КАК получить сигнал пересечения двух МА?

КАК проверить пересечение МА с учетом требуемого расхождения?

...


 
Twilight:

Даст перерисовать визуально.

Прогнать в цикле последнии N баров и если сигнал был то сигнал=true

А там уже можно крутить что угодно с любыми другими не перерисовывающими индикаторами.

 PostMessageA (WindowHandle (Symbol(), Period()), 0x0111, 33324, 0); 

 Где вставлять? В начале Старта?

 

Спасибо. 


 

silatyt:

Перед вызовом индикатора (можно и в начале start()).

P.S. Все "бегут" от перерисовки, а Вы за ней - нестандартно... :))


 Еще вопрос открыто 2 графика одной и той же валюты и он перерисовывает сразу вов сех окнах как сделать чтобы такое перерисовалось только в 1 окне? Искать по Хендлу?

А код можно с примером? 

 

 Меня не интересует проверка пересечения МА, мне нужно при касание МА свечой открывать ордер...
 
hoz:

 Меня не интересует проверка пересечения МА, мне нужно при касание МА свечой открывать ордер...

ИМХО
Ставите условие больше либо равно Bid >= iMA (...) если касание снизу вверх и проверка на каждом тике.

Либо проверяете Higth[0] бара больше или равно  >-iMA (...)

ЛИБО CLOSE[0] и тоже самое.

 

if (fast0>=slow0 && Close[0]>=fast0) Print("Пересечение ВВЕРХ"); 

Покупаем 

 
hoz:

 Меня не интересует проверка пересечения МА, мне нужно при касание МА свечой открывать ордер...


if (MA на первом баре < Low [1]) 
   if (MA на нулевом баре >= Bid) {то входите в бай, если на отбой от МА}
 
Twilight:



В общем вроде вот так

 Короче, как-то так надо делать:

hparent=WindowHandle(Symbol(),Period());         // нашли хэндл графика скрипта
hparent=GetAncestor(hparent,2);                  // нашли основное окно
hactiv=GetDlgItem(hparent,0xE900);               // нашли окно с графиками
hactiv=GetWindow(hactiv,GW_CHILD);               // нашли 1-ое дочернее окно, оно текущее
// пробежать по остальным окнам
while(hactiv>0) {
   hactiv=GetWindow(hactiv,GW_HWNDNEXT);         // нашли следующее дочернее окно
}
Далее
GetWindowTextA(hactiv,name,10);            // получили описание окна;

Распарсите его, сравните и получите что ищете. 

 
Roman.:

if (MA на первом баре < Low [1]) 
   if (MA на нулевом баре >= Bid) {то входите в бай, если на отбой от МА}


 Роман, вот я об этом и спрашивал. По сути, я думал примерно так же, но хотел убедиться что я правильно мыслю, сверясь с мнение профи. Благодарствую.

 
Привет всем ..ребят Подскажите что тут не так ...гудеть не хочет мой двухстрочный код .(

#property copyright "Copyright © 2012"
#property link      "Не ссать  против ветра "
 
 extern bool       Будильник      = true ;
 extern string SoundFile      =  "News.wav";
 
int start ()                                  
{
 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,0); 
 
if (Будильник ==true)
{

  {
 if ( a > b ) 
       
 {  
  Alert("BUY");
  PlaySound(SoundFile);
  Sleep(100000);
  }
 }
}


return(0);}
вот отрывок из самого индикатора 
extern int       period=21
extern int       method=0;                        
extern int       price=0;                         
 
odiseif:
Привет всем ..ребят Подскажите что тут не так ...гудеть не хочет мой двухстрочный код .(
вот отрывок из самого индикатора 
extern int       period=21; 
extern int       method=0;                        
extern int       price=0;                         

В вызове индикатора отсутствует одна переменная - буфер!!!

 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN, N_Buf, 0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN, N_Buf, 0);
 
TarasBY:

В вызове индикатора отсутствует одна переменная - буфер!!!


В индикаторе вызваны три буфера ..спасибо ..шя попробую и так и сяк ..мб получится методом тыка .