С индикаторами работал не достаточно много, поэтому возник такой, возможно простой вопрос, как отключить отображение графического буфера в "Окно Данных"? Хочу убрать 3 и 4 буфер, вот код:
#property strict#property indicator_chart_window#property indicator_buffers4#property indicator_color1 Black
#property indicator_color2 Yellow
#property indicator_color3 Black
#property indicator_color4 Black
//---- input parametersinputint RSIPeriod=14;
inputint Levl=50;
inputENUM_TIMEFRAMES TF=PERIOD_CURRENT;
//---- buffersdouble RSIBuffer[];
double MABuffer[];
double PosBuffer[];
double NegBuffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init()
{
string short_name;
//---- 2 additional buffers are used for counting.IndicatorBuffers(4);
SetIndexBuffer(0,RSIBuffer);
SetIndexBuffer(1,MABuffer);
SetIndexBuffer(2,PosBuffer);
SetIndexBuffer(3,NegBuffer);
//---- indicator lineSetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_NONE);
SetIndexStyle(3,DRAW_NONE);
//----//---- name for DataWindow and indicator subwindow label
short_name="RSI("+IntegerToString(RSIPeriod,0,' ')+")";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"Levl"+"_"+IntegerToString(Levl,0,' ')+" Price");
SetIndexLabel(2,"U");
SetIndexLabel(3,"D");
return(0);
}
Это измененный RSI - буфера там нужны, так-как расчет идет на основе прошлых данных и не хотелось бы менять каждый раз размер буфера (если он не графический) и дописывать туда новые данные, поэтому графические буфера удобны для моих целей.
С индикаторами работал не достаточно много, поэтому возник такой, возможно простой вопрос, как отключить отображение графического буфера в "Окно Данных"? Хочу убрать 3 и 4 буфер, вот код:
Это измененный RSI - буфера там нужны, так-как расчет идет на основе прошлых данных и не хотелось бы менять каждый раз размер буфера (если он не графический) и дописывать туда новые данные, поэтому графические буфера удобны для моих целей.
Не знаю на сколько правильно я вас понял.
Попробуйте так: #property indicator_buffers 2
#property strict#property indicator_chart_window#property indicator_buffers2#property indicator_color1 Black
#property indicator_color2 Yellow
Хочу сделать следующее!
Когда открывается первая сделка по цене к примеру 1.23455, то хочу что бы вторая сделка открывалась когда цена пойдет на 1.23415
double lastTPask1 = NormalizeDouble(Ask - 40 * Point, Digits);
if (RSI0 < RSIDownLevel && RSIDownLevel <= RSI1){
TP = NormalizeDouble(Ask + takeprofit * Point,Digits);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,0,TP,NULL,Magic)==-1) Print(GetLastError());
if (positionTPask1 > lastTPask1){
if (takeprofit!=0) TPm = NormalizeDouble(Ask + takeprofit * Point, Digits);
if (OrderSend(Symbol(), OP_BUY, Lot, NormalizeDouble(Ask, Digits), slippage, 0, TPm, NULL, Magic)==-1) Print(GetLastError());
}}
правильно сделано? посмотрите плизз...
sviter-pro:
А у меня открываются 2 ордера сразу на одной цене...Здраствуйте еще раз! Помогите с этой банальностью для вас, ато я разобраться не могу....
Хочу сделать следующее!
Когда открывается первая сделка по цене к примеру 1.23455, то хочу что бы вторая сделка открывалась когда цена пойдет на 1.23415
правильно сделано? посмотрите плизз...
В первой же строке увидел странность. Дальше не смотрел.
Вот это зачем?
На калькуляторе умножьте Ask на Point
И, пожалуйста, вставляйте код правильно - для этого есть кнопочка SRC в меню редактора нового сообщения.
Здраствуйте еще раз! Помогите с этой банальностью для вас, ато я разобраться не могу....
Хочу сделать следующее!
Когда открывается первая сделка по цене к примеру 1.23455, то хочу что бы вторая сделка открывалась когда цена пойдет на 1.23415
double lastTPask1 = NormalizeDouble(Ask - 40 * Point, Digits);
if (RSI0 < RSIDownLevel && RSIDownLevel <= RSI1){
TP = NormalizeDouble(Ask + takeprofit * Point,Digits);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,0,TP,NULL,Magic)==-1) Print(GetLastError());
if (positionTPask1 > lastTPask1){
if (takeprofit!=0) TPm = NormalizeDouble(Ask + takeprofit * Point, Digits);
if (OrderSend(Symbol(), OP_BUY, Lot, NormalizeDouble(Ask, Digits), slippage, 0, TPm, NULL, Magic)==-1) Print(GetLastError());
}}
правильно сделано? посмотрите плизз...
С индикаторами работал не достаточно много, поэтому возник такой, возможно простой вопрос, как отключить отображение графического буфера в "Окно Данных"? Хочу убрать 3 и 4 буфер, вот код:
Это измененный RSI - буфера там нужны, так-как расчет идет на основе прошлых данных и не хотелось бы менять каждый раз размер буфера (если он не графический) и дописывать туда новые данные, поэтому графические буфера удобны для моих целей.
Нужно плясать не от Ask-40*Point, а от ценаоткрытия1позы-40*Point.
Так прочтите цену открытия и пляшите....
С индикаторами работал не достаточно много, поэтому возник такой, возможно простой вопрос, как отключить отображение графического буфера в "Окно Данных"? Хочу убрать 3 и 4 буфер, вот код:
Это измененный RSI - буфера там нужны, так-как расчет идет на основе прошлых данных и не хотелось бы менять каждый раз размер буфера (если он не графический) и дописывать туда новые данные, поэтому графические буфера удобны для моих целей.
Не знаю на сколько правильно я вас понял.
Попробуйте так: #property indicator_buffers 2
Не знаю на сколько правильно я вас понял.
Попробуйте так: #property indicator_buffers 2
Кажется, Вы правы! А я по простоте душевной, думал, что это обязательно нужно объявлять, если используется графический буфер для расчетов.
Спасибо!для запрета вывода в окно данных надо так
для запрета вывода в окно данных надо так
Спасибо. Такой ход позволит видеть запрещенные на вывод в окне данных буфера через iCustom?
iCustom позволяет видеть лишь то, что есть в окне данных. Предпоследний параметр функции как раз и есть номер видимого в окне данных буфера