Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1545

 
Buon giorno Cari commercianti.
aiutatemi a capire, non capisco questo argomento, perché non sono mai stato coinvolto in esso.
Il mio amico è entrato in MT4 su invito di qualche broker e gli ha trasferito dei soldi.
un mese è passato ma il broker continua a fargli girare la testa che è troppo presto per prelevare.
Ho preso un paio di foto dal suo ufficio, guardatelo e ditemi se questo è un conto reale o demo e come prelevare denaro da questa applicazione
 

il denaro viene ritirato solo attraverso il "conto personale" nell'interfaccia DC (o attraverso la faccia di una persona specifica, a seconda dei casi) :-)

Se hai un conto su WhereTamForex.com, allora hai inserito del denaro lì e lo hai prelevato da lì

 
Антон Кувайцев:
Buon giorno Cari commercianti.
aiutare a capire, non ho familiarità con questo argomento, come non ho mai fatto questo prima.
Il mio compagno è entrato in MT4 su invito di qualche broker e ha trasferito i suoi soldi.
un mese è passato e il broker gli sta ancora dando il mal di testa.
Ho preso un paio di foto dal suo ufficio, guardatelo e ditemi se questo è un conto reale o demo e come prelevare denaro da questa applicazione

Sito web fraudolento di un presunto broker fraudolento.

Basta digitare il nome su Google e leggere le attività di questi truffatori.

Nessun denaro viene ritirato dalla piattaforma, né viene depositato in essa. Una piattaforma di trading è solo uno strumento per fare trading con il broker dove tu (o il tuo amico) avete aperto il vostro conto.

E il denaro deve essere ritirato esattamente nell'ufficio privato della società a cui il denaro è stato trasferito.

Hai capito? Questo sito è il sito degli sviluppatori delle piattaforme di trading MetaTrader 5 e MetaTrader 4. Qui non si depositano fondi, quindi non si possono prelevare da qui. Così come non li ritiri dalla piattaforma di trading (è solo un programma) - li ritiri dal conto personale del tuo broker (quello con cui hai aperto un vero conto di trading).

 
Maxim Kuznetsov:

il denaro viene ritirato solo attraverso il "conto personale" nell'interfaccia DC (o attraverso la faccia di una particolare persona, a seconda dei casi) :-)

Se hai un conto su WhereTamForex.com, allora hai inserito del denaro lì e lo hai prelevato da lì



il mio broker ha dato al mio amico l'accesso per vedere la crescita e il movimento dei fondi nell'applicazione MT4, ma non può avere accesso ai fondi stessi, cioè andare su una piattaforma attraverso la quale i fondi sono stati depositati e ritirarli lì.
Dato che il broker non gli ha dato il nome utente e la password per la piattaforma stessa...
ha trasferito i soldi direttamente al broker, non li ha depositati lui stesso attraverso la piattaforma
 
Антон Кувайцев:
MT4 visualizza solo il saldo e la funzione di trading e il prelievo viene effettuato attraverso un'altra piattaforma, ho ragione!?

e un'altra domanda, è possibile che il broker in qualche modo abbia dato al mio amico l'accesso per vedere la crescita e il movimento dei fondi nell'applicazione MT4 ma non può avere accesso ai fondi stessi, cioè andare su una piattaforma attraverso la quale i fondi sono stati depositati e ritirarli lì.
Dato che il broker non gli ha dato il nome utente e la password per la piattaforma stessa...
ha trasferito i soldi direttamente al broker, non li ha depositati lui stesso attraverso la piattaforma

Quale broker?

Il denaro viene trasferito sul conto di una persona giuridica. Tutti i DC sono persone giuridiche.

La transazione è fatta (di solito con pochissime eccezioni, clienti regolari di grandi dimensioni) nell'interfaccia web del DC.

La transazione inversa viene fatta anche lì. E l'opinione degli esperti di DC sul dovrebbe/non dovrebbe essere più di una consultazione, non possono vietare il ritiro. Possono ritardare leggermente il controllo delle transazioni. Un'altra cosa è che i prelievi/trasferimenti possono "rimanere nel limbo" mentre le banche li controllano.

---

probabilmente dei truffatori. E una meravigliosa ingenuità sul proprio denaro da parte del cliente. E se ne approfittano.

Ci sono stati casi, anche descritti su questo forum, in cui il truffatore ha preso soldi veri e ha messo un conto demo per questo importo al cliente. Questo, naturalmente, è puramente criminale

 
Антон Кувайцев:
MT4 visualizza solo il saldo e fornisce la funzione di trading, mentre il prelievo avviene attraverso un'altra piattaforma - sono corretto?

e un'altra domanda, è possibile che il broker in qualche modo abbia dato al mio amico l'accesso per vedere la crescita e il movimento dei fondi nell'applicazione MT4, ma non può avere accesso ai fondi stessi, cioè andare su una piattaforma attraverso la quale i fondi sono stati depositati e ritirarli lì.
Dato che il broker non gli ha dato il nome utente e la password per la piattaforma stessa...
ha trasferito i soldi direttamente al broker, non li ha depositati lui stesso attraverso la piattaforma

1. la piattaforma di trading mostra il saldo, la quantità di denaro nel conto, i fondi disponibili nel conto, le garanzie, le posizioni aperte e gli ordini piazzati, lo storico del trading, ecc.

2. Un broker fraudolento (o piuttosto un centro di negoziazione - perché un broker non può essere una frode - è un'organizzazione registrata con tutte le licenze) può "disegnare" la storia. Ma ecco la cosa interessante: se il tuo amico non ha aperto nessuna posizione, potrebbe non esserci alcun movimento di fondi sul conto. A giudicare dagli screenshot, ha un baoan e del credito, e i fondi disponibili sono uguali alla somma del saldo e del credito - quindi non ci sono posizioni aperte, e il denaro può essere ritirato (tranne quello del credito).

3. Quando si apre un conto con il broker, il login e la password vengono inviati nella lettera che si trova nella scheda Mail della piattaforma di trading (o si possono scrivere subito dopo aver creato il conto - sono mostrati con una nota per salvarli in un posto sicuro)

4. Naturalmente, il denaro sul conto di trading deve essere trasferito attraverso l'armadio personale del broker, presso il quale il conto di trading è aperto. La piattaforma di trading è solo uno strumento per lavorare con il tuo conto di trading e fare trading su di esso.

 
Artyom Trishkin:

2. Broker fraudolento (o piuttosto DC - dealing centre - poiché un broker non può essere un truffatore - è un'organizzazione registrata con tutte le licenze)

La Banca Centrale della Russia ha un'opinione diversa, c'è anche una lista nera di broker stranieri della Banca Centrale e la presenza o l'assenza di licenze non era la ragione principale per l'inclusione in questa lista, ci sono altri requisiti della BC quando si lavora con il pubblico russofono

google help, l'ho letto un paio di mesi fa su rbc

 
C'è un modo in Metatrader5 per disabilitare il rinnovo automatico di un contratto scaduto?
 
MakarFX:

Metti il codice, penso che l'errore sia qui "OrderMagicNumber()"

o potresti provare così

Ho provato a inserirlo, ma non si compila. Sto esponendo tutto il codice, se necessario, mostrerò uno screenshot della compilazione. Penso che ci possa essere un altro problema, il mio take è impostato in relazione allo stop tramite coefficiente (variabile esterna), forse dovrebbe essere cambiato in impostazione manuale e sarà più facile per EA aggiungere?
input int takeProfitC = 2;// Коэффициент Take Profit
input int stop_loss = 100;//Уровень Stop Loss
input int stop_count = 2;//Количество Stop Loss
input double lots = 0.01;//Лоты
input int slippage = 30;//Проскальзывание
input int datePeriod = 48;// Время удержания при SL


int tp = 0;
int tpc = 0;
double tp_price_old = 777;
int stopLossCount = 0;
datetime startOrder = 0;
int pending_ticket = 0;
int lastMagic = 0;
bool isLimitOn = false;
bool isStart = True;
datetime startTime = 0;
bool isFinal = false;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() {
//
   //OrderSend(Symbol(), OP_SELL, 0.01, 0.76228, 300, 0, 0);
   //OrderSend(Symbol(), OP_SELLSTOP, 0.01, 0.77057, 300, 0, 0);
   //OrderSend(Symbol(), OP_BUYSTOP, 0.01, 0.76928, 300, 0, 0);
   tp = stop_loss * takeProfitC;
//---
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
//--

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() {
//---
//Comment("StopCount: " + stopLossCount + "\n" + "CurrentStopC: " + stop_count);
   for(int i = OrdersTotal() - 1; i >= 0; i--) {
      if(OrderSelect(i, SELECT_BY_POS)) {
         if(OrderSymbol() == Symbol()) {
         int magic = OrderMagicNumber();
            if((OrderType() == OP_BUY || OrderType() == OP_SELL) && OrderOpenTime()) {
               int ticket = OrderTicket();
               if(!findPending(ticket)) {
                  if(OrderSelect(ticket, SELECT_BY_TICKET) && (((TimeCurrent() <= (startTime + datePeriod * 3600))) || isStart)) {
                     if(OrderType() == OP_BUY) {
                        double sl_price = NormalizeDouble(OrderOpenPrice() - Point() * MathMax(stop_loss, MarketInfo(Symbol(), MODE_STOPLEVEL)), Digits);
                        double tp_price = NormalizeDouble((OrderOpenPrice() + Point() * (tp)), Digits);
                        if(!OrderModify(OrderTicket(), OrderOpenPrice(), sl_price, tp_price, OrderExpiration())) {
                           Print("Ошибка модификации ордера:", GetLastError());
                        } else {
                           if(stopLossCount < stop_count && tp_price != tp_price_old){
                              pending_ticket = OrderSend(Symbol(), OP_SELLSTOP, lots, sl_price, slippage, 0, 0, NULL, OrderTicket());
                              lastMagic = ticket;
                              isLimitOn = true;
                              if(isStart){
                                 startTime = TimeCurrent();
                                 isStart = false;
                              }
                              tp_price_old = tp_price;
                              stopLossCount++;                         
                           }
                        }
                     } else if(OrderType() == OP_SELL) {
                        double sl_price = NormalizeDouble(OrderOpenPrice() + Point() * MathMax(stop_loss, MarketInfo(Symbol(), MODE_STOPLEVEL)), Digits);
                        double tp_price = NormalizeDouble((OrderOpenPrice() - Point() * (tp)), Digits);
                        if(!OrderModify(OrderTicket(), OrderOpenPrice(), sl_price, tp_price, OrderExpiration())) {
                           Print("Ошибка модификации ордера:", GetLastError());
                        } else {
                          if(stopLossCount < stop_count && tp_price != tp_price_old){
                              pending_ticket = OrderSend(Symbol(), OP_BUYSTOP, lots, sl_price, slippage, 0, 0, NULL, OrderTicket());
                              lastMagic = ticket;
                              isLimitOn = true;
                              if(isStart){
                                 startTime = TimeCurrent();
                                 isStart = false;
                              }
                              stopLossCount++;
                              tp_price_old = tp_price;  
                          }
                        }
                     }
                  }
               }
         }
         if(startTime > 0 && (TimeCurrent() >= (startTime + datePeriod * 3600))){
            deletePending(lastMagic);
            isFinal = true;
         }
            
         if(lastMagic != 0 && !IsSell() && !IsBuy() && magic == lastMagic) {
            tpc = 0;
            startTime = 0;
            stopLossCount = 0;
            deletePending(lastMagic);
            isStart = true;
            }
         double GetPointLastLoss(){
            datetime t=0;
            double result=0,p=0,tp=0;
            int i=OrdersHistoryTotal();
         for(int pos=0; pos<i; pos++)
         {
          if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
         {
          if((OrderSymbol()==_Symbol) && (OrderMagicNumber()==Magic))
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(t<OrderCloseTime())
                 {t=OrderCloseTime(); p=OrderProfit(); tp=OrderType();
                  if(tp==OP_BUY&&p<0)
                    {
                     result=OrderOpenPrice()-OrderClosePrice();
                    } else {result=0;}
                  if(tp==OP_SELL&&p<0)
                    {
                     result=OrderClosePrice()-OrderOpenPrice();
                    } else {result=0;}
                 }
              }
           }
        }
     }
   return(result);
  }
      }
     }
   }
   if((startTime > 0 || isFinal) && !IsSell() && !IsBuy()){
            tpc = 0;
            startTime = 0;
            stopLossCount = 0;
            isStart = true;
            isFinal = false;
   }
}                                                                
//+------------------------------------------------------------------+
bool findPending(int ticket) {
   for(int i = OrdersTotal() - 1; i >= 0; i--) {
      if(OrderSelect(i, SELECT_BY_POS)) {
         if(OrderMagicNumber() == ticket) {
            return true;
         }
      }
   }

   for(int i = OrdersHistoryTotal() - 1; i >= 0; i--) {
      if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if(OrderMagicNumber() == ticket) {
            return true;
         }
      }
   }
   return false;
}
//+------------------------------------------------------------------+
void deletePending(int magic) {
   for(int i = OrdersTotal() - 1; i >= 0; i--) {
      if(OrderSelect(i, SELECT_BY_POS)) {
         if(OrderMagicNumber() == magic) {
            if(OrderType() != OP_BUY && OrderType() != OP_SELL) {
               if(!OrderDelete(OrderTicket())) {
                  Print("Ошибка удаления отложеного одера: ", GetLastError());
               }
            }
            break;
         }
      }
   }
}
//+------------------------------------------------------------------+
bool IsSell()
{
   int count = 0;
   for (int trade = OrdersTotal () -1; trade >= 0; trade--)
   {
      if (OrderSelect (trade, SELECT_BY_POS, MODE_TRADES) 
          && OrderSymbol() == Symbol()
          && OrderType() == OP_SELL)
      {
         count++;
      }
      
   }
   if (count == 0)
      return false;
   else
      return true;
}
//+------------------------------------------------------------------+
bool IsBuy()
{
   int count = 0;
   for (int trade = OrdersTotal () -1; trade >= 0; trade--)
   {
      if (OrderSelect (trade, SELECT_BY_POS, MODE_TRADES) 
          && OrderSymbol() == Symbol()
          && OrderType() == OP_BUY)
      {
         count++;
      }
      
   }
   if (count == 0)
      return false;
   else
      return true;
}
 
SGarnov:
Ho provato a inserirlo, ma non si compila. Sto esponendo tutto il codice, se necessario, mostrerò uno screenshot della compilazione. Penso anche che questo possa essere il problema, il mio ordine Take è impostato in relazione allo stop per coefficiente (variabile esterna), forse può essere cambiato in impostazione manuale e sarà più facile per EA aggiungere?
Il tuo EA segue gli ordini inseriti manualmente?