[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 531

 

Potete dirmi dove posso trovare uno script che mostri la quantità di denaro reale
per esempio
saldo del conto = 10000
quantità di denaro con leva = 10000
quantità di denaro reale = 100

 
novicek:

Ditemi dove trovare uno script che mostri la quantità di denaro reale
per esempio
la quantità nel conto = 10000
la quantità di denaro con leva = 10000
la quantità di denaro reale = 100



La quantità di denaro reale è il saldo del conto. Il valore è restituito dalla funzione AccountBalance(). Le tre cifre che hai elencato sono tutte uguali. Anche l'ultimo sarà di 10.000.
 

Sancho77


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

La quantità di denaro reale è il saldo del conto. Il valore è restituito da AccountBalance(). Le tre cifre che hai elencato sono tutte uguali. L'ultimo sarebbe anche 10.000.
Direi che la quantità di denaro reale è AccountEquity() però. Altrimenti, c'è poco che pende nel meno - fino a quando i trade sono chiusi, il saldo non rifletterà lo stato delle cose nel conto.
 
tol64:

La quantità di denaro reale è il saldo del conto. Il valore è restituito da AccountBalance(). Le tre cifre che hai elencato sono tutte uguali. Anche l'ultimo sarà di 10.000.
Dimenticate l'equilibrio. E non ingannare gli altri. L'equità è il vostro vero fondo. Se i tuoi fondi lo permettono, il tuo saldo può essere zero, ma non il contrario. Anche se avete un saldo di anche un milione, e i fondi sono scesi a un valore critico, aspettate la Margin Call, e poi lo Stop Out... ...se non si riesce ad avere i soldi sul conto in tempo.
 
Dimka-novitsek:

Sì, scusa davvero, è la foga del momento, sono stato un po' a secco, scusami. Grazie!!!!!!!!!

Non preoccuparti... È necessario chiudere tutte le posizioni e cancellare tutti gli ordini se l'ultima posizione chiusa ha chiuso al TakeProfit?

Ecco il tuo prossimo compito a casa.

   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());
                     // Здесь команда для удаления отложенного ордера (для тестера). Для реала здесь должен быть вызов 
                     // полноценной функции удаления отложенного ордера с проверкой и обработкой ошибок сервера
                     }
                  }
               }
            }
         }
      }

Per l'amor di Dio, non ammucchiate tutto di nuovo... Ho già fatto tutto per te - tutto quello che devi fare è scoreggiare due volte... Ho anche scritto dove... :) E, naturalmente, pulire tutti gli avvisi e il codice che li accompagna... anche se... Non sono sicuro che troverete cosa, dove e come, e per cosa...

 
artmedia70:
Dimenticate l'equilibrio. E non ingannare gli altri. L'equità è il vostro denaro reale. Se i fondi lo permettono, il saldo può essere zero, ma non viceversa. Anche se avete un saldo di anche un milione, e i fondi sono scesi a un valore critico, aspettate la Margin Call, e poi lo Stop Out... ...se non si riesce ad avere i soldi sul conto in tempo.

Non l'ho fatto apposta).
Si scopre che questo è un concetto relativo)). Il saldo è un profitto/perdita fisso. E questo è reale. I fondi, AccountEquity(), possono ancora cambiare quante volte si vuole e questo è in linea di principio anche reale, ma già abbastanza vago. Naturalmente, non dobbiamo aumentare il valore critico del nostro conto e controllare il carico di deposito e il rischio lontano dallo stop out e dalla percentuale di margine. Un esempio del genere è già stato dato sopra. Lo stesso "kamikaze")))

In questo caso novicek avrebbe dovuto essere più specifico e usare definizioni chiare come Balance/Equity (chiaro) piuttosto che Real/Unreal (vago). L'esempio qui sotto funzionerebbe per voi allora?

Per me, AccountEquity(), come una candela non formata e altri indicatori che mi interessano, calcolo il saldo, ma naturalmente, seguo anche i mezzi, per essere consapevole di quando l'Equity (mezzi) dovrebbe essere convertito in denaro reale o virtuale (se è un test), cioè il saldo. ))

 
artmedia70:

Non preoccuparti... È necessario chiudere tutte le posizioni e cancellare tutti gli ordini se l'ultima posizione chiusa ha chiuso al TakeProfit?

Ecco il tuo prossimo compito a casa.

Il codice ben strutturato anche senza commenti è chiaro. Come un libro).
 
tol64:

Non l'ho fatto apposta).
Risulta essere un concetto relativo). Un bilancio è un profitto/perdita fisso. Ed è reale. I fondi, AccountEquity(), possono ancora cambiare quante volte si vuole e questo è in linea di principio anche reale, ma già abbastanza vago. Naturalmente, non dobbiamo aumentare il valore critico del nostro conto e controllare il carico di deposito e il rischio lontano dallo stop out e dalla percentuale di margine. Un esempio del genere è già stato dato sopra. Lo stesso "kamikaze"))).

In questo caso, novicek dovrebbe essere più specifico e usare definizioni chiare e comprensibili, come Balance / Equity (chiaro), e non Real / Unreal (vago). L'esempio qui sotto funzionerebbe per voi allora?

Per me, AccountEquity(), come una candela non formata e altri indicatori che mi interessano, calcolo sul saldo, ma naturalmente, seguo anche i mezzi, per essere consapevole di quando Equity (mezzi) dovrebbe essere convertito in denaro reale o virtuale (se è un test), cioè il saldo. ))

Ed è meglio chiudere tutte le posizioni quando la linea del capitale sale sopra la linea di equilibrio. Dopo tutto, quando si chiudono le posizioni aperte, il saldo diventa uguale al capitale. :)

Beh, ti sbagli sulla "candela dell'iniquità" contro l'equità... Il capitale è il tuo profitto/perdita che si è già formato, mentre il saldo, quando le posizioni non sono chiuse, è polvere, niente...

 
artmedia70:

Il capitale è il tuo profitto/perdita già generato, e il saldo con le posizioni scoperte è polvere, niente...


Ecco perché chiudo una posizione quando i fondi raggiungono un certo valore sopra il saldo, ma dovrei anche chiudere una posizione quando i fondi sono sotto il saldo, se ho sbagliato e il prezzo è andato nella direzione sbagliata). Perché se non chiudete una posizione in tempo, quando i fondi sono sopra il saldo, dopo un po' può risultare che i fondi saranno sotto il saldo e non saliranno più in alto per molto tempo, e poi andranno ancora più giù fino allo stop-loss, e dopo lo stop-loss anche oltre, e alcune persone non mettono nemmeno uno stop)). Dove sono finiti quei fondi quando hanno superato il saldo? Si sono trasformati in polvere, in niente)).

È come una poesia)). In realtà stiamo parlando della stessa cosa molto probabilmente. Sulla candela non formata. Intendevo le condizioni di entrata e di uscita. Gli ordini non rientrano in questa categoria. La chiusura di posizioni con stop-loss, l'apertura con ordini pendenti non avviene ovviamente con una candela formata)).

Motivazione: