[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 149
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Si prega di consigliare un principiante, AccountBalance() - mostra la quantità di fondi nel saldo, ma ho bisogno di calcolare il mio saldo calcolato (calc_balance),
Questo bilancio è semplice, ma non posso ancora scriverlo, c'è un totale di ordini aperti e in sospeso (Orderstotal), per esempio 3 ordini, il rischio massimo per una posizione aperta è del 2%,
per aprire un altro trade ho bisogno di calcolare il rischio massimo (2%) del saldo calcolato, cioè la logica della formula più o meno sarebbe: calc_balance=AccountBalance()-2%-2%-2%,
Cioè, una sottrazione coerente - ma come scriverlo in codice non è ancora riuscito, spero per il vostro aiuto.
Grazie in anticipo!
Potete dirmi come i fondi (AccountEquity() ) e il collaterale (AccountMargin() ) sono separati per le posizioni di acquisto e di vendita?
Signori, qualcuno può consigliare un indicatore o Expert Advisor, che esponga livelli di supporto e resistenza su D1, senza lag preferibilmente)))
Buon pomeriggio a tutti, ho un problema e non riesco a capire cosa sia.
Ci sono due funzioni date. Se chiamo 1, allora non funziona nulla. Nel secondo caso, tutto funziona. Si prega di consigliare qual è l'errore?
Grazie in anticipo!
int OrderBuy(double pLots, string pComment, int pMagic, int pDatetime, color pColor) { int ticket = 0; int err = 0; int c = 0; int NumberOfTries = 100; for (c = 0; c < NumberOfTries; c++) { RefreshRates(); ticket = OrderSend(Symbol(), OP_BUY, pLots, Ask, 0, Ask-0.0005, Ask+0.0005, pComment, pMagic, pDatetime, pColor); err = GetLastError(); if (err == 0/* NO_ERROR */) break; if (!(err == 4/* SERVER_BUSY */ || err == 137/* BROKER_BUSY */ || err == 146/* TRADE_CONTEXT_BUSY */ || err == 136/* OFF_QUOTES */)) break; Sleep(5000); } return(ticket); } int OrderSell(double pLots, string pComment, int pMagic, int pDatetime, color pColor) { int ticket = 0; int err = 0; int c = 0; int NumberOfTries = 100; for (c = 0; c < NumberOfTries; c++) { RefreshRates(); ticket = OrderSend(Symbol(), OP_SELL, pLots, Bid, 0, Bid+0.0005, Bid-0.0005, pComment, pMagic, pDatetime, pColor); err = GetLastError(); if (err == 0/* NO_ERROR */) break; if (!(err == 4/* SERVER_BUSY */ || err == 137/* BROKER_BUSY */ || err == 146/* TRADE_CONTEXT_BUSY */ || err == 136/* OFF_QUOTES */)) break; Sleep(5000); } return(ticket); } //вызовы функций ticket = OrderBuy(lot, "---"+count+" ---", MagicNumber, 0, HotPink); Print(ticket+":тикет");//здесь выдает -1 if (ticket < 0) { Print("Error: ", GetLastError());//здесь выдает "0"; return (0); } ticket = OrderSell(lot, "---"+count+" ---", MagicNumber, 0, HotPink); Print(ticket+":тикет"); if (ticket < 0) { Print("Error: ", GetLastError()); return (0); }
double ld_MarginPosition = AccountFreeMargin() - AccountFreeMarginCheck();
Buon pomeriggio a tutti, ho un problema e non riesco a capire cosa sia.
Ci sono due funzioni date. Se chiamo 1, allora non funziona nulla. Nel secondo caso, tutto funziona. Si prega di consigliare qual è l'errore?
Grazie in anticipo!
Funzione GetLastError() che in OrderSell e OrderBuy in loop, azzera il valore dell'errore (vedere la guida su GetLastError ATTENZIONE), quindi
Provate a stamparlo direttamente nel ciclo, allora vedrete dove l'ordine non si apre a causa di un errore.
Ho fatto un semplice indicatore che "capovolge" lo strumento. A volte, per la percezione è più facile vedere una coppia al contrario, e l'occhio viene "slavata" guardando la stessa immagine. Non ho mai letto da file (non ho mai nemmeno provato a lavorare con i file), posso visualizzare un grafico completo, qualcuno ha qualche idea.
Non l'ho ancora trovato né cercando né tra le funzioni di Kim.
Come calcolare correttamente il margine per gli ordini aperti separatamente?
Lo facevo in questo modo:
Ho ottenuto un valore diverso da quello che mostra il terminale
double ld_MarginPosition = AccountFreeMargin() - AccountFreeMarginCheck();
Non si può semplicemente sottrarre, serve un calcolo separato per ogni direzione.