Спасибо splxgf. Попытался, но … Ну что ж, видно придется оставить эту затею до лучших времен. А может быть, еще кто-нибудь проявит интерес к этой, на мой взгляд, полезной доработке многих экспертов.
Спасибо splxgf. Попытался, но … Ну что ж, видно придется оставить эту затею до лучших времен. А может быть, еще кто-нибудь проявит интерес к этой, на мой взгляд, полезной доработке многих экспертов.
смотри как это надо делать int start() { while(true) { Sleep(5000); // Задержка в 5 секунд до следующей итерации RefreshRates(); // Обновление данных // остальной код. Условия открытия, закрытия, итд. } }
Для закрытия ордеров я пользуюсь советником JimsCloseOrders, который может закрывать любые ордера по выбору – или профитные, или убыточные, или все подряд, правда пришлось его немного подкорректировать - вот в этих двух строках кода
extern boolCloseOpenOrders = true;
extern boolCloseOrdersWithPlusProfit = false;
falseи trueнадо поменять местами, иначе, если такую настройку выполнять при установке на график, почему-то начинает закрывать все ордера (видимо из-за последовательности выполнения команд программой, но не уверен, не спец).
У меня вопрос к профи.
Требуется, как можно быстрее запустить, например, советника, о котором шла речь выше, но все советники и скрипты начинают действовать с момента поступления первого тика на график. Если же выбранная для установки советника валютная пара оказалась не очень "активной" в этот момент, то потери могут быть значительными.
Существует ли возможность создания "общего" графика для всех валют, или воспользоваться поступающим тикам любой другой пары? Тики же в терминал поступают почти непрерывно. Где их можно перехватить?
Все просто в
int init()
{
трали вали..
start();
}
При инициализации сразу выполняем функцию
start();
Посмотрите также эмуляция тиков но это не то ... start() - основная функция. У экспертов вызывается после прихода очередного тика. У пользовательских индикаторов вызывается при пересчете после прикрепления индикатора к графику, при открытии клиентского терминала (если индикатор прикреплен к графику), а также после прихода очередного тика. У скриптов выполняется сразу после прикрепления к графику и выполнения инициализации. В случае отсутствия в модуле функции start() этот модуль (эксперт, скрипт или пользовательский индикатор) не может быть запущен.
Взял этот скрипт из учебника, хотел посмотреть как он работает - скомпилировал, сохранил. Запускаю - безрезультатно, почему? Ошибок не выдает, просто не работает...
Господа. Всем добрый вечер. У меня прям совсем ничего не получается в освоении языка. ((((((( Так всё методом "тыка" в общем, переделать из кучи советников что-нибудь да могу, а вот когда надо что-то конкретное дописать, прям всё ступор...((( Вот и сейчас... Хочу сделать такую строчку в эксперте, чтобы: у меня есть алгоритм открытия, есть профит, а закрытие хочу чтобы происходило через определённое время, не важно с каким результатом, вот как это теперь добавить????????? Чтобы это время ещё и можно было настраивать в эксперте. Например чтобы сделка закрывалась сама часа через два-три-четыре... В зависимости от времени выхода новостей например. Ну думаю что вы меня поняли. Если кто-то знает может уже такие вопросы были на форуме, хотя бы ссылочку киньте пожалуйста. Пыталась читать в учебнике, одни нервы только, написано для продвинутых программеров, ну уж точно не для леди. А если кому-то не сложно и покажется это пустяком, то напишите строчки, я хоть их вклею, может тогда что-то получится. Большое женское пожалуйста.......
Взял этот скрипт из учебника, хотел посмотреть как он работает - скомпилировал, сохранил. Запускаю - безрезультатно, почему? Ошибок не выдает, просто не работает...
Попробуй так.
int start()
{
double bid =MarketInfo("GBPUSD",MODE_BID);
double ask =MarketInfo("GBPUSD",MODE_ASK);
double point =MarketInfo("GBPUSD",MODE_POINT);
int tickkkkkkk=OrderSend("GBPUSD",OP_BUY,1,ask,2,bid-15*Point,bid+15*Point);
if(tickkkkkkk==-1){
Alert ("Ошибка № "+GetLastError());
if(GetLastError()==131)
Alert ("Неправильный объем");
if(GetLastError()==6)
Alert ("Нет связи с торговым сервером");
}
elseAlert ("Все ОК!!!");
return;
}
ПОмогите добавить, Сдвиг по горозинтали
и вертикали
Если ещё и работать бутет..........клювоо
Можно сделать горячий старт сразу в
init(){
while (true) {
//Вечный кайф
}
Спасибо splxgf. Попытался, но … Ну что ж, видно придется оставить эту затею до лучших времен. А может быть, еще кто-нибудь проявит интерес к этой, на мой взгляд, полезной доработке многих экспертов.
Спасибо splxgf. Попытался, но … Ну что ж, видно придется оставить эту затею до лучших времен. А может быть, еще кто-нибудь проявит интерес к этой, на мой взгляд, полезной доработке многих экспертов.
смотри как это надо делатьint start()
{
while(true)
{
Sleep(5000); // Задержка в 5 секунд до следующей итерации
RefreshRates(); // Обновление данных
// остальной код. Условия открытия, закрытия, итд.
}
}
ПОмогите добавить, Сдвиг по горозинтали
и вертикали
Если ещё и работать бутет..........клювоо
Для закрытия ордеров я пользуюсь советником JimsCloseOrders, который может закрывать любые ордера по выбору – или профитные, или убыточные, или все подряд, правда пришлось его немного подкорректировать - вот в этих двух строках кода
extern bool CloseOpenOrders = true;
extern bool CloseOrdersWithPlusProfit = false;
false и true надо поменять местами, иначе, если такую настройку выполнять при установке на график, почему-то начинает закрывать все ордера (видимо из-за последовательности выполнения команд программой, но не уверен, не спец).
У меня вопрос к профи.
Требуется, как можно быстрее запустить, например, советника, о котором шла речь выше, но все советники и скрипты начинают действовать с момента поступления первого тика на график. Если же выбранная для установки советника валютная пара оказалась не очень "активной" в этот момент, то потери могут быть значительными.
Существует ли возможность создания "общего" графика для всех валют, или воспользоваться поступающим тикам любой другой пары? Тики же в терминал поступают почти непрерывно. Где их можно перехватить?
Все просто в
int init() { трали вали.. start(); }При инициализации сразу выполняем функциюПосмотрите также эмуляция тиков но это не то ...
start() - основная функция. У экспертов вызывается после прихода очередного тика. У пользовательских индикаторов вызывается при пересчете после прикрепления индикатора к графику, при открытии клиентского терминала (если индикатор прикреплен к графику), а также после прихода очередного тика. У скриптов выполняется сразу после прикрепления к графику и выполнения инициализации. В случае отсутствия в модуле функции start() этот модуль (эксперт, скрипт или пользовательский индикатор) не может быть запущен.
Взял этот скрипт из учебника, хотел посмотреть как он работает - скомпилировал, сохранил. Запускаю - безрезультатно, почему?
Ошибок не выдает, просто не работает...
Так всё методом "тыка" в общем, переделать из кучи советников что-нибудь да могу, а вот когда надо что-то конкретное дописать, прям всё ступор...(((
Вот и сейчас...
Хочу сделать такую строчку в эксперте, чтобы:
у меня есть алгоритм открытия, есть профит, а закрытие хочу чтобы происходило через определённое время, не важно с каким результатом,
вот как это теперь добавить?????????
Чтобы это время ещё и можно было настраивать в эксперте. Например чтобы сделка закрывалась сама часа через два-три-четыре... В зависимости от времени выхода новостей например. Ну думаю что вы меня поняли.
Если кто-то знает может уже такие вопросы были на форуме, хотя бы ссылочку киньте пожалуйста. Пыталась читать в учебнике, одни нервы только, написано для продвинутых программеров, ну уж точно не для леди.
А если кому-то не сложно и покажется это пустяком, то напишите строчки, я хоть их вклею, может тогда что-то получится.
Большое женское пожалуйста.......
Господа. Всем добрый вечер. У меня прям совсем ничего не получается в освоении языка. (((((((
int start() { OrdersCloseByTime(STUPID);//STUPID это мажик номер Вашего советчика трали вали ...Закрытие позиций по времени, куда бы ее положить чтобы не затерялась?!Взял этот скрипт из учебника, хотел посмотреть как он работает - скомпилировал, сохранил. Запускаю - безрезультатно, почему?
Ошибок не выдает, просто не работает...
Попробуй так.