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

 

Спасибо.

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

 

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

double Buy.cm = MarketInfo(Symbol(),MODE_TRADES); ??? buy

double Sell.cm = MarketInfo(Symbol(),MODE_TRADES); ??? sell

Спасибо

Бено

 

Если у вас есть функция, которая подсчитывает ордера, просто адаптируйте ее, чтобы иметь переменную счетчика для покупок и продаж. Затем напишите комментарий как обычно.

Lux

 
luxinterior:
Если у вас есть функция, которая подсчитывает ордера, просто адаптируйте ее, чтобы иметь переменную счетчика для покупок и продаж. Затем напишите комментарий как обычно. Lux

Хорошо, спасибо, Люкс

 
Beno:
Как добавить комментарий, чтобы показать, сколько позиций на покупку и продажу открыто в любой момент времени по каждой паре.

double Buy.cm = MarketInfo(Symbol(),MODE_TRADES); ??? buy

double Sell.cm = MarketInfo(Symbol(),MODE_TRADES); ??? sell

Спасибо

Beno

Вы можете сделать что-то вроде этого:

int Open_Trades = OrdersTotal();

int Pos=0;

int Buy_Total=0;

int Sell_Total=0;

while (Open_Trades > Pos)

{

if (OrderSelect(Pos,SELECT_BY_POS,MODE_TRADES))

{

int Order_Type = OrderType();

if (Order_Type == OP_BUY)

{

Buy_Total++;

}

if (Order_Type == OP_SELL)

{

Sell_Total++;

}

}

Pos++;

}

Comment("\nBuy Orders Total = ",Buy_Total,

"\nSell Orders Total = ",Sell_Total);

Или какую-нибудь вариацию.

Файлы:
 

Индикатор должен ссылаться на полосы Боллинджера

У меня есть этот индикатор, но мне нужно, чтобы он ссылался на полосы Боллинджера. Мне нужно, чтобы индикатор ссылался на полосы Боллинджера или рядом с ними и внутри свечи. Хотелось бы, чтобы он также ссылался на Стохастик. Есть идеи.

///------------------------------------------------------------------+

//| MS IPP2 v2 3/6/09 |

//| MarketSlayer |

//| BillTainter@gmail.com |

// +------------------------------------------------------------------+

#property copyright " MarketSlayer "

#property link "BillTainter@gmail.com"

#property indicator_chart_window

//---- входные параметры

extern int barsToProcess=1000;

// +------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

// +------------------------------------------------------------------+

int init ()

{

//---- индикаторы

//----

return (0);

}

// +------------------------------------------------------------------+

//| Пользовательская функция деинициализации индикатора |

// +------------------------------------------------------------------+

int deinit ()

{

//----

int i;

for (i=0; i< Bars; i++)

{

ObjectDelete ("Bearish IPP2" +DoubleToStr (i, 0));

ObjectDelete ("Bullish IPP2" +DoubleToStr (i, 0));

}

//----

return (0);

}

// +------------------------------------------------------------------+

//| Пользовательская функция итерации индикатора |

// +------------------------------------------------------------------+

int start ()

{

int counted_bars=IndicatorCounted (),

//----

предел,

i=0;

if (counted_bars> 0)

counted_bars-;

limit=Bars-counted_bars;

if (limit> barsToProcess)

limit=barsToProcess;

while (i< limit)

{

// МЕДВЕЖИЙ IPP#2

// Свеча[1] находится на верхней полосе Боллинджера или около нее

// Свеча[2] находится внутри свечи[1]

if ((Close [ i+2] > Open [ i+2]) && (Close [ i+1]> Open) && (Open > Close [ i+1])

&& (High Low [ i+1]))

{

ObjectCreate ("Bearish IPP2" +DoubleToStr (i, 0), OBJ_ARROW, 0, Time , High + 50*Point);

ObjectSet ("Bearish IPP2" +DoubleToStr (i, 0), OBJPROP_ARROWCODE, 130);

ObjectSet ("Bearish IPP2" +DoubleToStr (i, 0), OBJPROP_COLOR, Red );

Alert("Bearish IPP2 -SHORT @", Low);

}

// Бычий IPP#2

if ((Close [ i+2] < Open [ i+2]) && (Close [ i+1]< Open) && (Open < Close [ i+1])

&& (High Low [ i+1]))

{

ObjectCreate ("Bullish IPP2" +DoubleToStr (i, 0), OBJ_ARROW, 0, Time , Low - 50*Point);

ObjectSet ("Bullish IPP2" +DoubleToStr (i, 0), OBJPROP_ARROWCODE, 130);

ObjectSet("Bullish IPP2" +DoubleToStr (i, 0), OBJPROP_COLOR, Lime );

Alert("Bullish IPP2 -LONG @", High,Time);

// PlaySound("alert.wav");

}

i++;

}

//----

return (0);

}

//+------------------------------------------------------------------+

 

есть ли способ проверить, был ли последний ордер закрыт при достижении tp, sl или без достижения одного из них?

Приветствую

 

Может ли кто-нибудь помочь мне добавить звуковое оповещение к этому индикатору?

Спасибо!

Файлы:
hilow3.mq4  2 kb
 
jan100:
Есть ли способ проверить, был ли последний ордер закрыт по достижению tp, sl или без достижения одного из них? Приветствую .

Если OrderClosePrice() равен OrderStopLoss(), то ордер был закрыт по достижению sl.

 

Преобразование индикатора в советника

Привет всем,

У меня возникла проблема с советником RSI и MA...

У меня индикатор работает правильно... Все, что я хочу, это преобразовать его в советник...

Я попробовал пару вещей. IndicatorCounted() не работает в советнике, поэтому я попытался жестко закодировать значения в цикле for (bar=0; bar<15; bar++), я получил правильный RSI, но SMA не дает правильных значений...

Я прилагаю код для SMA, пересекающей RSI...

Так что не мог бы кто-нибудь помочь мне преобразовать этот индикатор в советника.

***************************************************************************************************************************************

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 LawnGreen

#property indicator_color2 DarkBlue

double ExtMapBuffer1[];

double ExtMapBuffer2[];

int init()

{

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);

SetIndexBuffer(1,ExtMapBuffer2);

return(0);

}

int deinit()

{

return(0);

}

int start()

{

int bar, limit;

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Bars-IndicatorCounted();

for(bar=0; bar<limit; bar++)

ExtMapBuffer1 = iRSI(NULL,0,14,PRICE_TYPICAL,bar);

for(bar=0; bar<limit; bar++)

ExtMapBuffer2=iMAOnArray(ExtMapBuffer1,Bars,14,0,MODE_SMA,bar);

return(0);

}

***************************************************************************************************************************************

Спасибо и с уважением,

Ганеш