[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 553

 
Buon pomeriggio! C'è qualcosa che non funziona nel mio scrip. Quando lo trascino sul grafico, non succede assolutamente nulla.
 
L'inizio è inevitabile in ogni zecca, ma le condizioni necessarie possono essere fornite in essa.
 
Buon pomeriggio! C'è qualcosa che non funziona nel mio scrip. Quando lo trascino sul grafico, non succede assolutamente nulla. Come si usa?
//+------------------------------------------------------------------+
//|                                                      Покупка.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
for(int i=0;i<=OrdersTotal();i++){
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
 { if(OrderSymbol() != Symbol()) continue; 
   if(OrderType()==OP_SELL) 
  OrderClose(OrderTicket(),OrderLots(),Ask,6,Red);
   if(OrderType()==OP_BUY)
  OrderClose(OrderTicket(),OrderLots(),Bid,6,Red);
   if(OrderType()>=2)
  OrderDelete(OrderTicket());}} 
//----
   for(i=0;i<23;i++){
    Sleep(2000);RefreshRates(); if(!IsTradeAllowed())continue;
    int tiket=OrderSend(Symbol(),OP_BUY,0.1,Ask,6,0,0,"Skript",98600,0,Blue);
   if( tiket!=-1)break;
   if (tiket==-1){ int Error=GetLastError();  
            string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}}
//----
   return(0);
  }
//+------------------------------------------------------------------+

//------- :  Коды ошибок
string ErrorDescript(int error_code){string error_string;switch(error_code){
      //---- Коды ошибок, возвращаемые торговым сервером:
      case 0:   error_string="Нет ошибок";                                                                                             break;
      case 1:   error_string="Нет ошибки, но результат неизвестен";                                                                    break;
      case 2:   error_string="Общая ошибка";                                                                                           break;
      case 3:   error_string="Неправильные параметры";                                                                                 break;
      case 4:   error_string="Торговый сервер занят";                                                                                  break;
      case 5:   error_string="Старая версия клиентского терминала";                                                                    break;
      case 6:   error_string="Нет связи с торговым сервером";                                                                          break;
      case 7:   error_string="Недостаточно прав";                                                                                      break;
      case 8:   error_string="Слишком частые запросы";                                                                                 break;
      case 9:   error_string="Недопустимая операция нарушающая функционирование сервера";                                              break;
     
 
paladin80:

Dopo la normalizzazione il numero cambia, ad esempio

Un'altra cosa è quando lo stampate, con DoubleToStr, per esempio:

E se lo stampate dopo la normalizzazione, va così:


Grazie.
 

Buon pomeriggio.

Ho bisogno di calcolare il profitto totale solo delle ultime due posizioni di acquisto. Come faccio a riscrivere il codice?

double profits_buy_2pos()
{
   double pr_buy = 0;
   int cnt = 0;
   int OpenOrders=OrdersTotal();
   for(cnt=0;cnt<OpenOrders;cnt++)   // scan all orders and positions. ..
   {
     OrderSelect(cnt, SELECT_BY_POS);
          if (OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType() == OP_BUY)
          {     
          if (OrderType()==OP_BUY) 
          {
            pr_buy+= OrderProfit();
          } 
          }                               
   } 
return(pr_buy);   
}
 
Come posso impostare un Take Profit in Metatrader4 cliccando su un grafico? Non è molto comodo usare il menu contestuale -> "modifica ordine".
 
abeiks:

Buon pomeriggio.

Ho bisogno di calcolare il profitto totale solo delle ultime due posizioni di acquisto. Come posso riscrivere il codice?


Funzione di Kim IV.

La funzione GetProfitOpenPosInCurrency(). - Per aiutare.

+ Tu stesso rifai il ciclo, cioè vai dall'ultimo al primo, sommando il profitto degli ordini di acquisto e aggiungendo il contatore delle posizioni di acquisto calcolate. Non appena raggiunge il 2, si esce dal ciclo ed è tutto.

 
ascerdfg:
Come posso impostare un Take Profit in Metatrader4 cliccando su un grafico? Non è molto comodo usare il menu contestuale -> "modifica ordine".
Il terminale stesso non può farlo, ma ci sono degli script che possono farlo. Per esempio, questo. Ci sono diversi script simili nel nostro database.
 
Roman.:

Funzione di Kim IV.

Funzione GetProfitOpenPosInCurrency(). - aiuto.

+ Si rifà il ciclo da soli, cioè si va dall'ultimo al primo, sommando il profitto degli ordini di acquisto e aggiungendo il contatore delle posizioni di acquisto contate. Non appena raggiunge il 2, si esce dal ciclo ed è tutto.


Grazie!

 

Amici, per favore aiutatemi, ditemi come trovare il primo frattale del giorno sul grafico orario? E che all'inizio del giorno successivo si "resetta" e cerca un nuovo primo frattale?

Grazie in anticipo!