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

 
Vini писал(а) >>
так ни кто же не в курсе что следущие котировки будут только через 40 секунд:)
может есть тогда другой вариант кроме файлов?
как через делфи открыть ордер бай?


На прием ставится зацикленный эксперт, который проверяет файл с периодичностью раз в секунду например

 
Vinin >>:


На прием ставится зацикленный эксперт, который проверяет файл с периодичностью раз в секунду например


а с технической стороны сколько примерно увеличеваеться загрузка процесора когда используеться постоянный цикл?
если например будет 5-10 терминалов одновременно работать с такими циклами?
 
Necron >>:
Здравствуйте. Вопрос следующий. Как написать: если две прибыльные сделки подряд. С одной прибыльной проблем нет, код приблизительно следующий, а вот как быть если надо именно 2? Заранее всем благодарен.

Ставьте более точные вопросы "если две прибыльные сделки подряд" последние две, или просматривать по ходу истории сделок?

Для последних двух сделок.

extern int кол_во_сделОк=2;
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
int кол_во_сделОк_c_prof=0;

for (int i = 0; i < кол_во_сделОк; i++){
   OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
   if (OrderProfit() > 0)
   кол_во_сделОк_c_prof++;
}
if(кол_во_сделОк_c_prof==кол_во_сделОк)
трали вали...
 
costy_ >>:

Ставьте более точные вопросы "если две прибыльные сделки подряд" последние две, или просматривать по ходу истории сделок?

Для последних двух сделок.

Последние две закрытые сделки. Думаю Ваш код подойдет. Спасибо.

 
Vini >>:


а с технической стороны сколько примерно увеличеваеться загрузка процесора когда используеться постоянный цикл?
если например будет 5-10 терминалов одновременно работать с такими циклами?

Ставьте на евродоллар там тиков хватает, отдельный эксперт контролирующий запуск start(); остальных экспертов,

или создайте функцию "Вечный цикл" в которой в начале цикла с кратностью в Sleep(1000*номер_терминала); запускается функ. start();

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

1000 милисек подберите под возможности системы.

 
Весь запутался - никак не получается реализовать вот такой вот блок:

1. Условие открытия

2. Цена открытия позиции (х)

3. Условие: если текущая стоимость больше цены открытия позиции на
40 пунктов (к примеру), то должен открыться ордер на закрытие этой позиции при x + 1пункт.
При срабатывания ордера, должен происходить возврат к пункту 1, с последующим прогоном пунктов 2, 3 и т. д.

Конкретно третью его часть.

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

 
Lim1 >>:
Весь запутался - никак не получается реализовать вот такой вот блок:
Объясните пожалуйста как это правильно сделать. Заранее спасибо!

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//настройки
 double     Lots              =  1;
 int        Slippage          =  5;
 int        SL          =  40;
 int        TP          =  0;
 int        MagicNumber          =  01458700;
 int        больше_цены_открытия =  40;
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//Условия трали вали...
 if(bye?)
   OrderSend(Symbol(), OP_BUY,  Lots,  NormalizeDouble(Ask,Digits), Slippage,  SL, TP, NULL, MagicNumber, 0, Blue);
 if(sell?)     
   OrderSend(Symbol(), OP_SELL, Lots,  NormalizeDouble(Bid,Digits), Slippage,  SL, TP, NULL, MagicNumber, 0, Red);
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//листаем открытые ордера и при профите больше или равно "больше_цены_открытия" в валюте депозита
   for(int i = 0; i < OrdersTotal(); i++){
      if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES ) == false) continue;
      if(OrderSymbol() != Symbol()) continue;
      if(OrderMagicNumber() != MagicNumber) continue;
      if(OrderProfit( ) >= больше_цены_открытия){
        if(OrderType() == OP_SELL)
        OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask,Digits), Slippage, Red);
        if(OrderType() == OP_BUY)
        OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid,Digits), Slippage, Blue);
      }
   }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//настройки
 double     Lots              =  1;
 int        Slippage          =  5;
 int        SL          =  40;
 int        TP          =  0;
 int        MagicNumber          =  01458700;
 int        больше_цены_открытия =  40;
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//Условия трали вали...
 if(bye?)
   OrderSend(Symbol(), OP_BUY,  Lots,  NormalizeDouble(Ask,Digits), Slippage,  SL, TP, NULL, MagicNumber, 0, Blue);
 if(sell?)     
   OrderSend(Symbol(), OP_SELL, Lots,  NormalizeDouble(Bid,Digits), Slippage,  SL, TP, NULL, MagicNumber, 0, Red);
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//листаем открытые ордера и 
   for(int i = 0; i < OrdersTotal(); i++){
      if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES ) == false) continue;
      if(OrderSymbol() != Symbol()) continue;
      if(OrderMagicNumber() != MagicNumber) continue;
      if(OrderType() == OP_SELL)
       if(OrderOpenPrice( )-Close[0]  >= больше_цены_открытия*Point)
        OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask,Digits), Slippage, Red);
      if(OrderType() == OP_BUY)
       if(Close[0]-OrderOpenPrice( ) >= больше_цены_открытия*Point)
        OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid,Digits), Slippage, Blue);
      
   }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

По профиту (Вариант 1) проще.

 
Всем доброго времени суток.
Ребята подскажите, а можно ли название графика(например EURUSD H1) которое находится в верхнем левом углу, когда окно графика свернуто,
перенести в правый угол.Зачем? - когда открыто много графиков не видно какие.Только не предлагайте открывать каскадом,сами попробуйте.
 
Можно, надо определить handle этого окна и послать ему сообщение с перемещением в ваши координаты.Но игра не стоит свеч.
 
У кого-нибудь есть скрипт или индикатор, показывающий историю торговли (прибыль и убыток )за определенный период по установленной на чарте валюте?
Причина обращения: