Как кодировать? - страница 193

 

Нужна помощь для оповещения

привет,

Во-первых: извините за мой английский. Я действительно плохо говорю по-английски.

Итак, мой вопрос заключается в следующем: как я могу запрограммировать сигнал алерт, если Тенкан и Сенкоу пересекаются друг с другом? Длинный и короткий.

кто-нибудь может мне помочь, пожалуйста!!!

Большое спасибо,

пока Бенджамин

Файлы:
ichimoku.mq4  5 kb
 

Небольшая проблема...

Может ли кто-нибудь помочь мне сделать так, чтобы функция действовала по принципу fallowing-.

У меня есть: A=0

Когда индикатор достигает определенной точки nr1: A=1.

А когда индикатор вышел из этой точки: A=1 (A все еще сохраняет свое значение).

Когда индикатор попадает в определенную точку nr2: A=0.

Любые идеи очень приветствуются!

Спасибо.

 
ohir:
Может ли кто-нибудь помочь мне сделать функцию, чтобы действовать падающей...

У меня есть: A=0

Когда индикатор попадает в определенную точку nr1: A=1.

А когда индикатор покинул эту точку: A=1 (A все еще сохраняет свое значение).

Когда индикатор попадает в определенную точку nr2: A=0.

Любые идеи очень приветствуются!

Спасибо.

Трудно понять, чего именно вы хотите, имея так мало информации.

Как насчет

A=0;

if (Bid >= nr1 && Bid < nr2) A=1;

if (Bid >= nr2) A=0;

Замените Bid на O,H,L,C или любую другую переменную, которую вы хотите.

Но вы также должны подумать о том, что произойдет, если цена достигнет nr1, а затем упадет вместо того, чтобы перейти к nr2.

Просто помните, что я только предполагаю, чего вы хотите.

Надеюсь, это была помощь

 

Как получить доступ к файлу на жестком диске, который не находится в папке /experts/files?

btw, можно ли в mql4 выполнять команды windows (например, копировать)? может быть с помощью dll файла?

Заранее спасибо :-)

 

Re swgman1

Спасибо, swgman1!

... но для меня это все еще проблема.

Что я пытаюсь сказать...

Начало

Значение индикатора1 равно 0

Значение индикатора2 равно 0

A=0

Шаг1

Значение индикатора1 равно 1

Значение индикатора2 равно 0

A=1

Шаг2

Значение индикатора1 равно 0

Значение индикатора2 равно 0

A=1

Шаг3

Значение индикатора1 равно 0

Значение индикатора2 равно 1

A=0

Надеюсь, это более понятно.

Спасибо.

 

Странный цикл...

Я сделал странный цикл в своей тестовой программе:

int A=1

for(A=0, A=1; A==(условие покупки); A++)

Купить if(A=1)

Close if(Bid>0)

Он торгует после исчезновения условия... НО, она не закрывает сделки сразу после открытия (как должна - Bid>0). Теперь моя программа закрывает все сделки только при появлении условия покупки.

Что на самом деле делает этот цикл?

 
ohir:
Я сделал какой-то странный цикл в своей тестовой программе:

int A=1

for(A=0, A=1; A==(условие покупки); A++)

Купить if(A=1)

Закрыть, если(Bid>0)

Он торгует после исчезновения условия... НО, она не закрывает сделки сразу после открытия (как должна - Bid>0). Теперь моя программа закрывает все сделки только при появлении условия покупки.

Что на самом деле делает этот цикл?

Привет, Охир,

Я никогда не изучал написание советников, я занимался только индикаторами, так что я не лучший человек, чтобы спросить.

Однако в цикле for вы указываете начальную точку (номер бара), затем условие для продолжения цикла, затем увеличиваете начальную точку для следующего цикла.

for (x=bars-1;x>0;x--) здесь будут перебираться все бары на графике от первого до последнего.

for (x=0;x<bars-1;x++) зацикливается в обратном направлении.

x - это просто счетчик цикла

Ваш цикл начинается с бара 0 или 1 (не уверен, как он работает с запятой), затем, пока ваш счетчик равен условию покупки (невозможно, я думаю), продолжайте цикл, затем увеличивайте счетчик.

Попробуйте что-нибудь вроде

for (x=0;x<=bars-1;x++)

{

if (A[x]==1) OrderSend(blah,blah,blah)

if (Bid[x]>0) OrderClose(blah,.....)

}

Я не знаю, поможет ли что-нибудь из этого, но это лучшее, что я могу сделать. Возможно, кто-то с большими знаниями сможет помочь больше.

Удачи

Swagman

 

Помогите пожалуйста

Понял - отмените это сообщение

Файлы:
trenddetect.mq4  14 kb
 

Metatrader и отрицательные числа

Кто-нибудь знает лучший способ закодировать это????. Не могу заставить metatrader считать точные числа, некоторые из них положительные, а другие отрицательные.

if (Use_Entry_Delay == true) {

//if (trendis == 0 || trendis == -0) {

//EntryAllowed = True;

//Print ("Вход разрешен");

//}

if (trendis == 0.0010){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0011){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0012){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0013){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0014){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0015){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0016){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0017){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0018){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0019){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0020){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0021){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0022){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0023){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0024){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0025){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0026){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0010){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0011){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0012){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0013){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0014){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0015){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0016){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0017){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0018){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0019){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0020){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0021){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0022){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0023){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0024){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0025){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0026){ EntryAllowed= true; Print ("Вход разрешен"); }

}else{

EntryAllowed = false;

Print ("Вход запрещен");

}

}

-----------------------------------------

Итак, если значение -0.0010 или ниже, не делайте этого.

если он выше 0.0026 или выше -0.0026, не делайте этого.

Перепробовал много всего, не могу заставить его сделать это.

Помогите, пожалуйста, пожалуйста, пожалуйста.

 
niteuser:
Кто-нибудь знает лучший способ закодировать это? Не могу заставить metatrader считать точные числа, некоторые из них положительные, а другие отрицательные.

if (Use_Entry_Delay == true) {

//if (trendis == 0 || trendis == -0) {

//EntryAllowed = True;

//Print ("Вход разрешен");

//}

if (trendis == 0.0010){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0011){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0012){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0013){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0014){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0015){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0016){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0017){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0018){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0019){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0020){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0021){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0022){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0023){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0024){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0025){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == 0.0026){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0010){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0011){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0012){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0013){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0014){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0015){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0016){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0017){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0018){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0019){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0020){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0021){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0022){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0023){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0024){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0025){ EntryAllowed= true; Print ("Вход разрешен"); }

if (trendis == -0.0026){ EntryAllowed= true; Print ("Вход разрешен"); }

}else{

EntryAllowed = false;

Print ("Вход запрещен");

}

}

-----------------------------------------

Итак, если значение -0.0010 или ниже, не делайте этого.

если он выше 0.0026 или выше -0.0026, не делайте этого.

Пробовал много чего, не могу добиться этого.

Любая помощь, пожалуйста, пожалуйста, пожалуйста.
if ((trendis = 0.0026)) { EntryAllowed= true; Print ("Entry Allowed"); }
Причина обращения: