Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 650

 
Tra-der:
 а для ручной торговли что можете предложить?

Для ручной торговли лучшее средство контроля это:

Лучшее средство контороля 

 
Karputov Vladimir:

Для ручной торговли лучшее средство контроля это:

 

:-) - от папика
 

{MQL4}. Здравствуйте. Подскажите, пожалуйста, как записать условие для индикатора, если максимум бара == ближайшему нижнему фракталу то ставлю точку.

Пытаюсь так

if( High[i+1]==Low[i+isFractalDn()])
       {
       ExtMapBuffer3[i]=High[i+1];
       }
//====
............
//эта функция за пределами старт
int isFractalDn()
{
for(int i=0; i != 10; i++)
{
if(iFractals(NULL, 0, MODE_LOWER, i)!= NULL) return(i);

}
return(-1);
}
 
mila.com:

{MQL4}. Здравствуйте. Подскажите, пожалуйста, как записать условие для индикатора, если максимум бара == ближайшему нижнему фракталу то ставлю точку.

Пытаюсь так

if( High[i+1]==Low[i+isFractalDn()])
       {
       ExtMapBuffer3[i]=High[i+1];
       }
//====
............
//эта функция за пределами старт
int isFractalDn()
{
for(int i=0; i != 10; i++)
{
if(iFractals(NULL, 0, MODE_LOWER, i)!= NULL) return(i);

}
return(-1);
}

Здравствуйте.

1. Вы ищите индекс фрактала, дак зачем писать [i+isFractalDn()]? Пишите просто [isFractalDn()]. 

2. Зачем Вы используете Low? Если iFractals() уже возвращает цену? Лишнее вычисление. Нашли фрактал на номере свечи - вернули сразу цену фрактала, которая будет = цене минимума свечи.

3. Цикл поиска фрактала. На 0, 1 свечах Вы фрактала не найдете. Начинать нужно со 2 (а лучше с 3 свечи - если по сформированным свечам работаете);

4. Условия завершения цикла: лучше написать не != 10, а <= 10. И, вообще, почему 10? В индикаторе есть такой прекрасный параметр как rates_total - используйте его (но тогда условие будет < rates_total). Не факт, что до 10-й свечи сможете найти фрактал. Или уж тогда поставьте значение 100, например;

5. Да, на счет != NULL значению индикатора я бы не был так уверен, возможно там 0.0 или EMPTY_VALUE.

6. И еще смутила надпись "эта функция за пределами start"? Вы скрипт пишите? Если индикатор, осваивайте OnCalculate(). Будет проще потом на mql5 переходить.
 
Karputov Vladimir:

Просто введите в свой советник входной параметр и в зависимости от того, какое значение ему присвоено при старте, будете или только покупать или только продавать:

input bool Long=true;            // allow only "Long"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
...
void OnTick()
  {
   if(!Long)
      trade.Sell(0.01);
   if(Long)
      trade.Buy(0.01);
  }


 

а для ручной торговли?
 
Tra-der:
а для ручной торговли?

Для ручной торговли уже давал самый лучший ограничитель:

Контролировать тип торгового приказа можно только если Вы отсылаете торговый приказ из советника (или скрипта). Если же Вы торгуете вручную, то никакими способами невозможно проконтролировать что Вы там нажали в терминале.  

 

ребята! при перебросе на виртуальный сервак перекидываются открытые позиции в торговле роботом советником?

 
long1:

ребята! при перебросе на виртуальный сервак перекидываются открытые позиции в торговле роботом советником?

Вы наверное хотели спросить: при установке робота на виртуальном сервере, будут-ли позиции ... ?  Не очень красивое общение, в стиле "пепси-школоло"

Куда они должны "перекидываться" ?

 
long1:

ребята! при перебросе на виртуальный сервак перекидываются открытые позиции в торговле роботом советником?

one shot = one hit

один аккаунт = одни сделки

соответственно, если на счете открыты сделки, то они будут открыты всегда и везде на этом счете, неважно где этот счет открыт, на серваке, в телефоне, на бумаге, на домашнем ПК 

 
ну допустим робот открывает позиции когда всё происходит на моём компе..  и тут я решаю перенести всю торговлю на арендуемую площадку сервера.. ну чтоб выключить комп и лечь спать))) перенесутся мои открытые позиции с сигналами? или робот начнёт там торговать с нуля?
Причина обращения: