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

 
как оптимизировать параметр если он находится внутри пользовательской функции?
 

Что значит оптимизировать?    Вместе с роботом в тестере оптимизировать.

 

Подскажите, а что значит '(' - incompatible types C:\Documents and Settings\User\Мои документы\FxClub\TeleTRADE\experts\Конструктор.mq4 (68, 39)
относительно return(errorcomment);??

 
lottamer:
как оптимизировать параметр если он находится внутри пользовательской функции?

Выведи его в extern
 

Пытаюсь скомпилировать код,который мне любезно подсказал FAQ .

Но компилятор сопротивляется и  просит точку с запятой после оператора присвоения(выделил желтым).

'bool' - semicolon expected    C:\Program Files\Alpari NZ MT4\experts\ГРААЛЬ-1.mq4 (5, 3)

Но ведь они у меня там стоят....а он все равно просит , просит, просит......и просит....

Скажите ЧТО ОН ИМЕЕТ В ВИДУ?

СПАСИБО.

  int start()
  
  bool have = true ;
        
  for(int i=0;i<10;i++)
  {

   if(Low[i]<=Low[i+1])
   {have=false; 
   break;} 

} 

if(have == true )
{

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 

}
else
{

 return(0);
}
 

В одном из кодов встретил такую штуку:

if (StringSubstr(AccountCurrency(), 0, 3) == "JPY") 
    {
      ld_24 = MarketInfo("USDJPY" + StringSubstr(Symb, 6), MODE_BID);
      if (ld_24 > 0.1) ld_16 = ld_24;
      else ld_16 = 82;
    }

Можете подсказать, для чего это применяется? - Я так полагаю, раз здесь упоминается о валюте счета, то по идее должен быть коэффициент перевода в другую валюту. Но.. почему он фиксированный? - От чего этот коэффициент зависит? - в данном случае число 82.

И совсем интересным выглядит вот эта строка, смысл которой я вообще не догоняю:

MarketInfo("USDJPY" + StringSubstr(Symb, 6), MODE_BID)

поскольку если к "USDJPY" прибавить, к примеру, "EURUSD" но для 6-й буквы, то получится ноль - зачем тогда ее вообще прибавлять? Хм...

Для меня это какая-то белиберда в понимании, но для опыта хотелось бы понять принцип перевода из одной валюты в другую. И думаю, что раз люди ее применяют (в моей практике пока нету счетов не в долларах), то ведь не по глупости же. Значит, есть в ней смысл.

Спасибо за разъяснения! Думаю, не только мне будет интересным. : ))

 

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

 extern int tp=100;

extern int sl=100;

extern int H=14;

extern int M=00;

double ma1, ma2;

int start()

  {

  ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

  ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,"",123,Red); 

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,"",123,Red);

  }

  return (0);

 
r772ra:

Выведи его в extern


а как это сделать?

функция модифицирует ордер, выставляя стопы и тейки. вот их надо оптимизировать. 

 
solnce600:

Пытаюсь скомпилировать код,который мне любезно подсказал FAQ .

Но компилятор сопротивляется и  просит точку с запятой после оператора присвоения(выделил желтым).

'bool' - semicolon expected    C:\Program Files\Alpari NZ MT4\experts\ГРААЛЬ-1.mq4 (5, 3)

Но ведь они у меня там стоят....а он все равно просит , просит, просит......и просит....

Скажите ЧТО ОН ИМЕЕТ В ВИДУ?

СПАСИБО.

Как вариант, точка с запятой чуть выше по коду где-то еще не поставлена. Просто компилятор говорит, что где-то пропущена до этого места.

А в этом коде вроде все нормально по пунктуации написано.

 
Chiripaha:

Как вариант, точка с запятой чуть выше по коду где-то еще не поставлена. Просто компилятор говорит, что где-то пропущена до этого места.

А в этом коде вроде все нормально по пунктуации написано.


А выше только START и больше НИЧЕГО
  int start()
  
  bool have = true;
  {
  for(int i=0;i<10;i++)
  {

   if(Low[i]<=Low[i+1])
   {
   have=false; 
   break;
   } 

} 

if(have )
{

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-1510*Point,"jfh",123 );// действия если условие соблюдено 

}
else
{

 return(0);
}
 
lottamer:


а как это сделать?

функция модифицирует ордер, выставляя стопы и тейки. вот их надо оптимизировать. 


Вот, как раз в коде Pr0t0tip (ну, и ник - запарился перепечатывать : )) ) эти переменные extern int sl=100; (и т.п.) отображены. Таким образом нужно объявить переменную, тогда она появится в настройках совы, после чего ее значение можно будет менять и оптимизировать.
Причина обращения: