- корень n-ой степени
- MetaTrader 4 Client Terminal build 604
- Советник на МА и RSI.
double price;
if(условие) price=Bid;
else if (условие) price=Ask;
а можно я поподробнее тогда напишу че хочу:
я хочу чтобы в какой нибудь момент времени переменная присвоила себе цену и хранила её не меняя при каждом тике, и когда выполняется условие зависящее от этой цены...блин как описать то:)
мне надо чтобы каждая последующая цена сравнивалась с той которая в переменную записана и при отличии допустим на 20 пунктов вызывала ОрдерСенд....вот....подскажите пожалуйста...
а можно я поподробнее тогда напишу че хочу:
я хочу чтобы в какой нибудь момент времени переменная присвоила себе цену и хранила её не меняя при каждом тике, и когда выполняется условие зависящее от этой цены...блин как описать то:)
мне надо чтобы каждая последующая цена сравнивалась с той которая в переменную записана и при отличии допустим на 20 пунктов вызывала ОрдерСенд....вот....подскажите пожалуйста...
Храни значение во внешней переменной
extern double i;
а можно я поподробнее тогда напишу че хочу:
а можно я отвечу на вопрос чего Вы хотите? (ну типа быть богатым, т.к. советник сам заработал пару миллионов ....) :)
по сабжу, наверно так:
#property copyright "IgorM"
#property link "http://www.metaquotes.net"
extern double trailing_price = 200;
double price = 0;
int init()
{
return(0);
}
double virtualTrail(double pr,int com=0)
{
if (com==1)
if (Bid - pr > trailing_price*Point) return (Bid);
if (com==-1)
if (pr -Bid > trailing_price*Point) return (Bid);
return(pr);
}
int deinit()
{
return(0);
}
int start()
{
price = virtualTrail(price,+1); // тралим на уведичение цены
//price = virtualTrail(price,-1); // тралим на уменьшение цены
//if (virtualTrail(price,+1))>price) {Sellfunc();price = virtualTrail(price,+1)} //выставим ордер SELL и запомним новую цену
//if (virtualTrail(price,-1))<price) {Buyfunc(); price = virtualTrail(price,-1)}//выставим ордер BUY и запомним новую цену
return(0);
}
//+------------------------------------------------------------------+
это для пятизнака, если 4-х знак, то double trailing_price = 20;
ЗЫ: ктонить проверьте, чет я спросонья еще не включился на полную :)
Храни значение во внешней переменной
Разработчики терминала не рекомендуют программно изменять (переприсваивать) значения внешних переменных.
Лучше наверное ввести глобальную переменную советника (не терминала) или статическую переменную в функции.
if(price==0 || Bid-price>=20*Point) price=Bid;// цена выросла на 20 пунктов. if(price==0 || price-Bid>=20*Point) price=Bid;// цена упала на 20 пунктов.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования