Помощь в кодировании - страница 759

 
Уважаемый MLADEN

Что касается предупреждений при компиляции "return value of ''order send/select,modify,close'' были исправлены путем добавления (bool dummyResult) ранее, но теперь я вижу, что вы используете просто (bool dummy), это нормально для всех и каждой ситуации или новый (bool dummy) для некоторых конкретных индикаторов и ситуаций?

с уважением
 
mntiwana:
Уважаемый MLADEN

Что касается предупреждений при компиляции "return value of ''order send/select,modify,close'' were corrected by adding (bool dummyResult) previously but now i see you using simply (bool dummy), is it ok for all and every situation or the new (bool dummy) for some specific indicators and situations ?

regards
Обычно эти предупреждения доброкачественные.

Что используется, чтобы действительно проверить, в порядке ли операция(и) ордера, так это GetLastError() (поскольку она дает гораздо больше деталей, чем простой булев возврат, который по умолчанию возвращается от операций ордера) - так что, да, это нормально, и затем, если требуется больше деталей для возможной ошибки, тогда, всеми средствами, GetLastError() должен использоваться
 
wojtekpaul:

(что мы будем делать после 31 января?) :(

ВойтекПол,

Как это понимать?

 
chrisstoff:

ВойтекПол,

Как это понимать?

Он имел в виду вот это: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated

Но проверьте и этот пост: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated/page4#comment_1849089
 
mladen:
Обычно эти предупреждения доброкачественные.

Чтобы действительно проверить, в порядке ли операция(и) заказа, используется GetLastError() (поскольку она дает гораздо больше деталей, чем простой булев возврат, который по умолчанию возвращается от операций заказа) - так что, да, это нормально, и затем, если требуется больше деталей для возможной ошибки, тогда, всеми средствами, следует использовать GetLastError().
Уважаемый MLADEN

Спасибо за помощь.

с уважением
 
mladen:
Он имел в виду вот это: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated

Но посмотрите и этот пост: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated/page4#comment_1849089

Младен,

Спасибо за информацию. Это / был мой один из самых любимых форумов, так что это плохая новость для меня тоже. Тем не менее, в сети есть и другие места с готовыми функциями форума и чата. (Я привел один пример в теме "Forex-TSD будет закрыт...").

 

Привет всем,


Мне нужен кодер, чтобы поставить стрелку с предупреждением для этой стратегии. Вручную эта стратегия дает 100% победу.


Ниже приведена ссылка на стратегию.

http://www.binaryoptionsedge.com/topic/1879-high-power-option-2015/page-2#entry108014

Сообщение #29

Obrigado.

 

Уважаемый Младен, возможно ли, чтобы две следующие функции:

iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_HIGH,i);

and

iCustomMa(ma_ema,getPrice(pr_high,Open,Close,High,Low,i),MAPeriod,i,0);
(or iCustomMa(ma_ema,iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i),MAPeriod,i,0); )
где ma_ema определена ниже:
#define _maWorkBufferx1 1
#define _maWorkBufferx2 2
#define _maWorkBufferx3 3
#define _maWorkBufferx5 5
double iCustomMa(int mode, double price, double length, int i, int instanceNo=0)
{
   if (length<=1) return(price);
   int r = Bars-i-1;
   switch (mode)
   {
      // ...
      case ma_ema   : return(iEma(price,length,r,instanceNo));
      // ...
      default : return(0);
   }
}

double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
   if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
   //
   double alpha = 2.0 / (1.0+period);
          workEma[r][instanceNo] = workEma[r-1][instanceNo]+alpha*(price-workEma[r-1][instanceNo]);
   return(workEma[r][instanceNo]);
}
возвращают разные значения (для одного и того же MAPeriod и i)? Означает ли это.
что iEma работает немного иначе, чем встроенная EMA?
 
wojtekpaul:

Уважаемый Младен, возможно ли, чтобы две следующие функции:

iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_HIGH,i);

and

iCustomMa(ma_ema,getPrice(pr_high,Open,Close,High,Low,i),MAPeriod,i,0);
(or iCustomMa(ma_ema,iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i),MAPeriod,i,0); )
, где
#define _maWorkBufferx1 1
#define _maWorkBufferx2 2
#define _maWorkBufferx3 3
#define _maWorkBufferx5 5
double iCustomMa(int mode, double price, double length, int i, int instanceNo=0)
{
   if (length<=1) return(price);
   int r = Bars-i-1;
   switch (mode)
   {
      // ...
      case ma_ema   : return(iEma(price,length,r,instanceNo));
      // ...
      default : return(0);
   }
}

double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
   if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
   //
   double alpha = 2.0 / (1.0+period);
          workEma[r][instanceNo] = workEma[r-1][instanceNo]+alpha*(price-workEma[r-1][instanceNo]);
   return(workEma[r][instanceNo]);
}
возвращают разные значения (для одного и того же MAPeriod и i)? Означает ли это, что
что iEma работает немного иначе, чем встроенная EMA?
EMA зависит от предыдущих значений. Если вы рассчитывали значения по всей серии, то они должны возвращать очень похожие значения. Если нет (если вы пытались рассчитать только одно значение), то они не будут одинаковыми, так как iMA() за занавесками рассчитывает всю серию, а iCustomMa() рассчитывает только те значения, которые вы запросили.

Запустите iCustomMa() на всей серии, и результаты должны быть одинаковыми.


PS: эта iEma() устарела. Новая версия выглядит следующим образом (она не изменит значения, но это "строгое доказательство режима")
double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
   if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
   //
  
   workEma[r][instanceNo] = price;
   if (r>0 && period>1)
          workEma[r][instanceNo] = workEma[r-1][instanceNo]+(2.0/(1.0+period))*(price-workEma[r-1][instanceNo]);
   return(workEma[r][instanceNo]);
}
 

Большое спасибо за быстрый ответ! Не могли бы вы, пожалуйста, сказать мне, где я могу

я могу найти текущий код скользящих средних:

enum enMaTypes
{
   ma_sma,     // simple moving average - SMA
   ma_ema,     // exponential moving average - EMA
   ma_dsema,   // double smoothed exponential moving average - DSEMA
   ma_dema,    // double exponential moving average - DEMA
   ma_tema,    // tripple exponential moving average - TEMA
   ma_smma,    // smoothed moving average - SMMA
   ma_lwma,    // linear weighted moving average - LWMA
   ma_pwma,    // parabolic weighted moving average - PWMA
   ma_alxma,   // Alexander moving average - ALXMA
   ma_vwma,    // volume weighted moving average - VWMA
   ma_hull,    // Hull moving average
   ma_tma,     // triangular moving average
   ma_sine,    // sine weighted moving average
   ma_linr,    // linear regression value
   ma_ie2,     // IE/2
   ma_nlma,    // non lag moving average
   ma_zlma,    // zero lag moving average
   ma_lead,    // leader exponential moving average
   ma_ssm,     // super smoother
   ma_smoo     // smoother
};

Насколько я знаю, это последний список скользящих средних, доступный в виде открытого кода.

(другие MA уже в формате ex4).