Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1475

 
MakarFX:

я же подписал

Макар, прекращай человеку дурить голову. Ему достаточно переменной глобального уровня и текущей цены.

input int      Points = 30;
double LoU;

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(Bid-LoU >= Points*_Point)
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"300",0);
     Print("---------------------КАЖДЫЙ ТИК ------Tick---------=     "    ,   Tick);
     LoU = Bid; // Здесь вместо Bid можно поставить любую цену
    }
  }

Таким образом на каждом тике будет проверяться разность текущей цены и цены в переменной LoU и если эта разница будет равна или превысит 30 пунктов — условие выполнено, переменная LoU примет новое значение и проверка разности будет вестись уже с другим значением.

 
ANDREY:

Вот твой код

Но он почему то не открыл ни одного ордера.

У меня открывает. Проверь что пишет журнал


[Удален]  

Доброго времени суток!


Создаю индикатор в отдельном окне. Хочу установить начальную высоту окна, к примеру 100

У нас есть стандартные функции:

#property indicator_height  100
IndicatorSetInteger(INDICATOR_HEIGHT, 100)

Но они блокируют пользовательское изменние высоты, она навсегда остается 100((( А оч нужно чтобы было можно ручками потом изменить


Есть другие варианты?) Пока нашел только варик через WinAPI симулировать, что мы мышкой растягиваем окно (и то не уверен что смогу реализовать)

[Удален]  

Сделайте так:

IndicatorSetInteger(INDICATOR_HEIGHT, 100);
IndicatorSetInteger(INDICATOR_HEIGHT, 0);
 
alex_xss:

Доброго времени суток!


Просто удали

IndicatorSetInteger(INDICATOR_HEIGHT, 100)
[Удален]  
Здесь есть тонкость. Сначала устанавливаем размер, а потом сбрасыванием в ноль отпускаем фиксацию, при этом размер не меняется. По-другому никак.
 
Alexey Viktorov:

Макар, прекращай человеку дурить голову. Ему достаточно переменной глобального уровня и текущей цены.

Таким образом на каждом тике будет проверяться разность текущей цены и цены в переменной LoU и если эта разница будет равна или превысит 30 пунктов — условие выполнено, переменная LoU примет новое значение и проверка разности будет вестись уже с другим значением.

Вы не правы радикально....Благодаря Макару я значительно и самое главное очень полезно расширил свой форекс кругозор. Если бы не он неизвестно когда бы я узнал так много полезных для меня вещей. Побольше бы таких "дурильщиков" на этом форуме. Ведь именно он ,а  не кто то другой, подсказал мне что решение моей проблемы лежит в применении   EventSetTimer(60)  Я ему очень признателен за быструю и качественную информационную поддержку. 

А то что Вы советуете , я знал это давно и в моем коде Ваш совет присутствует изначально.
 
Alexey Viktorov:

Макар, прекращай человеку дурить голову. Ему достаточно переменной глобального уровня и текущей цены.

Ты никогда не читаешь тему сначала и советуешь то что уже пройдено

 
MakarFX:

Ты никогда не читаешь тему сначала и советуешь то что уже пройдено

Согласен с тобой на 100 %....не в обиду Алексею.....

 
MakarFX:

У меня открывает. Проверь что пишет журнал


2021.05.20 06:30:45.176 GBPUSD,M1: 52255 tick events (1440 bars, 53255 bar states) processed in 0:00:00.000 (total time 0:00:05.906)
2021.05.20 06:30:45.163 2010.01.04 00:00:00  ×ÈÑÒÛÉ inputs: Points=30; 
2021.05.20 06:30:45.145 TestGenerator: spread set to 2
2021.05.20 06:30:45.145 TestGenerator: no connect to trade server, default environment will be applied