Scriverò un EA gratuitamente - pagina 102

 
Ciao:
Può un EA aprire ordini pendenti a prezzi di ordini chiusi
 
Anton Yakovlev:
Se hai una buona strategia e sei disposto a condividerla, posso scrivere un EA.


Come posso aggiungere una dimensione di ordine aperto dipendente dal bilancio al mio EA?

ad esempio

$100 lotto 0,05
$200 lotto 0,1
$500 lotto 0,25
$1000 lotto 0,5
$1200 lotto 0,6
$1500 lotto 0,75
$2000 lotto 1.0
$3000 lotto 1,5
$5000 lotto 2,5
$10000 lotto 5

 
liljon:


Come posso aggiungere all'EA una dimensione dell'ordine dipendente dal bilancio?

ad esempio

$100 lotto 0,05
$200 lotto 0,1
$500 lotto 0,25
$1000 lotto 0.5
$1200 lotto 0,6
$1500 lotto 0,75
$2000 lotto 1,0
$3000 lotto 1,5
$5000 lotto 2,5
$10000 lotto 5

Potete specificare la percentuale del saldo Percent=5, per esempio:

double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Valore. 1 lotto

double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);//dimensione minima del lotto

double Step =MarketInfo(Symbol(),MODE_LOTSTEP);// Dimensione del cambio di passo

double Free =AccountFreeMargin();

lots=MathFloor(Free*Percent/100/One_Lot/Step)*Step;

if (lots<Min_Lot) lots=Min_Lot;

 
kim9622:
Ciao a tutti.
Ci sono diversi grafici su MT4 (3-6, possono essere diverse coppie di valute) ognuno con il proprio EA.

Compito:
Non ci sono ordini aperti. Quando si aprono ordini da qualsiasi EA (1 o 2, preferibilmente per scelta della quantità), tutti gli altri EA dovrebbero disabilitare l'auto-trading. Dopo che tutti gli ordini aperti sono stati chiusi, l'auto-trading dovrebbe essere abilitato per tutti gli altri Expert Advisors. Se le condizioni permettono un massimo di 2 EAs, allora l'auto-trading per tutti gli EAs disabilitati inizierà quando uno dei 2 (o entrambi) chiuderanno i loro ordini.
Per favore, consigliate come risolvere questo problema. Forse esiste già un software simile.

può essere risolto tramite variabili globali
e ogni EA in esecuzione deve essere modificato di conseguenza nel codice

Per esempio: se c'è un ordine nel mercato, si attiva una variabile globale,

ogni EA che vede questo non fa trading
 

Ciao a tutti!

C'è qualcuno là fuori che può scrivere un semplice EA non sindacale! ?

 
volodymyr67:

Ciao a tutti!

C'è qualcuno là fuori che può scrivere un semplice EA non sindacale! ?

Nessun problema! Un EA apre una posizione BUY o SELL con un determinato volume:

//+------------------------------------------------------------------+
//|                                            Open One Position.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.001"
//---
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol;                     // symbol info object
//--- input parameters
input double               InpLots     = 10.0;              // Lots
input ENUM_POSITION_TYPE   InpPosType  = POSITION_TYPE_BUY; // Open position 
input ulong                InpMagic    = 208060783;         // Magic number
//---
ulong  ExtSlippage=10;                // Slippage
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   m_trade.SetExpertMagicNumber(InpMagic);
   m_trade.SetMarginMode();
   m_trade.SetTypeFillingBySymbol(m_symbol.Name());
   m_trade.SetDeviationInPoints(ExtSlippage);
//---
   if(InpPosType==POSITION_TYPE_BUY)
      m_trade.Buy(InpLots);
   else if(InpPosType==POSITION_TYPE_SELL)
      m_trade.Sell(InpLots);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//---

  }
//+------------------------------------------------------------------+
File:
 

Sono pronto a pagare una somma simbolica di unpaio di centinaia di rubli.


L'Expert Advisor apresimultaneamente 2 ordini diversamente diretti(1 per ogni coppia di valute) solo quando lo spread specificato perENTRAMBE le coppie è inferiore o uguale a quello specificato nelle impostazioni per entrambe le coppie di valute. Se la condizione ha funzionato per una coppia di valute e non ha funzionato per l'altra,non si apre da nessuna parte.

Non apre nuovi ordini dopo che gli ordini sono stati aperti, ma aspetta solo il profitto totale di due ordini specificati nelle impostazioni del robot.SOLO 2 ORDINIDIVERSAMENTE DIRETTI SONO SEMPRE APERTI

Dopo che gli ordini sono chiusi, il robot controlla nuovamente gli spread di entrambe le coppie di valute e apre di nuovo quando lo spread ègià inferiore o uguale a quello specificato nelle impostazioni.

Se siete in grado di impostare il tempo di esecuzione (inizio martedì 00-00 e fine giovedì 23-59) sarà fantastico.

Ecco come funziona: l'EA(quando lo spread richiesto appare su entrambe le coppie)apre un ordine di acquisto, il secondo vende (o viceversa - non importa), aspetta il profitto e chiude entrambi gli ordini e poi riapre. Se due ordini sono aperti, non ne verranno aperti di nuovi. L'Expert Advisor attende il profitto impostato nelle impostazioni.


Non importa su quale coppia di valute il consulente è impostato, funzionerà solo con le due coppie di valute specificate nelle sue impostazioni:

Parametri:

1. Nome della prima coppia di valute (EURUSD)

2. Lotto per la prima coppia (0.1)

3. Tipo di ordine per la prima (Buy)

4. Spread minimo per il primo In PIPS 5. al quale l'Expert Advisor si attiverà (2)

5. Nome della seconda coppia di valute (GBPUSD)

6. Lotto due (0,1)

7. Tipo di ordine secondo (Sell)

8. Spread minimo per il secondo In PIPSAH 5 segno al quale l'advisor si attiverà (2)

9. Profitto totale di entrambe le coppie nellavaluta di deposito(o percentuale. se è più facile) per chiudere entrambi gli ordini in una volta

10. Orario di inizio delle negoziazioni martedì 00-00

11. Orario di chiusura giovedì 23-59

 
Vladimir Karputov:

Facile! L'Expert Advisor apre una posizione BUY o SELL con un determinato volume:

Grazie mille per la velocità!

Ma mi serve per aprire un ordine all'apertura di una barra, prendere un profitto e aspettare l'apertura di una nuova barra.

File:
image.png  68 kb
 

Salve cari programmatori, vi chiedo di scrivere un EA basato sull'indicatore per aprire un ordine, ma c'è un paradosso, abbiamo bisogno che l'EA apra un ordine non solo sull'indicatore di segnale, ma anche in certi momenti (per esempio, se l'indicatore ha dato un segnale all'inizio della formazione della candela, diciamo dalle 15:00 alle 15:01 allora questo segnale è considerato valido e l'EA apre l'ordine) (se l'indicatore di segnale riceve 15:02 allora il segnale NON è valido e il Consiglio non apre l'ordine)

 
Buon tempo cari codificatori! Sarebbe così gentile da scrivere un EA per questo indicatore. L'expert advisor apre un ordine su un segnale dalla freccia, cioè sulla prossima candela, il tempo di esecuzione dell'ordine è una candela, cioè si apre e si chiude sulla prossima candela. La fermata non è necessaria. E tutte leimpostazioni dell'indicatore sono state inserite nell'EA. Grazie in anticipo!
File: