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

 
mersi:

Полученные новые знания, несмотря на потраченное личное время - наиболее ценный приз.

Лучшие инвестиции - инвестиции в знания/умения.

100% согласен. Когда писать возьметесь ? Как напишете - я Вам еще идеек призовых подкину. Или просто в ветку к Юсуфходже загляните - там призов вагон. Проинвестируете в свои знания и умения.
 

Добрый всем день! У меня такой вот небольшой вопрос: насколько корректно передавать в пользовательскую функцию обратное значение логической переменной? Например:

bool X;

.........

MyFunction(!X);

 
Elenn:

Добрый всем день! У меня такой вот небольшой вопрос: насколько корректно передавать в пользовательскую функцию обратное значение логической переменной? Например:

bool X;

.........

MyFunction(!X);

Это нормально.
 
Zhunko:
Это нормально.

Спасибо!
 

Добрый день Всем! Есть индикатор MA_In_Color_wAppliedPrice как вытащить оттуда сигнал при изменении цвета?-------------------------------------------------+

//-------Красить начинается по моему здесь..
      ExtMapBuffer3[i]=MA_Cur; //red 
      ExtMapBuffer2[i]=MA_Cur; //green
      ExtMapBuffer1[i]=MA_Cur; //yellow
      if (MA_Prev > MA_Cur)
        {
         ExtMapBuffer2[i]=EMPTY_VALUE;
        }
      else if (MA_Prev < MA_Cur)
           {
            ExtMapBuffer1[i]=EMPTY_VALUE; //-1 red/greem tight
           }
         else
           {
            ExtMapBuffer1[i]=EMPTY_VALUE;//EMPTY_VALUE;
            ExtMapBuffer2[i]=EMPTY_VALUE;//EMPTY_VALUE;
           }
     }
//----  

 
libeadier:

Добрый день Всем! Есть индикатор MA_In_Color_wAppliedPrice как вытащить оттуда сигнал при изменении цвета?-------------------------------------------------+

Каждому цвету индикатора соответствует свой буфер. Опрашивайте в советнике данные каждого буфера. При появлении не пустого значения (! EMPTY_VALUE) в одном из буферов говорит о появлении линии соответствующего цвета (или не линии - не вижу чем он там рисует)
 
artmedia70:
Каждому цвету индикатора соответствует свой буфер. Опрашивайте в советнике данные каждого буфера. При появлении не пустого значения (! EMPTY_VALUE) в одном из буферов говорит о появлении линии соответствующего цвета (или не линии - не вижу чем он там рисует)
офигенно, спасибо.
 
VladislavVG:
100% согласен. Когда писать возьметесь ? Как напишете - я Вам еще идеек призовых подкину. Или просто в ветку к Юсуфходже загляните - там призов вагон. Проинвестируете в свои знания и умения.

1. Обучение нейросетей интересует. Жду идеи.

2. Листая темы, заметил, что Юсуфходжа здесь один из самых "плодовитых" на порождение тем. В какую из его тем заглянуть?

 

Подскажите, пожалуйста, ниже код для чтения лог-файла. Автоматически читается текущий по дате лог-файл и выводится в принт.

Там, где:

while (result>0) {

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

void ReadWrite() {
   string tekTime=TimeStr1(CurTime(),1);
   string path=TerminalPath()+"\\logs\\"+tekTime+".log";
   string title="Чтение из файла";
   string msg;
   int result;
   int handle=_lopen(path,4);
   if (handle<0) {
      msg="Ошибка открытия файла";
      //MessageBox(msg,title,MB_OK|MB_ICONERROR);
      Print(msg);
      return;
   }
   result=_llseek (handle,0,0);
   string buffer="";
   //string char="x                      ";
   string char="x                                                                                                                                                                                                                                                         ";
   int count=0;
   result=_lread (handle,char,250);
   while (result>0) {
      buffer=buffer+char;
      char="x                                                                                                                                                                                                                                                         ";
      count++;
      result=_lread (handle,char,250);
   }
   result=_lclose (handle);
   msg=StringTrimRight(buffer);
   //MessageBox(msg,title,MB_OK|MB_ICONINFORMATION);
   Print(msg);
}

//------------------расчет времени----------------
string TimeStr1(int taim,int tip)
{
   string sTaim;
   string sTaim1,sTaim2,sTaim3;
   if (tip==1) 
   {
      int GD=TimeYear(taim);                  
      int MN=TimeMonth(taim);                  
      int DD=TimeDay(taim);  
      
      sTaim1 = DoubleToStr(GD,0);
      if (MN<10) sTaim2 = StringConcatenate(sTaim2,"0"+DoubleToStr(MN,0));
      else sTaim2 = StringConcatenate(sTaim2,DoubleToStr(MN,0));
      if (DD<10) sTaim3 = StringConcatenate("0",DoubleToStr(DD,0));
      else sTaim3 = DoubleToStr(DD,0);
      sTaim=sTaim1+sTaim2+sTaim3;
   }
   return(sTaim);
}
 

Заметил одну особенность терминала. Расчет профита ордера не учитывает OrderSwap().


Т.е., чтобы закрыть ордер с профитом, надо использовать такую формулу:

(OrderProfit()+OrderSwap()+OrderCommission())>0

Никогда не работал с комиссией, а на демо комиссия не используется, потому не могу проверить на счете.

Мои расчеты правильны?
Причина обращения: