[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 574

 
openlive:
например так возможно я не прав-я только учусь


да я тоже вот учусь )

а почему всем ask-ам (ask1, ask2, ask3) присваиватся значения ноль?

а функция TimeCurrent(), она же возаращает время последней котировки, а нужна цена.

идея такова, если три послединих тика цена растет (ask3>ask2>ask1), то тогда открываем оредр buy

В любом случае спасибо) !!

 
kellin:
Нет, открываться конечно нужно по ордеру или бай или селл на открытие очередного, или одного из следующих баров. Да и закрываться тоже планирую по ордеру, назначая его по количеству пунктов от открытия.


См. прицеп. Размещаете его содержимое в папку Experts терминала. Выбираете таймфрейм интересующего Вас торгуемого инструмента, бросаете на его график сОва,

при этом задаете параметры для открытия ордера во внешних переменных эксперта:

//Внешние переменные 
extern string A0 = "Объем и тип сделки";
extern double Lots = 0.1;         // Объем позиции 
extern bool Buy  = false;         // Открытие длинной позиции            
extern bool Sell = false;         //  Открытие короткой позиции

extern int SlipPips = 3;          // Допустимое Вами проскальзывание цены в настоящих пунктах
                                // Для пятизначных ДЦ пересчитывается автоматически                                     
extern int NumberOfTry = 25;      // Количество попыток открытия ордера

Далее ждете образование нового бара на выбранном Вами таймфрейме инструмента...

При открытии ордера с рынка экспертом сравниваете время его открытия и время открытия нового бара.

Файлы:
1_2.zip  8 kb
 
Vinin:


Считаем что советник обрабатывает каждый тик, то тогда лучше сделать малость по другому


Vinin, спасибо большое за ответ. Но я честно говоря немного не понял, зачем ask1, ask2 ask3 присваиваются значения 1,-1,-1. что они означают. Если не сложно можете словами описать,что и как происходит, я новичок, еще не совсем хорошо все понимаю. Буду Вам очень благодарен)

 
link1:


да я тоже вот учусь )

а почему всем ask-ам (ask1, ask2, ask3) присваиватся значения ноль?

а функция TimeCurrent(), она же возаращает время последней котировки, а нужна цена.

идея такова, если три послединих тика цена растет (ask3>ask2>ask1), то тогда открываем оредр buy

В любом случае спасибо) !!

Timecurrent () спрашиваем чтобы узнать что пришел новый тик, и если время новое то присваиваем аск 2 или аск3 значение нового тика.

а дальше сравнивайте аск1 и аск2 и аск3 таким образом

datetime ask=TimeCurrent();
double ask1=0,ask2=0,ask3=0;
ask1=Ask;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){......тут пишем код}

 
link1:


да я тоже вот учусь )

а почему всем ask-ам (ask1, ask2, ask3) присваиватся значения ноль?

а функция TimeCurrent(), она же возаращает время последней котировки, а нужна цена.

идея такова, если три послединих тика цена растет (ask3>ask2>ask1), то тогда открываем оредр buy

В любом случае спасибо) !!

Timecurrent () спрашиваем чтобы узнать что пришел новый тик, и если время новое то присваиваем аск 2 или аск3 значение нового тика.

а дальше сравнивайте аск1 и аск2 и аск3 таким образом

datetime ask=TimeCurrent();
double ask1=0,ask2=0,ask3=0;
ask1=Ask;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){......тут пишем код}

 
link1:


да я тоже вот учусь )

а почему всем ask-ам (ask1, ask2, ask3) присваиватся значения ноль?

а функция TimeCurrent(), она же возаращает время последней котировки, а нужна цена.

идея такова, если три послединих тика цена растет (ask3>ask2>ask1), то тогда открываем оредр buy

В любом случае спасибо) !!

Timecurrent () спрашиваем чтобы узнать что пришел новый тик, и если время новое то присваиваем аск 2 или аск3 значение нового тика.

а дальше сравнивайте аск1 и аск2 и аск3 таким образом

datetime ask=TimeCurrent();
double ask1=0,ask2=0,ask3=0;
ask1=Ask;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){......тут пишем код} 
 
openlive:

Timecurrent () спрашиваем чтобы узнать что пришел новый тик, и если время новое то присваиваем аск 2 или аск3 значение нового тика.

а дальше сравнивайте аск1 и аск2 и аск3 таким образом

datetime ask=TimeCurrent();
double ask1=0,ask2=0,ask3=0;
ask1=Ask;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){......тут пишем код}


щас попробую, спасибо)
 
openlive:

Timecurrent () спрашиваем чтобы узнать что пришел новый тик, и если время новое то присваиваем аск 2 или аск3 значение нового тика.

а дальше сравнивайте аск1 и аск2 и аск3 таким образом

datetime ask=TimeCurrent();
double ask1=0,ask2=0,ask3=0;
ask1=Ask;
if(ask!=TimeCurrent()){ask2=Ask;ask=TimeCurrent()}
if(ask!=TimeCurrent()){ask3=Ask;}

if((ask1>ask2)&&(ask2>ask3)){......тут пишем код}


щас попробую, спасибо)
 
link1:

щас попробую, спасибо)


только тут помойму наоборот ask1это самая старая цена.. т.е. надо

if ((ask2>ask1)&&(ask3>ask2)){......}

 
alkador:

to Armen63

Function "CountBuys" is not referenced and will be removed from exp-file
Function "CountSells" is not referenced and will be removed from exp-file