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

 
zxc:

цена открытия - double
да, без структур придется все делать double
 

Не могу в учебнике найти ответа на свой вопрос поэтому решил тут спросить. По моей стратегии на 1 баре можно совершить только одну сделку. В случае с D1 сделал проверку текущего дня с днем открытия ордера (см. ниже). Как можно сделать проверку по Н4, Н1 или вообще для любого другого таймфрейма? Если эта тема уже где-то была раскрыта, буду весьма признателен за линк. С уважением.

   Symb=Symbol();
   total=OrdersTotal();
   string TodayDate=TimeToStr(TimeCurrent(),TIME_DATE);
   if (total>0)
   { // ------- D.1. Start 
      for (i=0; i<=total; i++)
      { // ------ D.2. Start
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
         {  string OrderDate=TimeToStr(OrderOpenTime(),TIME_DATE);
            if (OrderSymbol()==Symb && TodayDate==OrderDate) 
            {  Comment ("Today order for ",Symbol()," was opened");
               Sleep(60000); return(0); }
         }
      } // ------ D.2. End
   } // ------- D.1. End
 

Не могу в учебнике найти ответа на свой вопрос поэтому решил тут спросить. По моей стратегии на 1 баре можно совершить только одну сделку. В случае с D1 сделал проверку текущего дня с днем открытия ордера (см. ниже). Как можно сделать проверку по Н4, Н1 или вообще для любого другого таймфрейма? Если эта тема уже где-то была раскрыта, буду весьма признателен за линк. С уважением.

   Symb=Symbol();
   total=OrdersTotal();
   string TodayDate=TimeToStr(TimeCurrent(),TIME_DATE);
   if (total>0)
   { // ------- D.1. Start 
      for (i=0; i<=total; i++)
      { // ------ D.2. Start
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
         {  string OrderDate=TimeToStr(OrderOpenTime(),TIME_DATE);
            if (OrderSymbol()==Symb && TodayDate==OrderDate) 
            {  Comment ("Today order for ",Symbol()," was opened");
               Sleep(60000); return(0); }
         }
      } // ------ D.2. End
   } // ------- D.1. End
 
paladin80:

Не могу в учебнике найти ответа на свой вопрос поэтому решил тут спросить. По моей стратегии на 1 баре можно совершить только одну сделку. В случае с D1 сделал проверку текущего дня с днем открытия ордера (см. ниже). Как можно сделать проверку по Н4, Н1 или вообще для любого другого таймфрейма? Если эта тема уже где-то была раскрыта, буду весьма признателен за линк. С уважением.

используйте функцию iTime: https://docs.mql4.com/ru/series/iTime

и сравнивайте OrderOpenTime() с iTime(Symbol(), PERIOD_H1, 0) в вашем цикле

 

почему на скриншотах - прописанных в алгоритме советника, не отображаются индикатры, по которым реализуется алгоритм, причем окно для индикатора есть?

код

bool TakeScreenShot(string type)
{

Print("вызов функции скриншот");
int count = 1;

if(!GlobalVariableCheck("ssc"))
{
GlobalVariableSet("ssc",1);
count = 1;
}
else
{
count = GlobalVariableGet("ssc") + 1;
GlobalVariableSet("ssc",count);
}
string filename = "MyEA\\" + "MyEA_" + Symbol() + "_" + type + "_" + DoubleToStr(count,0) + ".gif";
WindowScreenShot(filename,640,480);
Print(" скриншотсделан ");
return(0);

 
Ivn:

почему на скриншотах - прописанных в алгоритме советника, не отображаются индикатры, по которым реализуется алгоритм, причем окно для индикатора есть?

код

bool TakeScreenShot(string type)
{

Print("вызов функции скриншот");
int count = 1;

if(!GlobalVariableCheck("ssc"))
{
GlobalVariableSet("ssc",1);
count = 1;
}
else
{
count = GlobalVariableGet("ssc") + 1;
GlobalVariableSet("ssc",count); 
}
string filename = "MyEA\\" + "MyEA_" + Symbol() + "_" + type + "_" + DoubleToStr(count,0) + ".gif";
WindowScreenShot(filename,640,480);
Print(" скриншотсделан ");}
Ищите в другом месте -- функция рабочая.
 
Roll:
Ищите в другом месте -- функция рабочая.


да, я знаю, что функция рабочая, вот результат

внизу есть окно индикатора, а самого его нет, почему?

 
Ivn:


да, я знаю, что функция рабочая, вот результат

внизу есть окно индикатора, а самого его нет, почему?


Пробуйте на демо-счете.
 
Roll:

Пробуйте на демо-счете.


на нем и тестирую, периодически делает скиншоты, иногда нет ( в последнее время делает)).

советник для принятия решения использует ADX одного периода - только разные свечи, мне как раз и нужно графическое изображение этого индикатора, что бы понять почему он совершает сделки, когда этого не надо делать - проерить алгоритм.

 
Ivn:


на нем и тестирую, периодически делает скиншоты, иногда нет ( в последнее время делает)).

советник для принятия решения использует ADX одного периода - только разные свечи, мне как раз и нужно графическое изображение этого индикатора, что бы понять почему он совершает сделки, когда этого не надо делать - проерить алгоритм.


Проверяйте на демо, а не в тестере.
Причина обращения: