Статус
Закрыто для дальнейших ответов.

kamilkz

Почетный гражданин
Ребя! Зачем вам этот 509 билд??? Я специально не обновляю терминал уже "сто лет" и проблем не знаю. ИМХО
Есть предположение, что после 1 августа старые билды (до 500) ДЦ не будут поддерживаться. Об этом уже предупредили робофорекс.
 

Error_404

Местный житель

Вложения

  • Diamond_lot%.mq4
    18,6 КБ · Просмотры: 79

Sabelb

Местный знаток
Уважаемые программисты - помогите вставить в советник время торговли по Гринвичу и чтобы можно было задавать его в настройках.

К примеру - торговля разрешена с 06:30 до 16:30

extern bool AutoGMToffset = true; // Автоматическое определение и торговля по времени Гринвича. Если = false - советник торгует по времени терминала брокера.
extern int OpenTrade = 06:30 // Час:Минуты открытия торговли.
extern int CloseTrade = 16:30 // Час:Минуты закрытия торговли.
 

Вложения

  • Forex EA.mq4
    11,3 КБ · Просмотры: 42

grimax

Элитный участник
Парни! Подскажите пжста функцию в советник, при просадке в "N" % - не открываются новые ордера, того направления, собственно из-за которого просадка. Заранее спасибо!
 

expforex

Программиров
1. Считаем все ордера по паре, магику и направлению сначала для бай потом для селл
2. Считаем профит этих ордеров
3. Далее сравниваем профит с просадкой, Т.е. поставили просадку на 25 % Это 25 долларов, Если профит направления селл = -26 долларов, ставим bool SELLTRADE = false, Если просадки нет ставим SELLTRADE =true

То же самое для Бая,

В коде где открывается Селл ставим if(SELLTRADE =true) Торгуем
 

grimax

Элитный участник
1. Считаем все ордера по паре, магику и направлению сначала для бай потом для селл
2. Считаем профит этих ордеров
3. Далее сравниваем профит с просадкой, Т.е. поставили просадку на 25 % Это 25 долларов, Если профит направления селл = -26 долларов, ставим bool SELLTRADE = false, Если просадки нет ставим SELLTRADE =true

То же самое для Бая,

В коде где открывается Селл ставим if(SELLTRADE =true) Торгуем

Это я и сам знаю. Просьба была, подсказать ввиде кода
 

expforex

Программиров
:)
а.....
PHP:
  int Magic=777;
  int PercentToNotTrade=25;
bool SELLTRADE,BUYTRADE;
 
 void start()
 {
 Trade(); // В начале старта
 
 if(SELLTRADE)return; // Торгуем СЕЛЛ вместо return;
 if(BUYTRADE)return; // Торгуем BUY вместо return;
 
 }
 
 void Trade(){
   double buy_e,sell_e;


   for(int Q=0;Q<OrdersTotal();Q++)
     {
      if(OrderSelect(Q,SELECT_BY_POS,MODE_TRADES))
         if(OrderSymbol()==Symbol())
           {
            if( OrderMagicNumber()==Magic)
              {
               if(OrderType()==OP_SELL)
                 {
                  sell_e+=OrderProfit()+OrderSwap();

                 }
               if(OrderType()==OP_BUY)
                 {
                  buy_e+=OrderProfit()+OrderSwap();
                 }
              }
            //-----------------------------------считаем--------------------------------------------------------------- 
            double PrcSELL=NormalizeDouble((sell_e*100)/AccountBalance(),2);
            double PrcBUY=NormalizeDouble((buy_e*100)/AccountBalance(),2);

           }
     }
     if(PrcSELL<0-PercentToNotTrade)SELLTRADE=false; else SELLTRADE=true;
     if(PrcBUY<0-PercentToNotTrade)BUYTRADE=false;   else BUYTRADE=true;
     }
 
Последнее редактирование модератором:

grimax

Элитный участник
:)
а.....
PHP:
  int Magic=777;
  int PercentToNotTrade=25;
bool SELLTRADE,BUYTRADE;
 
 void start()
 {
 Trade(); // В начале старта
 
 if(SELLTRADE)return; // Торгуем СЕЛЛ вместо return;
 if(BUYTRADE)return; // Торгуем BUY вместо return;
 
 }
 
 void Trade(){
   double buy_e,sell_e;


   for(int Q=0;Q<OrdersTotal();Q++)
     {
      if(OrderSelect(Q,SELECT_BY_POS,MODE_TRADES))
         if(OrderSymbol()==Symbol())
           {
            if( OrderMagicNumber()==Magic)
              {
               if(OrderType()==OP_SELL)
                 {
                  sell_e+=OrderProfit()+OrderSwap();

                 }
               if(OrderType()==OP_BUY)
                 {
                  buy_e+=OrderProfit()+OrderSwap();
                 }
              }
            //-----------------------------------считаем--------------------------------------------------------------- 
            double PrcSELL=NormalizeDouble((sell_e*100)/AccountBalance(),2);
            double PrcBUY=NormalizeDouble((buy_e*100)/AccountBalance(),2);

           }
     }
     if(PrcSELL<0-PercentToNotTrade)SELLTRADE=false; else SELLTRADE=true;
     if(PrcBUY<0-PercentToNotTrade)BUYTRADE=false;   else BUYTRADE=true;
     }
expforex, спасибо дружище! Сейчас попробую
 
Последнее редактирование модератором:

expforex

Программиров
вообще без кода это вставлять разобрать сложно, но как просил так и ответил, функцию написал на коленке.
 

grimax

Элитный участник
Немного подправил, ошибок нет. Сейчас на демку кину, проверю
 
Статус
Закрыто для дальнейших ответов.
Верх