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

 
il commercio è disabilitato .oshıbka
 
--danger--:

prıvet .podzajajajte pojalusta pogu na demo schete ne mogu otkrıt zdelkı

-pericolo--:
il commercio è disabilitato .oshıbka
Il pulsante è avtotorgovly ne najata? Si prega di indicare il nomer osibki, v jurnale dolzen byti.
 
Alekseu Fedotov:

Nessun peccato, che cosa giura.

Quali sono gli errori del compilatore

Qualcosa a che fare con il fatto che la funzione deve essere globale e aspetta le virgole in posti dove non ha senso metterle! Per esempio al separatore tra le informazioni sul broker e la coppia scambiata

 
GoldenGod:
Un consiglio per uno stupido. Come posso aprire un conto live?
Dipende dal broker, vai sul suo sito e cerca il pulsante "Apri un conto reale" o qualcosa di simile. O nell'ufficio privato del broker "Crea un nuovo conto".
 
Vitalie Postolache:
Cosa vuol dire "nessuno"? Ordina per ticket - ci sarà sempre un ordine e nessuna contraddizione con la documentazione, si parla di ordinare per numero di serie, non per ticket, sono cose diverse.
Se ti fai una domanda
Abbiamo questo elenco di ordini in un momento (per biglietto)
  1. Comprare #1
  2. Comprare #2
  3. BuyStop #3
  4. Vendere #4
L'ordine dei biglietti nella lista è: #1,#2,#3,#4

Dopo BuyStop #3 in che ordine saranno i biglietti nella lista?

È #1, #2, #4, #3?

Quindi neanche i biglietti garantiscono l'ordine.
 
Anton Sokolov:

Un altro problema che ho incontrato! Non giudicare, ho studiato la lingua per 2-3 settimane, forse sono solo stupida!

Il compito dell'Expert Advisor è quello di notificare al trader via e-mail ogni 4 ore, se il margine libero sul conto ha aggiunto un certo valore.

Nell'oggetto del messaggio devi scrivere il nome del broker e la coppia scambiata, e nel corpo del messaggio "Pericolo! Il drawdown è oltre il limite. Prendete le misure necessarie".

Il compilatore non funziona bene, non sono bravo in inglese e non riesco a capire qual è l'errore!

input  double MessageMail     = 50.0;
double Sag;

void OnTick()
  {
   Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1);  //находим процент просадки и округляем до 1 знака
    if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3)                                       //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
     {
     Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ",  MessageMail, " % ");                 //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит                          
     }
  }


PS: Forse in generale c'è una soluzione più semplice per questo tipo di problema, ma finora la vedo solo così)

//+------------------------------------------------------------------+
//|                                               exTestSendMail.mq4 |
//|              Copyright 2017, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Artem A. Trishkin, Skype artmedia70"
#property link      "https://login.mql5.com/ru/users/artmedia70"
#property version   "1.00"
#property strict

input  double MessageMail     = 50.0;
//---
double Sag=0;
string MailSubject="";
datetime PrevTime=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   MailSubject="Mail from EA "+MQLInfoString(MQL_PROGRAM_NAME);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   //--- Находим процент просадки и округляем до 1 знака
   Sag=NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_MARGIN_FREE)/AccountInfoDouble(ACCOUNT_BALANCE)),1);
   //--- Если открыт новый бар на H4
   if(iTime(Symbol(),PERIOD_H4,0) !=PrevTime) {
      //--- если просадка больше заданного
      if(Sag>MessageMail) {
         Alert(Symbol(), ": Просадка = ", DoubleToString(Sag,1), " % ", " > ",  MessageMail, " % ");              //вывести предупреждение в терминале
         string MailText=AccountInfoString(ACCOUNT_COMPANY)+" > Опасность! Просадка ("+DoubleToString(Sag,1)+"%) привысила допустимое значение. Примите необходимые меры.";
         SendMail(MailSubject,MailText);
         }
      PrevTime=iTime(Symbol(),PERIOD_H4,0);
      }
  }
//+------------------------------------------------------------------+
In generale, è meglio fare controlli di questo tipo in un timer.
 

Grazie! Preparati a inviare lettere!

 

come fissare ilvalore di ritorno '' OrderClose deve essere controllato??????????????????????????????

 
Vielleicht xamp neu starten
 

Cari programmatori, per favore aiutate un principiante in questo settore.

L'EA apre ordini di acquisto e di vendita in modo sequenziale dopo un certo periodo di tempo. Voglio che modifichi tutti gli ordini precedenti (in particolare, tutti quelli precedenti dovrebbero essere chiusi da Take Profit dell'ultimo. Cioè se l'ultimo ordine di acquisto e il precedente ordine di vendita, allora lo stop loss dell'ordine precedente è impostato al livello di take profit dell'ultimo,

Se l'acquisto precedente compra, allora il suo TakeProfit sarà impostato sul livello dell'ultimo TakeProfit. Bene, ecc. Il punto è che quando arriva il takeprofit dell'ultimo ordine, tutti gli ordini devono essere chiusi).

Spero di averlo spiegato chiaramente, anche se è difficile capire come dovrebbe essere implementato. Grazie in anticipo.

Capisco che possiamo passare attraverso tutti gli ordini aperti e modificarli, ma come possiamo saltare l'ultimo ordine?