Пиши в текстовый файл .csv набор нужных полей через разделитель ";"
Благодарю Вас за ответ!
То есть целесообразно по мэджику/паре создавать свой отдельный файл, а не мечтать об одном файле, но многостраничном с разбивкой по листам? ;)
От xbms, 13 апреля, 2013 в Уголок Программиста
Пиши в текстовый файл .csv набор нужных полей через разделитель ";"
Да как угодно! Можете создать один файл для конкретной совы (просто проверять наличие, если нет - создавать), и добавить поля мэджик и пару, или создавать отдельные файлы для каждой пары, можете создать один файл для нескольких сов - ограничение только Ваша фантазия.
Многостраничный документ создать таким образом не удастся, для многостраничного xls файла можно взять старенький формат ехеля и писать на нём, но я Вас уверяю - эти усилия не окупятся...
Здраствуйте!
Подскажите пожалуйста - как можно реализовать проверку (и потом возвращать значение) результата прошлой сделки ... Т.е. был ли стоп или профит.
Спасибо.
Здраствуйте!
Подскажите пожалуйста - как можно реализовать проверку (и потом возвращать значение) результата прошлой сделки ... Т.е. был ли стоп или профит.
Спасибо.
Когда ордер открыт, его тикет записывается в переменную int. Потом ордер исчез - значит его закрыло, выделяете ордер по тикету и читаете его профит: если профит Если был включен трал по СЛ или у Вас сетка, то это не сработает, но в большинстве случаев, имхо самый простой вариант.Подскажите пожалуйста - как можно реализовать проверку (и потом возвращать значение) результата прошлой сделки ... Т.е. был ли стоп или профит.
Считаем, что рабочий ордер выделен.
if ( MathAbs( Bid - OrderOpenPrice() ) > TargetDist * _Point && Bid
Здравствуйте нужно чтобы закрытие происходило именно выше Order OpenPrice на заданное кол-во пунктов.
А в Вашем примере кода ордер закрывается и ниже , и выше открытия.
Изменено 20 мая, 2017 пользователем Roman 13
Ну тогда так:закрытие происходило именно выше Order OpenPrice
подскажите пожалуйста что начать вдуплять что бы вдуплить что вобще надо вписывать в функциях, хочу написать трнедовую сову на параболике, которую будет фильровать фильтр флента/ транда. так же хочу добавить в алгоритм выход новостей, и сделать так что бы ели случается сильная валотильность появлялась сетка ордеров с динамич лотами после смены тренда на параболике.
смотрю щас курс молодого бойца mql, но понимаю что надо для начала самому почитать и попытаться вникнуть что там вобще в параметрах есть . может вобще можно каким нибудь обращом вставить чужой код в свой индюк, что бы не изобретать велосипед, и просто подредактировать что мне надо, исходя из моих потребностей в фильре и сетке ордеров на высокой валотильности с динамич лотом?
ну и таким же методом добавить трейлинг стоп, в зависимости от валотильности рынка
Изменено 21 мая, 2017 пользователем novikov433
Ну тогда так:
if ( OrderType() == OP_BUY && Bid - OrderOpenPrice() > TargetDist * _Point && Bid
if ( OrderType() == OP_SELL && OrderOpenPrice() - Bid > TargetDist * _Point && Bid > High[1] )а если мы закрываем ордер на продажу
Новый урок http://tradelikeapro.ru/mql4-sobiraem-tikovyie-dannyie/
мне кажется по этой теме нужно создать отдельную ветку в рубрике разработки форума!
Новый урок http://tradelikeapro.ru/mql4-sobiraem-tikovyie-dannyie/
if ( OrderType() == OP_SELL && OrderOpenPrice() - Bid > TargetDist * _Point && Bid > High[1] )
Закрывать Бай будет, Селл не будет. Описывайте внимательнее. Удачи.
Нужно обрабатывать ошибки при запросе на закрытие ордера и если ордер не закрыт (например оффквот), то через паузу повторять запрос.а что делать, если в тестере стратегий все ордера закрываются в соответствии с алгоритмом, а на демо счете ,график 5 мин, ордера закрываются правильно через раз.
Нужно обрабатывать ошибки при запросе на закрытие ордера и если ордер не закрыт (например оффквот), то через паузу повторять запрос.
Добрый день!
Подскажите, как измерить в пунктах расстояние от , например Ma, до текущей цены?
Дошел до этого:
double Price = MathAbs(iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,0 )/Point);
if (Ask > Price)
{ punkt = Ask- Price
else punkt = Price-Ask
}
Лучше так: punkt = MathAbs ( Ask - iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,0 ) ) / Point;как измерить в пунктах расстояние от , например Ma, до текущей цены?
Спасибо а для села так?
punkt = MathAbs (iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,0 )-Bid ) / Point;
&??
Спасибо а для села так?
Спасибо
Вот в чем загвоздка, принцип я понял, а вот так возможно?
uptr = MathAbs ( Ask - iCustom(NULL, 0, "Slope Direction Line", period, method, price, 0, n) ) / Point;
Когда у меня 2 буфера?
И потом я задаю условие,
/// extern int LevelPunkt = 50;
-------------------------------------
If (LevelPunkt*Point)>uptr //если кол-во заданных пунктов, больше кол-ва пунктов от Slope до Ask
то открываем
В чем я здесь не прав?
Всем доброго времени суток! Заранее извиняюсь за ломанное построение вопроса - немного новичок. Сам вопрос - Как вшить в советника способность торговать в определенные дни недели (выбранные дни отключить) ? Думаю просто скопировать код с советника Generic, но опасаюсь упустить какую-то переменную/функцию. На какие переменные стоит обращать внимание? Или может я ошибся немного веткой?
Заранее благодарен за ответ!
Всем доброго времени суток! Заранее извиняюсь за ломанное построение вопроса - немного новичок. Сам вопрос - Как вшить в советника способность торговать в определенные дни недели (выбранные дни отключить) ? Думаю просто скопировать код с советника Generic, но опасаюсь упустить какую-то переменную/функцию. На какие переменные стоит обращать внимание? Или может я ошибся немного веткой?
Заранее благодарен за ответ!
//эту переменную объявляем во входных параметрах
extern int NonTradingDay=1;//Неторговый день(1-понедельник, 5-пятница)
//эту строчку пишем в самом верху внутри функции OnTick()
if(TimeDayOfWeek(TimeCurrent())==NonTradingDay)return;
Для публикации сообщений создайте учётную запись или авторизуйтесь
Перейти к списку тем