Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Приветствую вас, Ральф Роннквист!
Значит, я должен создать еще одну строку sdl, что-то вроде SDLL = long SDLS = short?
Я думаю, что я прав, говоря, что на SDL инди
восходящий тренд = буфер 1 и индекс 1 цвет синий
dntrend = буфер 2 и индекс 2 цвет красный.
Если да, то куда мне их поместить. Помещаю ли я их в конце строки iCustom.
double SDL=iCustom(NULL,0, "Slope Direction Line",period,method,price,1,1,shift);
или я сбился с пути
Утверждение:
заставляет SDL удерживать значение второго буфера (Uptrend) на данном баре "shift".
(Обратите внимание, что у вас было повторено ",1", что выглядит как опечатка. В любом случае, ее там быть не должно).
Так что, да, если вы хотите считывать и Uptrend, и Dntrend, то вам понадобятся две переменные для хранения значений. Как вы говорите, Uptrend - это 1, а Dntrend - это 2.
Приветствую, Ральф.
Спасибо за помощь. Все работает, теперь я могу идти спать.
Спасибо
Beno
Надеюсь, это то, что вы искали.
Это направило меня в правильном направлении - спасибо, очень признателен.
Моя новая проблема заключается в том, что когда мой оператор if вызывается....
он отталкивается от значения предыдущего бара индикатора по отношению к текущему бару и посылает Alert();, который я создал... около 20 раз.
Как мне сделать так, чтобы он отправлял только один раз?
Я попробовал создать переключатель вкл/выкл с помощью переменных - к сожалению, в MQL4 это не работает.
Потом я подумал о таймерах... если бы можно было создать таймер, который бы оповещал только один раз в течение 20 секунд, это бы тоже сработало.....
Но я не могу найти идею, которая была бы действительно возможна в MQL4.
Есть идеи?
Другими словами... Мне нужен способ остановить его от оповещения после первого, потому что в данный момент он оповещает несколько раз (раздражающий и ненужный, как вы можете догадаться).
Другими словами... Мне нужно каким-то образом остановить его от отправки оповещения после первого, потому что в данный момент он оповещает несколько раз (раздражающий и ненужный, как вы можете догадаться).
Не могли бы вы предоставить код для просмотра?
Возможно, вы можете установить булево значение true/false, которое будет срабатывать после того, как предупреждение будет отправлено в первый раз.
Я не уверен, какой код будет иметь смысл. Вот мой оператор if для алерта.
latestlatestmain = 2 бара назад в моем индикаторе.
latestmain = предыдущий бар в моем индикаторе
if(MainCCI > ErgoCCI){
{сигнал = "SHORT";
if ((latestlatestmain >= 0) && (latestmain < 0)) {
PlaySound("alert2.wav");
}
}
if(lastsignal != signal && alertTag!=Time[0]){
alertTag = Time[0];
lastsignal=signal;
}
}
if (MainCCI < ErgoCCI){
{ signal = "LONG";
if ((lastlatestmain 0)) {
PlaySound("alert2.wav");
}
Это индикатор FX Sniper, и когда он соответствует моим параметрам, он посылает алерт.
Как бы мне установить булеву истину/ложь?
Я пытался сделать вот так.....
if(MainCCI > ErgoCCI){
{signal = "SHORT";
if ((latestlatestmain >= 0) && (latestmain < 0)) {
if (onealert == 1) {
PlaySound("alert2.wav");
onealert = 0;
} }
}
if(lastsignal != signal && alertTag!=Time[0]){
alertTag = Time[0];
lastsignal=signal;
}
}
if (MainCCI < ErgoCCI){
{ signal = "LONG";
if ((lastlatestmain 0)) {
if (onealert == 0) {
PlaySound("alert2.wav");
onealert = 1;
} }
или какой-то другой вариант этого, чтобы создать включение/выключение с помощью переменных.
Есть ли что-то еще, что я мог бы сделать, используя boolean? Есть идеи, как я могу это сделать?
На данный момент он работает нормально, просто предупреждает меня около 5-6 раз.
Спасибо за время и помощь.
-dharsant
Просто подумал, что разобрался, и что Sleep(); будет работать.... darn
Я нашел это у Codersguru;
{
if (ref > 10)
return;
ref--;
static int LastAlert[10];
if( LastAlert[ref] == 0 || LastAlert[ref] < Bars)
{
Alert(alert_msg);
LastAlert[ref] = Bars;
}
}Похоже на то, что мне нужно!!!
При использовании этого с моим индикатором...
Могу ли я просто поместить функцию в свой скрипт, а затем использовать
AlertOnce("Sniper going LONG",10);
вместо моего Alert();?
Я чувствую себя как маленький неопытный программист.
Понял, спасибо за помощь!!!