[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 242

 

Столкнулся с проблемой фиксации по клозе, не подскажете как реализовать условие по CCI в функции.

Нужно прописать условие, на уровне профита 10пп закрыть ордер.

1) при условии если ССI смотрит вниз, на уровне профита 10пп закрываем ордер бай.

2) селл - аналогично.

extern bool ClosePips   = true;//использовать закрытие ордера при профите 10пп по условиям ССИ
extern double profit    = 10.0;//профит по клозе

int start(){
double cci_0 = iCCI(NULL, 0, 14, PRICE_CLOSE, 0);;
double cci_1 = iCCI(NULL, 0, 14, PRICE_CLOSE, 1);;

if (ClosePips){
int slip=3;
for (int trade2 = OrdersTotal() - 1; trade2 >= 0; trade2--) {
   OrderSelect(trade2, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() == Symbol()) {
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
   if ((OrderType() == OP_BUY)&&(cci_0<cci_1 что сюда вписать???)) OrderClose(OrderTicket(), OrderLots(), Bid, slip, Blue);
   if ((OrderType() == OP_SELL)&&(cci_0>cci_1 что сюда вписать???)) OrderClose(OrderTicket(), OrderLots(), Ask, slip, Red);
   }Sleep(1000);}}}
будет ли это корректным если прописать вот так?
if ((OrderType() == OP_BUY)&&(cci_0<cci_1 && Bid - OrderOpenPrice()<=Point*profit ))

 
Alive писал(а) >>
По некоторым инструментам, например EUR/USD котировки идут с 5 знаками после запятой. А у меня в переменных окружения значения содержат только 4 знака. Как получить полное значение переменных окружения?

А ты как их смотрел. Print() выводит до 4 знаков всегда. Желательно использовать DoubleToStr();

 
Martingeil >>:

Столкнулся с проблемой фиксации по клозе, не подскажете как реализовать условие по CCI в функции.

Нужно прописать условие, на уровне профита 10пп закрыть ордер.

1) при условии если ССI смотрит вниз, на уровне профита 10пп закрываем ордер бай.

2) селл - аналогично.



надо так

if (OrderType()==OP_BUY && cci_0<cci_1 && Bid-OrderOpenPrice()>=Point*profit)
 
MrSoros >>:

надо так


Спасибо! Вот так если я сделаю правильно будет, со знаками я ни чего не напутал?

extern bool ClosePips   = true;//использовать закрытие ордера при профите 10пп по условиям ССИ

int start(){
double cci_0 = iCCI(NULL, 0, 14, PRICE_CLOSE, 0);;
double cci_1 = iCCI(NULL, 0, 14, PRICE_CLOSE, 1);;

if (ClosePips){
int slip=3;
int profit=10;
for (int trade2 = OrdersTotal() - 1; trade2 >= 0; trade2--) {
   OrderSelect(trade2, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() == Symbol()) {
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
   if (OrderType() == OP_BUY && cci_0<cci_1 && Bid-OrderOpenPrice() >= Point*profit) OrderClose(OrderTicket(), OrderLots(), Bid, slip, Blue);
   if (OrderType() == OP_SELL && cci_0>cci_1 && OrderOpenPrice() - Ask >= Point*profit) OrderClose(OrderTicket(), OrderLots(), Ask, slip, Red);
   }Sleep(1000);}}}
 
Martingeil >>:

Спасибо! Вот так если я сделаю правильно будет, со знаками я ни чего не напутал?


Со знаками все верно.

Сама по себе идея (закрытие по CCI), с моей точки зрения - не ахти....

Я уже проходил это...

Но это уже вопрос стратегии.

Склько трейдеров, столько и стратегий...

 

Подскажите как правильно записать оператор, что то с "или" не работает, покупает там где не надо.

Спасибо!
if (
   {(ma1>ma2 && ma1>ma3  && Open[1]>ma1)} || 
   {(ma2>ma1 && ma2>ma3  && Open[1]>ma1)} ||
   {(ma3>ma1 && ma3>ma2  && Open[1]>ma1)}
   )
    OpenBuy();

ну и т.д.


 
Уберите фигурные скобки, они лишние. Интересно, как это вообще скомпилировалось?
 
granit77 >>:
Уберите фигурные скобки, они лишние. Интересно, как это вообще скомпилировалось?

Компилил и так и так всё равно не работает.

(Странно но компилось =))

 
costy_ >>:

Компилил и так и так всё равно не работает.

if ((ma1>ma2 && ma1>ma3  && Open[1]>ma1) || 
    (ma2>ma1 && ma2>ma3  && Open[1]>ma1) ||
    (ma3>ma1 && ma3>ma2  && Open[1]>ma1)
   )
    OpenBuy();

- это верная логика.

вопрос - а верны ли сами условия?

 
Покажите, что такое ma1...ma3 и опишите словами логику. Утром кто-нибудь не утерпит и поправит :))