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

 

Здравствуйте, хотелось бы спросить можно ли доверять этому брокеру? Просто мне качество предоставляемых котировок понравилось и спред ничтожный.

https://lh-broker.ru/?utm_source=babyforex&utm_medium=banner240400&utm_campaign=pervyi_bezdepositnyi

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

Все ответы пожалуйста в личку, т.к. я в баню не хочу, по известным причинам.

 
MQL414:

if (((Ask>=OrderTakeProfit()) && (OrderType() == OP_BUY)) {x=1;}

if((Bid<=OrderTakeProfit()) && (OrderType() == OP_SELL)) {y=1;}

if(Hour()==00:00) {x=0;y=0;}

Условия открытия ордера дописать BUY х=0; SELL у=0;



Огромное спасибо. Кажется то что надо.
 

Помогите) в чем ошибка кода) на тестере все отлично показывает) а на демке вообще все глухо)ни одной позиции не открывает) и ни одной ошибки не выдает) не сколько суток так уже)вот сам код)

extern int Tenkan=5;
extern int dd=9;
extern int slowing=3;
extern int kk=9;
extern int UrovenUp=56;
extern double TakeProfit=100;
extern double Lots=3;
extern double StopLoss=100;

int start()
{double MY,priceBuy,priceBuy2,Ich,D,K,K1;
double Cc1,C2,C3,C4;
int ticket;


MY=(Open[0] + Close[0] )/2;
Ich=((Open[iHighest(NULL, 0, MODE_OPEN, Tenkan)]) +
(Close[iLowest(NULL, 0, MODE_CLOSE, Tenkan)]))/2;

D=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_SIGNAL,0));
K=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,0));
K1=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,1));
Cc1=Close[2] < Close[1];
C2=Close[0] > Close[1];
C3=K>K1;
C4=D<UrovenUp;


//Условие цены покупки и продажи//
priceBuy=MarketInfo(Symbol(),MODE_ASK);
priceBuy2=MarketInfo(Symbol(),MODE_BID);


//условие на покупку//


{if (MY > Ich && Cc1 && C2 && C3 && C4)

//сама покупка и там же продажа//
{ticket=OrderSend(Symbol(),OP_BUY,Lots,priceBuy,3,priceBuy2-StopLoss*Point,priceBuy2+TakeProfit*Point,
"My bablo",123453,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}

}

}
 

Пытаюсь разобраться с функцией iCustom().

Написал сигнальный индикатор, который анализирует пересечение двух МА и дает сигнал 1 или 2 - покупать или продавать. Вот его код:

#property indicator_chart_window

extern int MA_Light=13;
extern int MA_Hard=89;

bool sig;
int Signal=-1;
double MA_L1, MA_H1, 
       MA_L2, MA_H2;


int init()
 {
   sig=true;
 }

int start()
  {
   int    counted_bars=IndicatorCounted();
   
   MA_L1=iMA(Symbol(),0,MA_Light,0,MODE_EMA,PRICE_CLOSE,1);
   MA_H1=iMA(Symbol(),0,MA_Hard,0,MODE_EMA,PRICE_CLOSE,1);
   MA_L2=iMA(Symbol(),0,MA_Light,0,MODE_EMA,PRICE_CLOSE,2);
   MA_H2=iMA(Symbol(),0,MA_Hard,0,MODE_EMA,PRICE_CLOSE,2);
   //----------------------------------------------------------------

    if(MA_L2<=MA_H2 && MA_L1>MA_H1 && sig==true)
     {
      Signal=1;
      Alert("Покупай!!! ", Signal);
      sig=false;
     }
    if(MA_L2>=MA_H2 && MA_L1<MA_H1 && sig==true)
     {
      Signal=2;
      Alert("Продавай!!! ", Signal);
      sig=false;
     }
   
   if((MA_L2<MA_H2 && MA_L1<MA_H1 && sig==false) || // чтобы сигналило один раз
      (MA_L2>MA_H2 && MA_L1>MA_H1 && sig==false))
      sig=true;  
   
   Signal=-1;
   return(0);
  }

После попытался написать эксперт, который торгует по этим сигналам с применением iCustom, но он не работает. Sig выдает значение 0.

extern double Lots=0.1;

double Sig;
string Symb;
bool Ans;

int init()
  {
   Symb=Symbol();

   return(0);
  }

int deinit()
  {

   return(0);
  }
int start()
  {
   Sig=iCustom(Symb,0,"experiment_iCustom_indicator",13,89,0,0);
   
   if(Sig==1)
    {
      Alert("Попытка открыть Buy...");
      Ans=OrderSend(Symb,OP_BUY,Lots,Ask,3,0,0,"",69,0);
       if(Ans==true)
        Alert("Ордер buy открыт");
       if(Ans==false)
        Alert("Произошла ошибка", GetLastError()); 
    }
   if(Sig==2)
    {
      Alert("Попытка открыть sell...");
      Ans=OrderSend(Symb,OP_SELL,Lots,Bid,3,0,0,"",69,0);
       if(Ans==true)
        Alert("Ордер sell открыт");
       if(Ans==false)
        Alert("Произошла ошибка", GetLastError()); 
    }
   
   return(0);
  }

Объясните, пожалуйста, что я сделал не так и как следовало сделать правильно.

Спасибо.

 
silhouette:

Пытаюсь разобраться с функцией iCustom().

Написал сигнальный индикатор, который анализирует пересечение двух МА и дает сигнал 1 или 2 - покупать или продавать. Вот его код:

После попытался написать эксперт, который торгует по этим сигналам с применением iCustom, но он не работает. Sig выдает значение 0.

Объясните, пожалуйста, что я сделал не так и как следовало сделать правильно.

Спасибо.

Для начала прочитать еще раз подробнее про iCustom(). Он работает только с буферами индикаторов.

В вашем сигнальном индикаторе буферов нету (0), поэтому и данных из него вытащить нельзя. Откуда iCustom() может узнать, что Вам нужна обычная int переменная из индикатора?

 
Здравствуйте! Помогите пожалуйста, как найти среди многих открытых ордеров, тот ордер, который был открыт перед новым ордером. Какой код?
 
alsu:

считывание после перезагрузки



Спасибо! разобрался.

 

OrderCloseBy.

Кто может обьяснить почему такая ситуация.

Верхний ордер который синяя линия Buy - 0.01
Второй ордер нижний Sell - 0.02
В точке где вызывалась ordersCloseBy() Желтая стрелка на графике. По первому ордеру было -3 по второму +4.
После вызова функции я жду что у меня будет закрыта первая в 0 а по второй будет +1.
Но у меня полчается что у меня

первый ордер закрылся в 0 - 6 строка. А второй ордер закрылся в -1.10
Откуда взялась эта -1.10 ??? Ведь я закрываю весь минус тем что общий доход по двум ордерам в +. в +1 в примере!

 
Подскажите кто знает,как скрыть работу эксперта от ДЦ.Допустим комментарии по сделкам можно не выводить,но эксперт все предопределенные данные пишет в журнал экспертов МТ4(я так понимаю на сервере ДЦ также).Неужели только вводя все параметры внутрь исполняемой части кода,не вынося их в начало,где задаются параметры всем предопределенным переменным?А так получается что по такой строчке из журика экспертов все понятно,что эксперт торговый,а не рисующий что-то на графике 2012.06.14 20:30:36 MouseTrade 1.6.1 EURUSDm,M1 inputs: use_timer=true; delete_on_deinit=true; default_sl_level=90; default_trailing_stop=0; default_tp_level=200;use_be=true; default_be_level=50; be_offset=10;use_cl=false; default_cl_level=100; use_cp=false; cp_size_or_percent=false; cp_levels="50,100,150"; cp_lots="10,50,50"; Как ему запретить отмечаться в журнале,что бы максимум что там писалось это "expert....: loaded successfully " не понимаю или это вообще не предусмотрено?

 
Направте пожалуйста в нужном направлении. Хочу сделать эмуляцию торговли в экселе. (на своих котировках). Как можно сделать рассчеты если имеется массив данных котировок (даты, хай, лоу не важны история тиковая) чтобы в экселе правильно считался (формулы подскажите) текущий баланс маржа эквити. И если препложим напротив какой то котировки я хочу открыть ордер -sell+ buy то в нужную ячейку напротив пропишу лот, и чтобы он суммировался уже с текущими (если противополные то взаимнозакрывались) если хочу закрыть то напротив цены закрытия написать нужный объем для закрытия. Может у кого есть заготовки?