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

 
lottamer:


DC è a cinque cifre...

Cosa significa SENZA DoubleToStr(YourPrice,5)? Ho DoubleToStr(YourPrice,5) da nessuna parte

Se mettete semplicemente una variabile doppia da qualche parte in Print o Alert (Print(doubleVariable)), saranno stampate solo quattro cifre decimali; se mettete Print(DoubleToStr(doubleVariable,N)) - otterrete N cifre decimali.
 
Domanda ai moderatori - molto spesso il sito mi rimanda indietro per la ri-autorizzazione. Quando provo ad accedere, viene visualizzato il messaggio "Il tuo accesso è temporaneamente limitato o negato". Poi, dopo qualche ora, l'accesso viene ripristinato. Quale potrebbe essere il problema?
[Deleted]  
Grazie a tutti per i consigli, ma logicamente, non c'è differenza tra le due opzioni...
  • per (int i=1; i<=OrdiniTotali(); i++)
  • for (int i=OrdersTotal()-1; i>=0; i--)
O mi sbaglio? A proposito, questo non ha aiutato....


La cosa strana è che EA cancella completamente tutti gli ordini in questa condizione:
  • per (int i=0; i<=OrdiniTotali(); i++)
  • per (int i=OrdiniTotali(); i>=0; i--)
Qualcuno può capire perché?

 
yosuf:
Domanda ai moderatori - molto spesso il sito mi rimanda indietro per la ri-autorizzazione. Quando provo ad accedere, viene visualizzato il messaggio "Il tuo accesso è temporaneamente limitato o negato". Poi, dopo qualche ora, l'accesso viene ripristinato. Quale potrebbe essere il problema?
Universo omeostatico. I moderatori non possono influenzare l'autorizzazione. Solo vietarlo in modo permanente.
 
granit77:
Universo omeostatico. I moderatori non possono influire sull'autorizzazione. Solo bandito in modo permanente.
Cosa fare ora? A chi rivolgersi?
 
yosuf:
Cosa fare ora? A chi rivolgersi?

Al moderatore dell'universo.
 
yosuf:
Domanda ai moderatori - molto spesso il sito mi rimanda indietro per la ri-autorizzazione. Quando provo ad accedere, viene visualizzato il messaggio "Il tuo accesso è temporaneamente limitato o negato". Poi, dopo qualche ora, l'accesso viene ripristinato. Quale potrebbe essere il problema?

Sei stato trollato))) Sei un individuo carismatico))))
[Eliminato]  

Saluti.

Mi puoi dire come prendere in considerazione un incrocio di prezzi con una linea indicatrice?

l'indicatore ha tre linee: inferiore, centrale e superiore.

Ecco un esempio:

quando il prezzo ha attraversato la linea superiore, ho bisogno di fissare questo momento e usarlo dopo, quando il prezzo è sotto la linea superiore e sopra la linea di mezzo, e quando il prezzo è sotto la linea di mezzo, ho bisogno di resettare il risultato fissato. Non ho bisogno di ricordare il prezzo in cui si è verificato il crossover, ho solo bisogno di mettere un segno di spunta per indicare che il crossover si è verificato e poi cancellarlo.

LineUp //верхняя линия

LineS // средняя линия

LineDown // нижняя линия

Ask >  LineUp // фиксируем

Ask < LineS // сбрасываем

и так же с нижней линией

Bid < LineDown // фиксируем

Bid > LineS //  сбрасываем

Ho provato con True e false, non ha funzionato, non riesco a capire perché.

Ho provato questo:

double LineUp; //верхняя линия индикатора

double LineS; // средняя линия индикатора

double LineDown; // нижняя линия индикатора

bool FiksiruemUp = False;

 bool FiksiruemDown = False;

if ( Ask >  LineUp)  FiksiruemUp = True; // фиксируем

if (Ask < LineS) FiksiruemUp = False; // сбрасываем

// и так же с нижней линией

if (Bid < LineDown)  FiksiruemDown = True; // фиксируем

if (Bid > LineS)  FiksiruemDown = False; //  сбрасываем

 

// дальше в коде я к нему обращаюсь:

if ( FiksiruemUp == True) 

{

то нужно сделать это . . . . . . 

} 

e non funziona, perché no? Aiutatemi a capire.

 
Cari utenti del forum, per favore aiutatemi, non riesco a trovare un bug nel codice del mio EA, vale a dire, non può o non vuole chiudere le posizioni da indicatore, solo da tp o sl, qui, come mi sembra, parte del codice, che è associato a questo problema, molte grazie in anticipo
int start()
  {
   int
   Total,                           // Количество ордеров в окне 
   Tip,                          // Тип выбран. ордера (B=0,S=1)
   Ticket;                          // Номер ордера
   double
   FT1,                              // Значение 0 буффера Forex Trend
   FT2,                             // Значение 1 буффера Forex Trend
   TL1,                              // Значение 1 буффера Trend Lord
   TL2,                              // Значение 0 буффера Trend Lord                          
   FI,                               // Значен. Force Index текущее 
   Lot,                             // Колич. лотов в выбран.ордере
   Lts,                             // Колич. лотов в открыв.ордере
   Min_Lot,                         // Минимальное количество лотов
   Step,                            // Шаг изменения размера лота
   Free,                            // Текущие свободные средства
   One_Lot,                         // Стоимость одного лота
   Price,                           // Цена выбранного ордера
   SL,                              // SL выбранного ордера 
   TP;                              // TP выбранного ордера
   bool
   Ans  =false,                     // Ответ сервера после закрытия
   Cls_B=false,                     // Критерий для закрытия  Buy
   Cls_S=false,                     // Критерий для закрытия  Sell
   Opn_B=false,                     // Критерий для открытия  Buy
   Opn_S=false;                     // Критерий для открытия  Sell
                                                        
   
//--------------------------------------------------------------- 3 --
   // Предварит.обработка
   if(Bars < Period_FI)                       // Недостаточно баров
     {
      Alert("Недостаточно баров в окне. Эксперт не работает.");
      return;                                   // Выход из start()
     }
   if(Work==false)                              // Критическая ошибка
     {
      Alert("Критическая ошибка. Эксперт не работает.");
      return;                                   // Выход из start()
     }
//--------------------------------------------------------------- 4 --
   // Учёт ордеров
   Symb=Symbol();                               // Название фин.инстр.
   Total=0;                                     // Количество ордеров
   for(int i=1; i<=OrdersTotal(); i++)          // Цикл перебора ордер
     {
      if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров:
         if (OrderSymbol()!=Symb)continue;      // Не наш фин. инструм
         if (OrderType()>1)                     // Попался отложенный
           {   
            Alert("Обнаружен отложенный ордер. Эксперт не работает.");
            return;                             // Выход из start()
           }
         Total++;                               // Счётчик рыночн. орд
         if (Total>1)                           // Не более одного орд
           {
            Alert("Несколько рыночных ордеров. Эксперт не работает.");
            return;                             // Выход из start()
           }
         Ticket=OrderTicket();                  // Номер выбранн. орд.
         Tip   =OrderType();                    // Тип выбранного орд.
         Price =OrderOpenPrice();               // Цена выбранн. орд.
         SL    =OrderStopLoss();                // SL выбранного орд.
         TP    =OrderTakeProfit();              // TP выбранного орд.
         Lot   =OrderLots();                    // Количество лотов
        }
     }
//--------------------------------------------------------------- 5 --
   // Торговые критерии
                          
   TL1=iCustom(NULL, 0, "TrendLord", 1, 1);                          // trend lord синий
   TL2=iCustom(NULL, 0, "TrendLord", 0, 1);                          // красный тренд лорд
   FI=iForce(NULL, 0, Period_FI,MODE_EMA,PRICE_CLOSE,0);            // FI
   FT1=iCustom(NULL, 0, "ForexTrend", 7, 50.6, 999999, 0, 1);                        // forex trend blue
   FT2=iCustom(NULL, 0, "ForexTrend", 7, 50.6, 999999, 1, 1);                        // forex trend red


   if (TL2 == EMPTY_VALUE && FT1 == 1 && FT2 == 0 && FI > 0)
   {
      Opn_B = true;
      
   
      
   }
   while (Opn_B == true)
   {
      if (FI <= 0)
      {
         Cls_B=true;
      }
  break;
   }      
      
   if (TL1 == EMPTY_VALUE && FT2 == 1 && FT1 == 0 && FI < 0)
   {
      Opn_S = true;
      
     
      
   }
   while (Opn_S == true)
   {
      if (FI >= 0)
      {
         Cls_S=true;
      }
   break;
   }    
//--------------------------------------------------------------- 6 --
   // Закрытие ордеров
   while(true)                                  // Цикл закрытия орд.
     {
      if (Tip==OP_BUY && Cls_B==true)                // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Bid,2);      // Закрытие Buy
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Buy ",Ticket);
            break;                              // Выход из цикла закр
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }

      if (Tip==OP_SELL && Cls_S==true)                // Открыт ордер Sell..
        {                                       // и есть критерий закр
         Alert("Попытка закрыть Sell ",Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose(Ticket,Lot,Ask,2);      // Закрытие Sell
         if (Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Sell ",Ticket);
            break;                              // Выход из цикла закр
           }
         if (Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
      break;                                    // Выход из while
[Deleted]  
belck:

Saluti.

Mi puoi dire come prendere in considerazione un incrocio di prezzi con una linea indicatrice?

l'indicatore ha tre linee: inferiore, centrale e superiore.

Ecco un esempio:

quando il prezzo ha attraversato la linea superiore, ho bisogno di fissare questo momento e usarlo dopo, quando il prezzo è sotto la linea superiore e sopra la linea di mezzo, e quando il prezzo è sotto la linea di mezzo, ho bisogno di resettare il risultato fissato. Non ho bisogno di ricordare il prezzo in cui si è verificato il crossover, ho solo bisogno di mettere un segno di spunta per indicare che il crossover si è verificato e poi cancellarlo.

Ho provato con True e false, non ha funzionato, non riesco a capire perché.

Ho provato questo:

e non funziona, perché no? Aiutatemi a capire.


Non funziona, perché devi portare le variabili che vuoi impegnare a livello globale, cioè prima della funzione Start... Per esempio questi e così via.... " FiksiruemUp = True; // fix " e "iksiruemUp = False; // reset"
Se non si passa da un timeframe all'altro, dovrebbe funzionare...