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

 

Подскажите где можно найти скрипт который бы показывал сумму реальных денег
например
сумма находящийся на счете = 10000
сумма денег при плече = 10000
сумма реальных денег = 100

 
novicek:

Подскажите где можно найти скрипт который бы показывал сумму реальных денег
например
сумма находящийся на счете = 10000
сумма денег при плече = 10000
сумма реальных денег = 100



Сумма реальных денег это баланс счёта. Значение возвращается функцией AccountBalance(). Все три показателя, которые Вы перечислили одно и то же. Последний тоже будет 10 000.
 

Sancho77


for(int i=orderstotal-1 ; i>=0 ;i--)
   {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {   
      if(OrderSymbol() != Symbol() // ордер в торговом пуле и его символ не соответсвует текущему
        
 
tol64:

Сумма реальных денег это баланс счёта. Значение возвращается функцией AccountBalance(). Все три показателя, которые Вы перечислили одно и то же. Последний тоже будет 10 000.
Я бы сказал, что сумма реальных денег это AccountEquity() всё же. А то мало ли что там в минусах висит - до закрытия сделок баланс не будет отражать положения дел на счету.
 
tol64:

Сумма реальных денег это баланс счёта. Значение возвращается функцией AccountBalance(). Все три показателя, которые Вы перечислили одно и то же. Последний тоже будет 10 000.
Забудьте о балансе. И других не вводите в заблуждение. Эквити - ваши реальные средства. Если средства позволяют, то баланс может быть и нулевым, но никак не наоборот. Даже если на балансе у вас хоть мильён, а средства опустились к критической величине - ждите МаржинКолл, а следом и СтопАут... если не успеете вовремя деньжат подкинуть на счёт.
 
Dimka-novitsek:

Да, простите внатуре, жара видимо, чет я временами совсем прогоняю.Извиняюсь. Спасибо!!!!!!!!!

Не мучайтесь... Вам нужно закрыть все позиции и удалить все ордера, если последняя закрытая позиция закрылась по TakeProfit ?

Держите следующее домашнее задание.

   int j=-1;
   datetime t;
   string PoseType;
   // Поищем в цикле последнюю закрытую позицию, которая закрылась по TakeProfit
   for (int i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (t<OrderCloseTime()) {
                t=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(),Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         for (int k=OrdersTotal()-1; k>=0; k--) {
            if (OrderSelect(k, SELECT_BY_POS) {
               if (OrderSymbol()!=Symbol())  continue;
               if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
                  if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
                     if (OrderType()==0) PoseType="BUY"; else PoseType="SELL";
                     Alert("Закрываем позицию ",PoseType," с тикетом #",OrderTicket());
                     // Здесь вставьте команду для закрытия рыночной позиции (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции закрытия позиций с проверкой и обработкой ошибок сервера
                     }
                  if (OrderType()>1 && OrderType()<=5) {
                     if (OrderType()==2) PoseType="BUYLIMIT";
                     if (OrderType()==3) PoseType="BUYSTOP";
                     if (OrderType()==4) PoseType="SELLLIMIT";
                     if (OrderType()==5) PoseType="SELLSTOP";
                     Alert("Удаляем отложенный ордер ",PoseType," с тикетом #",OrderTicket());
                     // Здесь команда для удаления отложенного ордера (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции удаления отложенного ордера с проверкой и обработкой ошибок сервера
                     }
                  }
               }
            }
         }
      }

Только ради Бога опять не сваливайте всё в кучу... Я за вас уже всё сделал - вам осталось только пукнуть два раза..., даже написал где ... :) И, естественно, алерты все поубирайте потом и сопутствующий им код... хотя... я уже не уверен, что найдёте что, где и как, да для чего...

 
artmedia70:
Забудьте о балансе. И других не вводите в заблуждение. Эквити - ваши реальные средства. Если средства позволяют, то баланс может быть и нулевым, но никак не наоборот. Даже если на балансе у вас хоть мильён, а средства опустились к критической величине - ждите МаржинКолл, а следом и СтопАут... если не успеете вовремя деньжат подкинуть на счёт.

Я не специально.))
Получается, что это относительное понятие.)) Баланс - это зафиксированные прибыли/убытки. И это реально. Средства, AccountEquity(), ещё могут измениться сколько угодно раз и это в принципе тоже реально, но уже довольно расплывчато. Доводить свой счёт до критической величины конечно не стоит и загрузку депозита и риски нужно контролировать подальше от стоп-аута и маржин-кола в процентном соотношении. Такой пример уже был выше. Тот самый "камикадзе".)))

В таком случае novicek нужно вопрос было поставить более конкретно и использовать чёткие, всем понятные определения такие, как Баланс/Эквити (чётко), а не Реально/Нереально (расплывчато). Пример ниже Вам бы подошёл тогда?

Для меня AccountEquity(), как не сформировавшаяся свеча и другие показатели, которые меня интересуют, рассчитываю по балансу, но и за средствами конечно тоже слежу, чтобы быть в курсе, когда эквити (средства) превращать в реальные или виртуальные (если это тест) деньги, то есть баланс. ))

 
artmedia70:

Не мучайтесь... Вам нужно закрыть все позиции и удалить все ордера, если последняя закрытая позиция закрылась по TakeProfit ?

Держите следующее домашнее задание.

Красиво структурированный код даже без комментариев понятен. Как книга.))
 
tol64:

Я не специально.))
Получается, что это относительное понятие.)) Баланс - это зафиксированные прибыли/убытки. И это реально. Средства, AccountEquity(), ещё могут измениться сколько угодно раз и это в принципе тоже реально, но уже довольно расплывчато. Доводить свой счёт до критической величины конечно не стоит и загрузку депозита и риски нужно контролировать подальше от стоп-аута и маржин-кола в процентном соотношении. Такой пример уже был выше. Тот самый "камикадзе".)))

В таком случае novicek нужно вопрос было поставить более конкретно и использовать чёткие, всем понятные определения такие, как Баланс/Эквити (чётко), а не Реально/Нереально (расплывчато). Пример ниже Вам бы подошёл тогда?

Для меня AccountEquity(), как не сформировавшаяся свеча и другие показатели, которые меня интересуют, рассчитываю по балансу, но и за средствами конечно тоже слежу, чтобы быть в курсе, когда эквити (средства) превращать в реальные или виртуальные (если это тест) деньги, то есть баланс. ))

И закрывать все позиции лучше тогда, когда линия эквити поднимается НАД линией баланса. Ведь при закрытии открытых позиций баланс становится равным эквити... :)

Ну, а насчёт "несформировавшейся свечи" по отношению к средствам - это вы зря... Эквити - это ваша уже сформировавшаяся прибыль/убыток, а баланс при незакрытых позициях - пыль, ничто...

 
artmedia70:

Эквити - это ваша уже сформировавшаяся прибыль/убыток, а баланс при незакрытых позициях - пыль, ничто...


Вот поэтому я закрываю позицию, если средства достигают определённого значения над балансом, но позицию стоит закрыть также, когда средства под балансом, если я ошибся и цена пошла не в ту сторону.)) Ведь если не закрыть вовремя позицию, когда средства над балансом, то через какое-то время может оказаться так, что средства окажутся под балансом и очень долгое время не подниматься выше и далее пойти ещё круче вниз до стоп-лосса, а после стоп-лосса ещё дальше, а ведь кто-то даже стопы не ставит.)) Куда же делись те средства, когда они были над балансом? Они превратились в пыль, в ничто.))

Стихи прям какие-то.)) На самом деле мы говорим об одном и том же скорее всего. По поводу не сформировавшейся свечи. Я имел ввиду условия входов и выходов. Ордера в эту категорию не входят. Закрытие позиций по стоп-лоссу, открытие по отложенным ордерам конечно происходит не по сформировавшимся свечам.))

Причина обращения: