Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 100
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
чт - то я не понял куда мне его пихать, и почему не (-1)
есть входной параметр bool
void OnTick
{анализ открытие ордеров, трелингстоп}
void Трейлингстоп
{cоответствует ли текукщая цена условиям закрытия
если да кроем все что есть
}
А что там у вас в логике - мне неизвестно. Как вы мне предлагаете угадать что там у вас?
по трем точкам
1 точка extern где задается нужно ли нам открыть второй и более ордер
2) условие где нам нужно открыть первый ордер
3) точка закрытия ордера
могу и сам код кинуть но он у всех одинаков
Так а зачем тогда ветку мусорить, если помощь не нужна?
За вашими сообщениями потом не найдёшь полезных, среди тысячи бесполезных страниц
P.S. Или у вас задача постов набить по максимуму?Затем что я прошу схему переключателя по этим трем точкам. Потом свои посты удалю Если считаете мусором.
Что это за точка?
1 точка extern где задается нужно ли нам открыть второй и более ордер
2) условие где нам нужно открыть первый ордер
3) точка закрытия ордера
Вы сами то хоть понимаете что хотите?
По пункту №2 - ордер нельзя открыть, его можно только установить, так-же нельзя закрыть, а можно только удалить. Вообще, у вас всегда как-то всё логически несвязуемо и размыто, вам нужно быть депутатом.
Есть такая часть кода:
ObjectCreate(0,nm,OBJ_TEXT,0,0,0);
ObjectSetString(0,nm,OBJPROP_PRICE, TIME(0)+Period()*60*3); // сдвиг вправо на 3 свечи
}
Вопрос: в пятёрке Period() возвращает до М30 вменяемое значение, от Н1 набор цифр, и сместить метку таким способом уже не получается.
Как сделать смещение на N - свечей независимо от периода? Не писать-же отдельную функцию?
Есть такая часть кода:
ObjectCreate(0,nm,OBJ_TEXT,0,0,0);
ObjectSetString(0,nm,OBJPROP_PRICE, TIME(0)+Period()*60*3); // сдвиг вправо на 3 свечи
}
Вопрос: в пятёрке Period() возвращает до М30 вменяемое значение, от Н1 набор цифр, и сместить метку таким способом уже не получается.
Как сделать смещение на N - свечей независимо от периода? Не писать-же отдельную функцию?
Спасибо!
Вопрос следующий: насколько корректна эта запись, она стоит в начале программы, а по всей программе используется много Time[0] и Time[1], и чтоб не вызывать каждый раз, прописано в переменную. Ошибок выхода за пределы массива вроде нет, но всё поверхностно определено:
//------------
void OnTimer()
ArraySetAsSeries(TM, true);
if(CopyTime(_Symbol, PERIOD_CURRENT, 0, 2, TM)==-1) return;
TIME0 = TM[0];
TIME1 = TM[1];
Спасибо!
Что это за точка?
1 точка extern где задается нужно ли нам открыть второй и более ордер
2) условие где нам нужно открыть первый ордер
3) точка закрытия ордера
Вы сами то хоть понимаете что хотите?
По пункту №2 - ордер нельзя открыть, его можно только установить, так-же нельзя закрыть, а можно только удалить. Вообще, у вас всегда как-то всё логически несвязуемо и размыто, вам нужно быть депутатом.
пожалуйста. Вот параметр extern bool OpenOrders=false;//+---Открыть ордер
мне надо чтобы он наоткрывал ордеров, закрыл и потом просто висел на графике не сжирая ресурсов что бы не происходило
в текущий момент он самовыпиливается (работает но для элемента панели неприемлемо)
пожалуйста. Вот параметр extern bool OpenOrders=false;//+---Открыть ордер
мне надо чтобы он наоткрывал ордеров, закрыл и потом просто висел на графике не сжирая ресурсов что бы не происходило
в текущий момент он самовыпиливается (работает но для элемента панели неприемлемо)
Я бы сделал так. Добавил в коде "Disabled"
P.S. Замените в строке 72 на "if(!Disabled) return;". Думаю логика флага понятна.Я бы сделал так. Добавил в коде "Disabled"
P.S. Замените в строке 72 на "if(!Disabled) return;". Думаю логика флага понятна.Нет, непонятна. Возвращаемся к тому чему пришли.
1) Disabled=true
инициализируем в ините на true
пропускаем в онтик if(!Disabled) return;
открываем закрываем
Disabled=false; выход. Все отлично.
2) Disabled=false
инициализируем в ините на true
пропускаем в онтик if(!Disabled) return;
открываем закрываем
Disabled=false; выход. И где я буду открывать следующий ордер? Какой-то из вариантов должен это позволять.
теперь понятно почему я просил описать логику?
Вариант в 2 советника и у меня есть.
Нет, непонятна. Возвращаемся к тому чему пришли.
1) Disabled=true
инициализируем в ините на true
пропускаем в онтик if(!Disabled) return;
открываем закрываем
Disabled=false; выход. Все отлично.
2) Disabled=false
инициализируем в ините на true
пропускаем в онтик if(!Disabled) return;
открываем закрываем
Disabled=false; выход. И где я буду открывать следующий ордер? Какой-то из вариантов должен это позволять.
теперь понятно почему я просил описать логику?
Вариант в 2 советника и у меня есть.