[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1129
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Объясните пожалуйста, почему в итоге в окне индикатора ничего не отображается.
Код:
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- buffers
double Buf_0[];
int init()
{
//---- indicators
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE, STYLE_SOLID,2);
//----
return(0);
}
int start()
{
int i, counted_bars=IndicatorCounted();
i=Bars-counted_bars-1;
while(i>=0)
{
Buf_0[i]=Close[i]/Close[i+1];
i--;
}
return(0);
}
//+------------------------------------------------------------------+
Там, где ??? точно правильно?
Вот это условие должно фильтровать if (up>=1||down>=1),алерты,хоть один из них,должн быть больше ноля,а это не так.
Вот
Вот это условие должно фильтровать if (up>=1||down>=1),алерты,хоть один из них,должн быть больше ноля,а это не так.
Вот
Вы просто разделили окно редактора на две части :) Ладно, Бог с ним, с двойным кликом. Вы поставили подсветку синтаксиса файлов MQL4? Если нет, то, открыв файл с исходным MQL-кодом, нужно в редакторе нажать Синтаксис - и в самом низу списка выбрать MQL4 - подсветка будет точно такая же как в метаэдиторе
Но я не пойму,где у меня ошибка?
Убрал лишнее
получилось так
Оно?
Скорее всего некорректно поставил вопрос. Торговля идёт на часовом таймфрэйме время когда произойдёт сделка неизвестно, но необходимо, чтобы она была одна в течение дня. При этом хотелось бы эту возможность сделать переключаемой. Может есть у кого такой кусочек кода?
Не нужно искать кусочек кода - в таких поисках можно всю жизнь провести и так и ни чего не найти. Нужно искать способ построить кусочек кода самостоятельно. Код я Вам дал не для тупого его копирования, а для того, чтоб Вы разобрались в нём от и до, тем более, что он простенький. Код работает следующим образом. Он проходит по списку ордеров рыночных и суммирует их количество с ордерами истории, открытыми сегодня. Если сумма больше нуля, то сегодня ордера уже были и торг запрещён. Если Вам нужен переключатель, который позволяет учитывать, сколько же ордеров можно открывать сегодня, то его при помощи простых операций можо прикрутить к коду. Ваша беда в том, что у Вас нет в голове алгоритма работы Вашей программы - Вы совершенно не понимаете, как и в какой последовательности должна работать Ваша прога. Составьте алгоритм, иначе в голове будет каша.
Ну вот, поговорил с вами и сразу всё понял ))) посмотрел подправил - вы были правы (я не мог выпрыгнуть из своего алгоритма решения задачи). Спасибо за все подсказки. Теперь уже разобрался со всеми предложеными вариантами: в каких случаях какой работает.
Учтите, что в циклах перебора ордеров, которые я Вам показал, не учитывается магик ордера - эт такой признак, по которому советник может отличать свои ордера от чужих. Смотрите, МАГИК - это число, которое советник может присвоить ордеру при его открытии - всем своим ордерам один и тот же номер (ну, или если нужно, то разные номера, генерируемые автоматически). У ордеров, которые трейдер открывает вручную, магик всегда равен нулю! Это говори о том, что если в советника вставить магик = 0, то советник будет вмешиваться в ручные торги трейдера. Если нужно, чтоб советник не трогал ордеров трейдера и манипулировал только своими, то нужно поставить магик, отличный от нуля. В этом случае, все ордера, у которых нет такого мгика, советник воспримет как чужие и не тронет.