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

 
ScioMe:


ПФ - это Профит Фактор, понятно. А что такое ФВ? Есть ли возоможность сделать так, чтобы тестер выводил эти величины, как выводит МО?

Если я выведу Вам МО, прибыльность, количество сделок, дату, максимальную просадку, сможете сказать что-либо о качестве советника?


ФВ - это фактор восстановления = чистая прибыль/максимальную просадку.

см. "качество советника"...:-)))

 
ScioMe:

Если я выведу Вам МО, прибыльность, количество сделок, дату, максимальную просадку, сможете сказать что-либо о качестве советника?


Проще шапку отчета тестера. И все одно: очень важно знать как получен результат, одно дело это лучший результат оптимизации, другое форвард, неплохо также знать основные принципы работы эксперта. И лишь тогда, с определенным опытом, можно с вероятностью успеха больше угадайки (скажем так 7-8 из 10 случаев) поставить диагноз эксперту.
 
Простите мне мое невежество, а что такое форвард?
 

Посмотрите статью "Тестирование и оптимизация советников"

Там подробно описано, - что это такое, форвард-тест.

 

Помогите пожалуйста. только начал программировать на mql

нужно сделать такую вещь.

можно код не писать, хотя смысл этой работы

проверка 1 ордер в день. если 1 ордер уже был открыт и закрыт то в этот день эксперт больше не работает.

проверка. если ордер открылся и закрылся с минусом то эксперт прекращает работу на день.

 

Загляните в ветку https://www.mql5.com/ru/forum/131859

Вам здесь (скорее всего) пригодятся функции с 4-й странички:

isTradeToDay - Возвращает флаг торгов сегодня

isLossLastPos - Возвращает флаг убыточности последней позиции.

isCloseLastPosByStop - Возвращает флаг закрытия последней позиции по стопу
isCloseLastPosByTake - Возвращает флаг закрытия последней позиции по тейку.

NumberOfBarCloseLastPos - Возвращает номер бара закрытия последней позиции или -1. (=0 на тф-Д - для сегодняшнего закрытия)

NumberOfLossPosToday - Возвращает количество убыточных позиций, закрытых сегодня.

и т.п.

 

Всем добрый день! Пошлите меня куда нить где можно посмотреть(почитать) как переделать обычный индикатор MACD, чтобы он показывал значения Н4 на Н1 т.е. в течении 4-х часов на Н1 рисовал один и тот же бар значения периода Н4

Спасибо!

 

Здравствуйте. Не могли бы Вы мне помочь разобраться с оператом While. Я снаписал скрипт, ктоорый должен был рисовать горизонтальнве линии между заданными уровнями, но он только рисует первую линию и потом зависает. Что я не так делаю?

Код прилагаю.

//+------------------------------------------------------------------+

//| H_LINES.mq4 |

//| Copyright © 2011, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2011, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"


//+------------------------------------------------------------------+

//| script program start function |

//+------------------------------------------------------------------+

double Min_Level = 1.40000; //Нижняя граница

double Max_Level = 1.60000; // Верхняя граница

double Step = 200; // Шаг (расстояние между линиями) в пипах

int Lines_Width = 2; // Толщина линии

color Lines_Color = Green; // Цвет линий

double i; //формальная переменная


int start()

{

//----

i=Min_Level;

while ( i < Max_Level )

{

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

ObjectSet ("H_LINE",OBJPROP_COLOR,Lines_Color);

ObjectSet ("H_LINE",OBJPROP_WIDTH,Lines_Width);

i = Min_Level + (Step/10000);

}

//----

return(0);

}

//+------------------------------------------------------------------+

Спасибо.

 
Gerkl:

Здравствуйте. Не могли бы Вы мне помочь разобраться с оператом While. Я снаписал скрипт, ктоорый должен был рисовать горизонтальнве линии между заданными уровнями, но он только рисует первую линию и потом зависает. Что я не так делаю?

Код прилагаю.

//+------------------------------------------------------------------+

//| H_LINES.mq4 |

//| Copyright © 2011, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2011, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"


//+------------------------------------------------------------------+

//| script program start function |

//+------------------------------------------------------------------+

double Min_Level = 1.40000; //Нижняя граница

double Max_Level = 1.60000; // Верхняя граница

double Step = 200; // Шаг (расстояние между линиями) в пипах

int Lines_Width = 2; // Толщина линии

color Lines_Color = Green; // Цвет линий

double i; //формальная переменная


int start()

{

//----

i=Min_Level;

while ( i < Max_Level )

{

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

ObjectSet ("H_LINE",OBJPROP_COLOR,Lines_Color);

ObjectSet ("H_LINE",OBJPROP_WIDTH,Lines_Width);

i = Min_Level + (Step/10000);

}

//----

return(0);

}

//+------------------------------------------------------------------+

Спасибо.

во-первых:

i = Min_Level + (Step/10000);

у вас i не изменяется


во-вторых

ObjectCreate ("H_LINE",OBJ_HLINE,0,0,i);

у каждого объекта должно быть свое уникальное имя

 

Подскажите пдз.... продолжаю изучать учебник - наткнулся на то, что мне не ясно, не могу разобраться

//--------------------------------------------------------------------
// callindicator.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
extern int Period_MA = 21;            // Период расчётной МА
bool Fact_Up = true;                  // Факт сообщения, что цена..
bool Fact_Dn = true;                  //..находится выше или ниже МА
//--------------------------------------------------------------------
int start()                           // Спец. функция start  {
   double MA;                         // Значение МА на 0 баре    
//--------------------------------------------------------------------
                                      // Обращение к функции техн.инд.
   MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0); 
//--------------------------------------------------------------------
   if (Bid > MA && Fact_Up == true)   // Проверка прохода вверх     {
      Fact_Dn = true;                 // Сообщать о цене выше МА
      Fact_Up = false;                // Не сообщать о цене ниже МА
      Alert("Цена находится выше MA(",Period_MA,").");// Сообщение      }
//--------------------------------------------------------------------
   if (Bid < MA && Fact_Dn == true)   // Проверка прохода вниз     {
      Fact_Up = true;                 // Сообщать о цене ниже МА
      Fact_Dn = false;                // Не сообщать о цене выше МА
      Alert("Цена находится ниже MA(",Period_MA,").");// Сообщение      }
//--------------------------------------------------------------------
   return;                            // Выход из start()  }
//--------------------------------------------------------------------

простая функция, которая говорит, выше или же ниже находится цена по отношению к EMA. Но вопрос даже не в этом.

почему когда в функции старт Fact_Dn и Fact_UP принимают значиния true или false, у нас эти значения принимают и глобальные переменные? мы же не использовали return(Fact_Up) например... непонятно... или можно его не использовать?