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

greatiger

Активный участник

Dendjo

Местный житель
А Вы настырный, я таких уважаю, сам такой же. Предлагаю Вам свою дружбу. Завтра из больнички вечером сбегу, заходите в личку, обсудим и решим... С уважением Алексей.

Вот это другой разговор, ото уже что то аж страшно стало, чувствовать себя стал как невидимка, вроде вотон я но меня ни кто не видит:D
 

fizic

Новичок форума
Попробуйте в таком виде. Добавил Вам два отступа, для открытия ордеров, а то индик все время отодвигает прямую тренда и можно остаться без позиции, а на пробитии переворачивается. Да и не забудьте индик должен быть прикреплён к графику... Нужно обязательно проверять условие фхода хоть на демке... Если будет прфит, отпишитесь, может что добавить нужно будет...

Большушее спасибо! Будем держать руку на пульсе, в ручную торговал на реале на м1 (13;8;2) с использованием 2 индикаторов;1 ehlers fisher transform trends фильтра большего 30 мин.ТФ c периодом 10 и индика под названием стрелочник и был в неплохом плюсе.Утомляло только,в ручную внимания нен напосещься:) но пробовал как модель для м5 и м15.Сейчас буду посмотреть, не сомневался ,что вы что-нибудь придумаете.В очередной раз убедился в вашем таланте. К вечеру отпишусь.
 

dmitriypetrov

Элитный участник
Дороботка совы за $ ,

Привет всем , есть желающие немного заработать и доработать сову , об оплате договоримся пишите в личку . К автору совы обращался но он не захотел этого делать , думаю не обидется если тут выложу .
Задание :
1.Есть советник Импульс Корзина 2 , расширеть количество пар с 3 до 15
2.Советник работает с индюком Импульс , нужно еще к этому советнику прикрутить индикатор DeMark Trendline Trader , вывести в настройки чтоб можно было отключать работу индикатора Импульс либо чтоб работали в месте . Условия открытия сделки должны быть такие , если возможно то лучше сделать работу отложками .
Либо по индикатору импульс (если включен) и обязательное пробития треугольника в индюке при любых условиях включен импульс или нет в индюке DeMark на таймфрейме не ниже H1.
На данный момент советник ставится на оду пару и работает сразу с тремя парами , внести изменения в код чтоб два индюка работали на таймфрейме от H1 , параметры таймфрейма вывести в настройки чтоб можно было менять от h1 до d1.
Вывести на экран работающие на данный момент пары , и статистику прибыли убытка по всем парам , все остальное лишнее с экрана можно убрать .
файлы вложил будут вопросы пишите в личку , спасибо кто поможет
 

Вложения

  • архив.rar
    78,2 КБ · Просмотры: 82
Последнее редактирование:

dub150

Интересующийся
Уважаемые программеры!
Буду признателен в пределах разумного за правку кода под 646 билд вот этого сова!
Заранее спасибо!
 

Вложения

  • Fracktal_Grid_Ver_9_2.mq4
    24,5 КБ · Просмотры: 69

samuron

Активный участник
Доработка индикатора show123_Rh_BB

Всем Привет! Господа программисты будьте любезны добавить в индикатор значение буферов. На картинке я показал стрелками сигналы. При появлении сигнала данный индикатор не показывает значения. Например при появлении сигнала буфер 0 принимает некое значение, при этом буфер1 =0 и при появлении сигнала в противоположенную сторону буфер1 принимает некое значение при этом буфер0=0.
 

Вложения

  • show123_Rh_BB indikatorforeks.ru.mq4
    47,9 КБ · Просмотры: 108
  • eurjpym5.png
    eurjpym5.png
    56,2 КБ · Просмотры: 282

MrGreen86

Гуру форума
Здравствуйте господа программисты. Помогите разобраться скодом
Подскажите, в каком месте необходимо вставить этот кусок кода
PHP:
+ OrderSwap() + OrderCommission()
чтобы корректно работал
Не просто вставить. Комиссию и своп нужно посчитать, поделить на стоимость пункта помноженную на лот, т.е. расчитать за сколько пунктов открытые лоты погасят комиссию и своп. А потом все это дело прибавить к средней цене.
Как то так:
PHP:
void start() {
   int b,s;
   double price,price_b,price_s,lot,lot_s,lot_b,SLb,SLs;
   double CS_buy,CS_sell;
   for (int i=0; i<OrdersTotal(); i++) {  
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol()) {
         price = OrderOpenPrice();
         lot   = OrderLots();
         if (OrderType()==OP_BUY ) {
            price_b = price_b+price*lot; 
            b++;  
            lot_b=lot_b+lot;
            CS_buy=CS_buy+OrderCommission()+OrderSwap();
            }
         if (OrderType()==OP_SELL) {
            price_s = price_s+price*lot; 
            s++;  
            lot_s=lot_s+lot;
            CS_sell=CS_sell+OrderCommission()+OrderSwap();
            }
         }
      }
   ObjectDelete("SLb");
   double tick_value=MarketInfo(Symbol(),MODE_TICKVALUE);
   if (b!=0) {  
      SLb = price_b/lot_b;
      SLb = SLb - (CS_buy/(tick_value*lot_b))*Point;
      ObjectCreate("SLb",OBJ_ARROW,0,Time[0],SLb,0,0,0,0);                    
      ObjectSet   ("SLb",OBJPROP_ARROWCODE,6);
      ObjectSet   ("SLb",OBJPROP_COLOR, Navy);
      }
   ObjectDelete("SLs");
   if (s!=0) {  
      SLs = price_s/lot_s;
      SLs = SLs + (CS_sell/(tick_value*lot_s))*Point;
      ObjectCreate("SLs",OBJ_ARROW,0,Time[0],SLs,0,0,0,0);                    
      ObjectSet   ("SLs",OBJPROP_ARROWCODE,6);
      ObjectSet   ("SLs",OBJPROP_COLOR, Maroon);
      }
 
Последнее редактирование:

Елена4

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

Спасибо большое. Все работает замечательно. У меня еще одна просьба по этому коду. Как сделать чтобы отображался общий безубыток, с учетом и бай и сел ордеров.
 

MrGreen86

Гуру форума
Спасибо большое. Все работает замечательно. У меня еще одна просьба по этому коду. Как сделать чтобы отображался общий безубыток, с учетом и бай и сел ордеров.
как то так )
PHP:
void start() {
   int b,s;
   double price,price_b,price_s,lot,lot_s,lot_b,SLb,SLs;
   double CS_buy,CS_sell;
   for (int i=0; i<OrdersTotal(); i++) {  
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol()) {
         price = OrderOpenPrice();
         lot   = OrderLots();
         if (OrderType()==OP_BUY ) {
            price_b = price_b+price*lot; 
            b++;  
            lot_b=lot_b+lot;
            CS_buy=CS_buy+OrderCommission()+OrderSwap();
            }
         if (OrderType()==OP_SELL) {
            price_s = price_s+price*lot; 
            s++;  
            lot_s=lot_s+lot;
            CS_sell=CS_sell+OrderCommission()+OrderSwap();
            }
         }
      }
   ObjectDelete("SLb");
   double tick_value=MarketInfo(Symbol(),MODE_TICKVALUE);
   double delta_lot=MathAbs(lot_b-lot_s);
   if(b!=0 || s!=0) {
      SLb= (price_b-price_s)/(lot_b-lot_s);
      CS_buy=CS_buy+CS_sell;
      if(lot_b>lot_s) {
         SLb = SLb - (CS_buy/(tick_value*delta_lot))*Point;
         }
      if(lot_b<lot_s) { 
         SLb = SLb + (CS_buy/(tick_value*delta_lot))*Point;
         }
      ObjectCreate("SLb",OBJ_ARROW,0,Time[0],SLb,0,0,0,0);                    
      ObjectSet   ("SLb",OBJPROP_ARROWCODE,6);
      ObjectSet   ("SLb",OBJPROP_COLOR, clrGreen);
      
      }
   }
 

cmillion

Гуру форума
как то так )
PHP:
void start() {
   int b,s;
   double price,price_b,price_s,lot,lot_s,lot_b,SLb,SLs;
   double CS_buy,CS_sell;
   for (int i=0; i<OrdersTotal(); i++) {  
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol()) {
         price = OrderOpenPrice();
         lot   = OrderLots();
         if (OrderType()==OP_BUY ) {
            price_b = price_b+price*lot; 
            b++;  
            lot_b=lot_b+lot;
            CS_buy=CS_buy+OrderCommission()+OrderSwap();
            }
         if (OrderType()==OP_SELL) {
            price_s = price_s+price*lot; 
            s++;  
            lot_s=lot_s+lot;
            CS_sell=CS_sell+OrderCommission()+OrderSwap();
            }
         }
      }
   ObjectDelete("SLb");
   double tick_value=MarketInfo(Symbol(),MODE_TICKVALUE);
   double delta_lot=MathAbs(lot_b-lot_s);
   if(b!=0 || s!=0) {
      SLb= (price_b-price_s)/(lot_b-lot_s);
      CS_buy=CS_buy+CS_sell;
      if(lot_b>lot_s) {
         SLb = SLb - (CS_buy/(tick_value*delta_lot))*Point;
         }
      if(lot_b<lot_s) { 
         SLb = SLb + (CS_buy/(tick_value*delta_lot))*Point;
         }
      ObjectCreate("SLb",OBJ_ARROW,0,Time[0],SLb,0,0,0,0);                    
      ObjectSet   ("SLb",OBJPROP_ARROWCODE,6);
      ObjectSet   ("SLb",OBJPROP_COLOR, clrGreen);
      
      }
   }

Только вот если суммы лотов противоплолжных направлений равны то выдаст деление на ноль и зависнет.
Надо проверять этот момент if (lot_b!=lot_s)..... или if (delta_lot!=0).....
 

Елена4

Активный участник
Только вот если суммы лотов противоплолжных направлений равны то выдаст деление на ноль и зависнет.
Надо проверять этот момент if (lot_b!=lot_s)..... или if (delta_lot!=0).....


А в каком месте кода это нужно вставить??
 

frozen1989

Активный участник
Ребятушки экзешка нужна,спасибо)):):)
 

Вложения

  • JS-FIBOFAN.V2.mq4
    11 КБ · Просмотры: 43

Chekuyardish

Местный знаток
_

А в каком месте кода это нужно вставить??

Елена привет. Мальчишки опять над Вами издеваются. Могу написать, могу подсказать, могу объяснить , что будет мне кажется наверно правильней. В той ситуации , которую описал Владимир, Вы по паре получаете полный лок, т.е. количество лотов на бай равно лотам на селл. Подумайте, где будет находится безубыток............ Правильно. Его не будет, и куда бы не шла цена, перевеса не получится ни в сторону юга ни в сторону севера. Хотя когда нибудь к Вам все равно придет Дядя Коля, сами понимаете почему. Если Вы сами пытаетесь писать код советника или индика, то Вы просто умница. И нужно пытаться по возможности просчитать все ситуации которые могут возникнуть в рынке, и постараться их отбить, тем или иным способом. Так вот, у Вас есть код , в котором есть цикл подсчитывающий объем селл и бай ордеров, потом идет команда удаления линии безубытка с графика, далее мы как раз и проверяем равны ли наши объемы, и если так получилось, что равны, дальнейший код программы просто не нужен, до тех пор пока в рынке не появится дополнительный ордер и объемы поменяются. Если Вы этот код будете использовать как индик для ручной торговли, то он Вам может и поможет. Но если этот кусочек кода нужен для того, чтоб написать советник, в котором будет использоваться безубыток для расчета профита или трала. То там будет ещё маленькая кучка разных условий, другими словами очень захватывающий и интересный процесс. Хотя некоторые говорят, что программисты не креативные люди, привыкшие мыслить шаблонами...
 

zhserg

Местный знаток

Вложения

  • Fracktal_Grid_Ver_9_2(z).mq4
    24,6 КБ · Просмотры: 117

Yurkov

Почетный гражданин
Добрый день!
Просьба сделать стрелки вместо нижнего индикатора. При пересечении индикатором уровня вниз-красная стрелка, вверх - зеленая.
Нужно для наглядности.
 

Вложения

  • Безымянный.jpg
    Безымянный.jpg
    65,2 КБ · Просмотры: 180
  • MultiIndicator.ex4
    10,6 КБ · Просмотры: 51
  • MultiIndicator.mq4
    2,6 КБ · Просмотры: 86
Статус
Закрыто для дальнейших ответов.
Верх