[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 362

 
Vinin >>:

Что-то примерно так у меня получилось.

БОЛЬШОЕ СПАСИБО!

[Deleted]  

Добрый день!

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

Если не трудно объясните разницу между пятью и четырьмя знаками, или дайте ссылку где об этом можно почитать.

 
gvi2504 >>:

Добрый день!

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

Если не трудно объясните разницу между пятью и четырьмя знаками, или дайте ссылку где об этом можно почитать.


Я делаю так - в самом начале start() (наверное лучше в init() ?) задаю:

// ```````````````````````````````
   double PointX = 0;
   if(Digits==5 || Digits==3) {
      PointX = Point * 10;
   }
   if(Digits==4 || Digits==2) {
      PointX = Point;
   }
// ```````````````````````````````


А затем вместо "Point" использую "PointX".

[Deleted]  
chief2000 >>:


Я делаю так - в самом начале start() (наверное лучше в init() ?) задаю:


А затем вместо "Point" использую "PointX".





Большое спасибо.

[Удален]  
Shniperson писал(а) >>
Господа. а как сделать чтобы при торговле на Н4 учитывались значения баров на Н1 ? например if(......&& Close[0](бар Н1)>High[1](бар Н1) ???????????

примерно вот.. однако это пример рабочего кода по макд и ) || ( это подчеркнутое место объединяет условие конкретного кода

индикатор>0 && индикатор<=Signalиндикатор && индикатор>Signalиндикатор объединяет Н4 с Н1 в том смысле что ситуация в Н4 и в Н1 для макд одинакова (или как раз нет это уже зависит от <=0 (меньше либо равно нулю/можно макду) к тому же &&(одновремеено то есть) позволяет еще усложнить взаимосвязь )

MacdCurrent=индикатор_MAIN,0);
MacdPrevious=индикатор_MAIN,1);
SignalCurrent=индикатор_SIGNAL,0);
SignalPrevious=индикатор SIGNAL,1);

total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
if((индикатор>0 && индикатор<=Signalиндикатор && индикатор>Signalиндикатор) || (индикатор<=0 && индикатор>0))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

однако код это чужой и изменить его сам я неспособен, это точно.

[Удален]  
JEKA писал(а) >>
Здрасти,вопрос наверно более для продвинутых програмеров чем для начинающих типо меня,хотя моя задумка пригодиться и тем и другим!И так суть вопроса, возможно-ли написать индикатор или советник операющийся на два индикатора? 5_ZZ_Semafor.ex4,V-TBv6.ex4 Я бы хотел и сам его написать но к сожиления я не владею такими знаниями,и хотел-бы обратится за помощью к тем кому тоже интиресна эта идея или к тем кто обладает нужными в этой области познаниями.Зарание примного благодарен, и надеюсь созданая мной тема не останется без вашего внимания.

есть торгующий советник по ма и макд.

ма на открытие, макд на закрытие

ма просто на открытие в коде для опен позишн (в скриптах поставляемых вместе стерминалом это как раз ма и макд) выделен блок в него идет индикатор (ма) на клоуз (макд).

если нужно сразу два то в нужном блоке объявляется два индикатора далее их значенея объединяются через

void CheckForClose()
{
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious;
int cnt, ticket, total;

MacdCurrent=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,MACD_FastEMA,MACD_SlowEMA,MACD_SMA,PRICE_CLOSE,MODE_SIGNAL,1);

total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
if((*>0 && *<=* && *>* ) || (*<=0 && *>0))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
tek_mode=1;
return(0); // exit
}

}
else // go to short position
{
if((Macd*<0 && Macd*>=* && *<* ) || (*>=0 && *<0))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
tek_mode=-1;
return(0); // exit
}
}
}
}
}
//+------------------------------------------------------------------+

где tek_mode=-1; назначена для обрезания моментального повторак ставки. а || и && как раз позволяют учесть две группы условий одновремено как одно единственое.

 

Подскажите, пожалуйста.

Как из собственной DLL грамотно и максимально рационально забрать тики из МТ4 в Матлаб?

Кто-нибудь наверняка делал такое.

из МТ в общих чертах:

start()

  {

     fMyDll(Bid);    // передаю в функцию из моей длл бид с каждым новым тиком

  }

 как дальше? какие методы обмена юзают?

[Deleted]  
При тестировании стратегий есть ли ограничения на количество комбинаций параметров? То есть на количество проходов тестера.
[Удален]  
Переделал индикатор VSI. Получился недотепаный. Может кто подскажет где ошибка?
Файлы:
vsi_twin.mq4  4 kb
 
nikost писал(а) >>
Переделал индикатор VSI. Получился недотепаный. Может кто подскажет где ошибка?
Файлы: