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

 
Вам надо завиксировать предыдущую цену в статической переменной, и каждый тик сравнивать, что бы машка была между ними (текущей предыдущей ценой)
 
Понял.
 
FAQ:
Вам надо завиксировать предыдущую цену в статической переменной, и каждый тик сравнивать, что бы машка была между ними (текущей предыдущей ценой)

Вот так?

if ((Low[1]>MA) && (Bid<MA))
{
 ...
}
if ((High[1]<MA) && (Ask>MA))
{
 ...
}
 

Вылезает ошибка 130. Прочитал справку, не понял в чем ошибка...

extern int TP=10;
extern int SL=40;
extern double lot=1;
extern int slippage=3;
...
if ((l==true)&&(proves==true)) OrderSend(Symbol(),OP_SELL,lot,Bid,slippage,Ask-SL*Point,TP*Point+Ask,0,0,0,Green);
...
if ((l==true)&&(proves==true)) OrderSend(Symbol(),OP_BUY,lot,Ask,slippage,Bid-SL*Point,Bid+TP*Point,0,0,0,Red);
 

130 - Слишком близкие стопы или неправильно рассчитанные или ненормализованные цены в стопах (или в цене открытия отложенного ордера). Попытку можно повторять только в том случае, если ошибка произошла из-за устаревания цены. Необходимо после задержки от 5 секунд обновить дaнные при помощи функции RefreshRates и повторить попытку. Если ошибка не исчезает, необходимо прекратить все попытки торговых операций и изменить логику программы.

Вот тут смотрите.

 

Ошибка 130. Неправильные стопы

возможно слишком близко к рынку, чего не позволяет ДЦ, но скорей всего нужно установить ордер без стопов и профитов, а при следующем цикле изменить ордер и добавить профит и стоп, так сейчас требуют большинство ДЦ.

 

А возможно вывести Сомменты из советника на другой график с другим ТФ? Заранее благодарю!

 
Нет, писать и рисовать можно только в своем окне, если конечно не использовать ВИНАПИ, но думаю этот метод вам не подойдет
 
start(){static double pBid = 0;
   RefreachRates(); 
   if(pBid==0){pBid=Bid;}
   
   double Ma = iMa(bla,bla,bla.....
   
   if((pBid>Ma&&Bid<=Ma)||(pBid>=Ma&&Bid<Ma)){
       if(OrdersTotal()<1){
           // Open BUY order
       }
   }
   if((pBid<Ma&&Bid>=Ma)||(pBid<=Ma&&Bid>Ma)){
       if(OrdersTotal()<1){
           // Open SELLorder
       }
   }
   забыл : pBid=Bid;
что то около того, проверяйте орфографию, писал прямо в браузере
 
FAQ:
Нет, писать и рисовать можно только в своем окне, если конечно не использовать ВИНАПИ, но думаю этот метод вам не подойдет

Спасибо! Жалко, т.к. советник на минутке, а индикаторы на других ТФ, и общую обстановку лучше наблюдать на старших ТФ!

А ВИНАПИ первый раз слышу! Как и что это?

Посмотрел Гугле: WinAPI И как там искать? БАльшой справочник!

Причина обращения: