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

 
si dimentica di includere i volumi degli ordini - allora il calcolo è corretto...
 
isiklik:
...

Si prega di scrivere un codice in MQL4

...
Questo è un aiuto per chi scrive il proprio codice, non per chi scrive codice libero. Mostrami il codice che stai cercando di fare da solo, ma non funziona.
 

Mi dispiace disturbare la vostra pace. Questa è la prima volta che mi capita. Se avessi saputo scrivere il codice, l'avrei scritto io stesso. Volevo creare il mio EA. Tutto quello che dovevo fare ora era scrivere il codice. Ho fatto il resto con Forex EA Generator. Non ho trovato il modo di fare questo piccolo pezzo da solo.

Lo cercherò da qualche altra parte.

 
isiklik:

Ragazzi, viviamo insieme. :)

Questo è un pezzo del mio TS, dove tutti i prezzi dei trade aperti sul lato BAY dovrebbero essere sommati, divisi per il numero di trade e aggiunti 200 pips. E nella direzione di vendere sottrarre 200 pips.

Chi può aiutarmi a scrivere codice MQL4?

X1 - X compravendite aperte

Y - numero di compravendite aperte

La formula dovrebbe assomigliare a questa: X1 + X2 + X3 + X4 + X... / Y+200

Per esempio, se ho 5 trade aperti in BAI, dovrei sommarli, dividere per 5 e aggiungere 200. E 8 trade aperti in vendita dovrebbero essere sommati, divisi per 8 e sottratti 200.


Per favore inviatemi il codice in MQL4.


Grazie mille!


//Профит для бая и селла
double tp_buy = AvgPrice(OP_BUY, 200);
double tp_sell = AvgPrice(OP_SELL, 200);




//Считаем среднюю цену открытия и прибавляем Отступ (TP)
double AvgPrice (int type, double TP=0)
   {
   double sum_price=0;
   double sum_comission=0;
   double avg_price=0;
   double order_lots=0;
   
   //складываем Лоты, Цену, Комиссии
   for(int i=OrdersTotal()-1; i>=0; i--)
      {
      bool i2=false; while(i2==false && !IsStopped())i2=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
   
      if(OrderType()==type && OrderSymbol()==_Symbol && Magic==OrderMagicNumber() && OrderCloseTime()==0)
         {
         sum_price += OrderOpenPrice() * OrderLots();
         order_lots += OrderLots();
         sum_comission += OrderSwap()+OrderCommission();
         }
      }
   
   //определяем среднюю цену и прибавляем Отступ
   if (order_lots>0)
      {
      sum_comission = sum_comission / order_lots / MarketInfo(Symbol(),MODE_TICKVALUE) * _Point;
      
      if (type == OP_BUY)
         avg_price = sum_price / order_lots + sum_comission + TP*_Point;
   
      else
         avg_price = sum_price / order_lots - sum_comission - TP*_Point;
      }
   
   return (NormalizeDouble(avg_price,_Digits));
   }
 
Taras Slobodyanik:

Grazie mille Taras!

Hai tali errori. Proverò a cercarlo su Google.

errore 168: 'AvgPrice' - funzione non definita
errore 168: 'AvgPrice' - funzione non definita
errore 256: 'Magic' - identificatore non dichiarato
Risultato: 3 errore(i), 0 avviso(i)
 
Chi lo sa? FORMULA per calcolare la LINEA DI TREND PER ANGOLO. In base a quali valori questo strumento calcola l'angolo in MT4?
 
Taras Slobodyanik:


Google non mi aiuta affatto. Non riesco a capire cosa c'è di sbagliato inAvgPrice eMagic.

Quello che capisco di questo codice è che calcola le commissioni, gli swap, i lotti. Non ne ho affatto bisogno. :(

 
isiklik:


Google non mi aiuta affatto. Non riesco a capire cosa c'è di sbagliato inAvgPrice eMagic.

Quello che capisco di questo codice è che calcola le commissioni, gli swap, i lotti. Non ne ho affatto bisogno. :(

Sì, anche noi abbiamo capito il 100%, è quello che ti serve
 
Sergey Gritsay:
Per fare questo, è necessario creare un server al di fuori del computer locale e trasferire i dati attraverso questo server, rispettivamente, per MT si scrive un indicatore o consulente che elabora questi dati, o mettere i terminali su un server VPN e lì si imposta un copiatore di offerte dal tuo account ai conti dei tuoi amici. Un'altra opzione è quella di copiare i tuoi trade eseguiti su determinati livelli attraverso il servizio di segnali. In generale, dovete usare le vostre capacità finanziarie per ordinare il software appropriato.

Lasciate che vi ricordi la preistoria. Ho un indicatore che riceve dati giornalieri da csv e li visualizza (livelli orizzontali) sul grafico. Ho creato un server da un portatile di casa (debole, ma i calcoli non sono necessari e daranno il csv, e sono molto piccoli). Sul server per la connessione di prova ha versato il solito motore del forum - tutto sembra essere visibile dall'esterno. Aiuto con consigli. Che dovrebbe essere sul server per leggere da esso file csv indicatore? Cioè come comunica l'indicatore con il database csv? Forse compilare il server fTP del motore o qualcos'altro e può per MT bisogno di aprire alcune porte speciali? O ho preso la direzione sbagliata in generale? Grazie
 
MosheDayan:

Lasciate che vi ricordi la preistoria. C'è un indicatore che riceve dati giornalieri da csv e li visualizza (livelli orizzontali) sul grafico. Creato un server da un portatile di casa (debole, ma i calcoli non sono necessari lì e darà csv, e sono molto piccoli). Sul server per la connessione di prova ha versato il solito motore del forum - tutto sembra essere visibile dall'esterno. Aiuto con consigli. Che dovrebbe essere sul server per leggere da esso file csv indicatore? Cioè come comunica l'indicatore con il database csv? Forse compilare il server fTP del motore o qualcos'altro e può per MT bisogno di aprire alcune porte speciali? O ho preso la direzione sbagliata in generale? Grazie

Scavare MySQL.
Motivazione: