[code]
extern int GapValue=5;//величина скачка в пунктах
int start(){
static int LastPrice;
if(NormalizeDouble(MathAbs(Bid-LastPrice),Digits)>=NormalizeDouble(Point*GapValue, Digits)){
PlaySound("Alert.wav")
}
LastPrice=Bid;
}
[/code]
Код не проверял, могут быть ошибки
Нэ понял!!!! А что с тегами code?
Привет.
Что то се равно не получаеться. Уменьшил GapValue=5 до 1 чтобы протестить. В MetaEditore прокомпилировал.Там надо было добавить точку с запятой после PlaySound("Alert.wav"). Потом в папке советники появилась прога перетаскиваю ее на график жду цена меняеть прога не сигналит. В чем причина не пойму. Хотя без ошибок все компилируеться. Я ее скомпишировал как советник пробовал как скрипт тоже что то не получаеться.
Оказываеться у меня в опциях были отключены советники. Вобщем включил Только что то прога на каждый скачок независимо от пройденого количество пипсов выдает сигнал. Мот там что подправить надо. Может ты мог бы у себя ее вставить протестить что там не так.
Кажеться прога заработала. Вот посмотри кое чего придумал. Правда наверное очень сложно это все на что я способен :-) По любому спасибо за помощь.
extern
double bid1, bid2;
string value;
int var1;
int start()
{
bid1=Bid;
value=DoubleToStr(MathAbs(Bid-bid2)*10000, 0);
var1=StrToInteger(value);
if (var1 >= 3)
{
PlaySound("alert.wav");
}
bid2=bid1;
}
Не следует использовать DoubleToStr, там где можно использовать NormalizeDouble
Следующий код проверил - работает.
Если кому-то не понравится, что я не использую специальные средсва для вставки MQL4 кода, то заранее отвечу - Я как любитель истинной свободы пользуюсь GPRS, и поэтому мне не фонтан заргружать всю эту дребедень только для того, чтобы вставить код, который можно и так прочитать.
//+------------------------------------------------------------------+
//| 1.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
extern int GapValue=1;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
static double LastPrice;
if(NormalizeDouble(MathAbs(Bid-LastPrice),Digits)>=NormalizeDouble(Point*GapValue,
Digits)){
PlaySound("Alert.wav");
Alert(NormalizeDouble(MathAbs(Bid-LastPrice),Digits)," ",NormalizeDouble(Point*GapValue,
Digits)," ",GapValue);
}
LastPrice=Bid;
//----
return(0);
}
//+------------------------------------------------------------------+
Дело в том, что все скрипты редактора кешируются не требуют постоянной подгрузки. То есть, никаких накладных расходов на вызов окна вставки кода не будет (кроме первого раза). А вот все остальные пользователи оценят ваш хороший отформатированный и расцвеченный код.
>>Не следует использовать DoubleToStr, там где можно использовать NormalizeDouble
Возможно ты и прав. Щас попробую разобраться в этой проге тоже, чтобы более освоить методику программирования.
Спасибо за помощь, без тебя я бы наверное не смог написать такого эксперта, при этом я более детально стал понимать струкруту программы и как они работают. Буду щас усложнять задачу и пытаться реализовать. Если не получиться если ты не против снова обращусь к тебе. Спасибо еще раз за помощь.
Вот у меня по ходу дела возникла еще такая идея можно ли к имеющемуся коду, дописать код, чтобы при открытии ордера например в ручную эксперт расчитывал цену при которой открылась и автоматом выставлял сразу же ордер на SL + 20 пипсов от цены открытия. Чтобы не приходилось его руками открывать. То есть получаеться, что как только я совершаю сделку эксперт сразу же автоматом проставляет стоплос и я вижу эту красную линию стоплоса оновременно с линией входа в рынок?
(все можно, только не сразу)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Решил изучить програмированние под метатредер для начала решил реализовать простую задачку. Как мне сделать так чтобы при ценавом скачке допустим в пипсов 5-10 эксперт мой выдавал мне звуковой сигнал. Что то сидел сидел так и не смог разобраться. Уверен что это просто но вот что то ума не хватает. Может быть кто нибудь из профи сможет уделить пару минут и накидать мне такой код в эксперта, чтобы я его разобрал и понял как эти программы строяться. Спасибо.