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

 
xrust:


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

Рустам, это-то по-моему все знают, но ведь как раз принт-то и не принтит у мя ничё... Может таким вот макаром его можно будет "пробить" таки...
 
artmedia70:





к сожалению трал не работает. При компилировании выдает ошибку. Что нужно исправить?
 
artmedia70:

??????????


Попробуй перегрузить терминал.
 

Как мне Подсчитать суму последних убыточных сделок в денжищах !!! Если можно то код ...

На дворе солнце светит башка совсем не работает ..... )

Спасибо...
 

В ветке И.Кима есть функции, кот., возможно вам помогут! - https://www.mql5.com/ru/forum/107476

Функция GetProfitFromDateInCurrency(). Стр.18

Эта функция возвращает суммарный профит в валюте депозита закрытых с определённой даты позиций

Функция isLossLastPos(). Стр. 21

Эта функция возвращает флаг убыточности последней закрытой позиции. Флаг поднят - True - последняя позиция была закрыта с убытком. Флаг опущен - False - последняя позиция была закрыта либо в ноль, либо с прибылью. Функция не учитывает свопы и комиссию. Отбор позиций задаётся внешними параметрами:

Функция isCloseLastPosByStop().

Эта функция возвращает флаг закрытия последней позиции по стопу. Флаг поднят - True - сработал StopLoss. Флаг опущен - False - позиция была закрыта по другой причине 

Функция NumberOfLossPosToday (). Стр .24

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

 

 
DaVinci:

к сожалению трал не работает. При компилировании выдает ошибку. Что нужно исправить?
Какой трал? И какая ошибка?
 

Друзья, добрый день.

Прошу прощения, что вопрос не на прямую касается mql и роботописания, но очень хочется тут разобраться для последующего анализа форекс и биржевых процессов.

проблема такая:

есть excel-файл, в котором отображается значение максимумов/минимумов ЗигЗага и время образования этих максимумов/минимумов

Необходимо на основе этих данных построить график следующего вида:

Подскажите, пожалуйста, как это сделать в Excel 2007.

(понимаю, что вопрос дилетантский, но после отпуска нужно сейчас форму набрать)

Заранее большое спасибо.

 

До сих пор не приходилось заниматься мультивалютными Советниками. Может ли кто-нибудь вкратце рассказать позволяет ли МетаТрейдер протестировать/оптимизировать такой вид Советников, какие проблемы, ограничения существуют на сегодняшний день и т.п. Каковы особенности написания таких Советников в отличии от стандартных?

Спасибо!

 
Morzh09:

Друзья, добрый день...

Насколько я понял, в итоге нужно получить приблизительно такую вот картинку:

  

Если да, то в Excel 2007 для ее получения делаем следующее:
Берем CSV файл сгенерированный скриптом, открываем его в Excel`е.
Удаляем не нужные столбцы, соответственно оставляем только Time и ZigZag Date.
Далее выделяем оставшиеся столбцы, открываем вкладку «Вставка», нажимаем кнопку «График», выбираем тип «График». Все, график строится автоматически, со стандартными параметрами. Далее если нужно меняем цену деления в настройках оси, добавляем сетку, ну и т.д.

В архиве, для примера исходный CSV, и полученный в результате график в формате XLSX.

Файлы:
 
ОЧЕНЬ ВАС ПРОШУ ПОМОГИТЕ !!! В следующем коде я проверяю был ли ордер прибыльный или нет ! Если нет то я подсчитываю количество !!
Если первая сделка была убыточна то запускается цикл по подсчитыванию и добавляется вечно.

Но тут такой прикол !!! Что Если сделка прибыльна то все последующие убыточные ордера подсчитывает нормально ....

double orderProf; // Счетчик количества убыточных сделок

double CalculateLots(){
double Res=0.01;
bool bProfit=true;
int PrevTime=-1;
double tmpLots;
for (int i=0;i<OrdersHistoryTotal();i++){
if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderCloseTime()<PrevTime) continue;
PrevTime=OrderCloseTime();
if (OrderProfit()>0){bProfit=true; orderProf=0;} if (OrderProfit()<0) {bProfit=false; orderProf++;}
tmpLots=OrderLots();
}


return(Res);
}