[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 127

 
VOLDEMAR:
Quando si esegue nella vita reale " step*point diventerà > perdita attuale, poi il profitto verrà a voi" vedrete il vostro profitto diventa un fisso meno .... A causa del lavoro del broker ... Non ho impostato il take profit per niente, è già controllato ..........
Lei è un tipo strano. Il mio post è un'altra risposta alla tua domanda. È solo un altro modo. Ma è più comprensibile visivamente.
 
Potreste dire a un programmatore inesperto come selezionare l'ultimo trade chiuso usando la funzione OrderSelect? Ho provato il seguente modo: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), ma apparentemente nessun ordine viene selezionato in questo modo...
 
qualcuno per favore attui questa idea del consigliere:

Idea numero 5 TS - Modello proprio (campione). Anche lì c'è un disegno. I criteri di TS e trading sono semplici e

Un buon programmatore non impiegherà molto tempo. Nessuno vuole vedere i risultati?
 
Per favore, consigliate se sapete come fare un test della leva 1:1?
 

Prova ad aprire un conto demo con leva 1:1. E testatelo.

Funzionerà?


 
Moslift:
Potreste dire a un programmatore inesperto come selezionare l'ultimo trade chiuso usando la funzione OrderSelect? Ho provato a farlo in questo modo: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), ma apparentemente nessun ordine viene selezionato in questo modo...


Date un'occhiata qui: https://www.mql5.com/ru/forum/131859

-pagina #4
GetTypeLastClosePos - Restituisce il tipo dell'ultima posizione chiusa o -1
GetTypeLastOpenPos - Restituisce l'ultimo tipo di posizione aperta o -1
isCloseLastPosByStop - Restituisce il flag dell'ultima posizione chiusa da Stop
isCloseLastPosByTake - Restituisce la bandiera per chiudere l'ultima posizione da Take.
isLossLastPos - Restituisce il flag di perdita dell'ultima posizione.
isTradeToDay - restituisce la bandiera del trading di oggi
NumberOfBarCloseLastPos - Restituisce il numero di chiusura dell'ultima posizione o -1.
NumberOfBarOpenLastPos - Restituisce il numero della barra dell'ultima posizione aperta o -1.
NumberOfLossPosToday - Restituisce il numero di posizioni perdenti chiuse oggi.
PriceCloseLastPos - Restituisce il prezzo di chiusura dell'ultima posizione chiusa.

 
Moslift:
Potete consigliare un programmatore alle prime armi, come selezionare l'ultimo ordine chiuso usando la funzione OrderSelect? Ho provato a farlo in questo modo: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), ma apparentemente nessun ordine viene selezionato in questo modo...

Provate in questo modo:

   int      i, j;
   datetime t;
   for (i=0; i<OrdersHistoryTotal(); i++) {           // Цикл по закрытым ордерам терминала
      if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {// Если выбран ордер...
         if (OrderType()>1)               continue;   // ... если его тип не Buy и не Sell, переходим к следующему...
         if (OrderSymbol()!=Symbol())     continue;   // ... если его символ не соответствует символу графика - к следующему...
         if (OrderMagicNumber()!=Magic)   continue;   // ... если его магик не соответствует магику советника (в переменной Magic) - к следующему
         if (OrderCloseTime()>t) {                    // ... если время его закрытия больше предыдущего
            t=OrderCloseTime();                       // ... сохраним новое наибольшее время закрытия, ...
            j=i;                                      // ... сохраним индекс ордера в массиве закрытых ордеров
            }                   
         }
      }
   if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))     // На этом этапе j содержит индекс последнего закрытого ордера
      Print("Выбран последний закрытый ордер с тикетом ",OrderTicket());

Notate che solo Buy o Sell è controllato nel ciclo. Si spera di poter fare una selezione di altri tipi di ordine in base a questo

ZS... Stavo scrivendo sulle mie mani e potrei aver dimenticato un errore da qualche parte...

 

Per favore, ditemi perché questa funzione non funziona e come farla funzionare?


nomer_sdelki=OrderSend(Symbol(),OP_SELL,1,Bid,3, Bid-10*Point,Ask+10*Point, "My order #"+1,16384,0,Green);

------------------------------------------------------------------------------------------------------------------------

Ed è così che funziona!!!

nomer_sdelki=OrderSend(Symbol(),OP_SELL,koefficent,Bid,3,0,0, "My order #"+1,16384,0,Green);

Cioè, quando non ci sono fermate, funziona.

------------------------------------------------------------------------------------------------------------------------------

Anche questa funzione non funziona, come posso risolverla?

OrderClose(nomer_sdelki,koefficent,Bid,3,Red);


-----------------------------------------------------------------------------------------------------------------------------------



 
leonid553:

Prova ad aprire un conto demo con leva 1:1. E testatelo.

Funzionerà?


Senx ( Grazie ) :))
 

È un miracolo...

C'era un messaggio e nessun messaggio...

Rispondo: è questo che serve?

// ----------------- SchBuyLs() ---------------------------------------------
//  Функция возвращает суммарный лот Бай-ордеров 
//----------------------------------------------
double SchBuyLs_b() {
   double SchBuyLs=0;
   int i;
   string SMB=Symbol();
   for (i=OrdersTotal()-1; i>=0; i--) {                  //Начало цикла
      if (!OrderSelect(i, SELECT_BY_POS)) WriteError(i);
      else  {                                            //начало работы с выбранным ордером
         if (OrderSymbol()!=SMB)    continue;
         if(OrderType()==OP_BUY)    SchBuyLs+=OrderLots();
         }                                               //конец работы с выбранным ордером
      }                                                  //Конец цикла
   return(SchBuyLs);                                     // При ошибке выбора ордера функция вернёт ноль
}
// ----------------------------------------------------------------------------
Motivazione: