FORTALEZAS Por favor, ayuda - página 25

 
No lo he encontrado en el foro, ¿alguien puede decirme cómo resolver el problema de la "convergencia incompleta de la aplicación FOK"?
 
anatolev:
No lo he encontrado en el foro, tal vez alguien me diga cómo solucionar el problema del "orden FOK incompleto".

¡Buenas tardes!

¿Crees que todo el mundo aquí es clarividente?

¿Cómo puedo decirte algo? No hay terminal MT4 o MT5,

No hay ningún código que se utilice al enviar una orden, ni FORTS ni mercado de divisas.

 
Mikalas:

¡Buenas tardes!

¿Crees que todo el mundo aquí es clarividente?

¿Cómo puedo decirte algo? No hay terminal MT4 o MT5,

No hay código que se utilice al enviar una orden, ¡no hay FORTS ni mercado de divisas!

Forts, y el terminal respectivamente el 5º código EA es generado por el asistente, promedios simples


 
anatolev:

¿Dónde está el código?

¿Cómo se envía el pedido?

P/S El código se introduce pulsando el botón SRC

 
Mikalas:

¿Dónde está el código?

¿Cómo se envía el pedido?

P/S El código se introduce pulsando el botón SRC

//+------------------------------------------------------------------+
//|                                                   CrossMA(3).mq5 |
//|                                                             stas |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "stas"
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include <Expert\MyFirstSignal\Ma_Cross.mqh>
//--- available trailing
#include <Expert\Trailing\TrailingNone.mqh>
//--- available money management
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
//--- inputs for expert
input string         Expert_Title             ="CrossMA(SI)"; // Document name
ulong                Expert_MagicNumber       =13607;        // 
bool                 Expert_EveryTick         =false;        // 
//--- inputs for main signal
input int            Signal_ThresholdOpen     =11;           // Signal threshold value to open [0...100]
input int            Signal_ThresholdClose    =10;           // Signal threshold value to close [0...100]
input double         Signal_PriceLevel        =4.0;          // Price level to execute a deal
input double         Signal_StopLevel         =300.0;         // Stop Loss level (in points)
input double         Signal_TakeLevel         =1000.0;         // Take Profit level (in points)
input int            Signal_Expiration        =4.0;            // Expiration of pending orders (in bars)
input int            Signal_MaCross_FastPeriod=8;           // My_MA_Cross(13,MODE_SMA,21,...) Period of fast MA
input ENUM_MA_METHOD Signal_MaCross_FastMethod=MODE_SMA;     // My_MA_Cross(13,MODE_SMA,21,...) Method of fast MA
input int            Signal_MaCross_SlowPeriod=21;           // My_MA_Cross(13,MODE_SMA,21,...) Period of slow MA
input ENUM_MA_METHOD Signal_MaCross_SlowMethod=MODE_SMA;     // My_MA_Cross(13,MODE_SMA,21,...) Method of slow MA
input double         Signal_MaCross_Weight    =1.0;          // My_MA_Cross(13,MODE_SMA,21,...) Weight [0...1.0]
//--- inputs for money
input double         Money_FixLot_Percent     =0.0;          // Percent
input double         Money_FixLot_Lots        =1.0;          // Fixed volume
//+------------------------------------------------------------------+
//| Global expert object                                             |
//+------------------------------------------------------------------+
CExpert ExtExpert;
//+------------------------------------------------------------------+
//| Initialization function of the expert                            |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Initializing expert
if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Creating signal
   CExpertSignal *signal=new CExpertSignal;
   if(signal==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating signal");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//---
   ExtExpert.InitSignal(signal);
   signal.ThresholdOpen(Signal_ThresholdOpen);
   signal.ThresholdClose(Signal_ThresholdClose);
   signal.PriceLevel(Signal_PriceLevel);
   signal.StopLevel(Signal_StopLevel);
   signal.TakeLevel(Signal_TakeLevel);
   signal.Expiration(Signal_Expiration);
//--- Creating filter MA_Cross
MA_Cross *filter0=new MA_Cross;
if(filter0==NULL)
  {
   //--- failed
   printf(__FUNCTION__+": error creating filter0");
   ExtExpert.Deinit();
   return(INIT_FAILED);
  }
signal.AddFilter(filter0);
//--- Set filter parameters
filter0.FastPeriod(Signal_MaCross_FastPeriod);
filter0.FastMethod(Signal_MaCross_FastMethod);
filter0.SlowPeriod(Signal_MaCross_SlowPeriod);
filter0.SlowMethod(Signal_MaCross_SlowMethod);
filter0.Weight(Signal_MaCross_Weight);
//--- Creation of trailing object
  CTrailingNone *trailing=new CTrailingNone;
   if(trailing==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Add trailing to expert (will be deleted automatically))
   if(!ExtExpert.InitTrailing(trailing))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Set trailing parameters
//--- Creation of money object
CMoneyFixedLot *money=new CMoneyFixedLot;
   if(money==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Add money to expert (will be deleted automatically))
   if(!ExtExpert.InitMoney(money))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Set money parameters
money.Percent(Money_FixLot_Percent);
money.Lots(Money_FixLot_Lots);
//--- Check all trading objects parameters
   if(!ExtExpert.ValidationSettings())
     {
      //--- failed
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Tuning of all necessary indicators
   if(!ExtExpert.InitIndicators())
     {
      //--- failed
      printf(__FUNCTION__+": error initializing indicators");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- ok
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Deinitialization function of the expert                          |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ExtExpert.Deinit();
  }
//+------------------------------------------------------------------+
//| "Tick" event handler function                                    |
//+------------------------------------------------------------------+
void OnTick()
  {
   ExtExpert.OnTick();
  }
//+------------------------------------------------------------------+
//| "Trade" event handler function                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
   ExtExpert.OnTrade();
  }
//+------------------------------------------------------------------+
//| "Timer" event handler function                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   ExtExpert.OnTimer();
  }
//+------------------------------------------------------------------+
Aquí está el código, así
 
El problema es intermitente, sólo que ahora he reducido el plazo de trabajo como prueba (para que señalara más a menudo), y cuando las condiciones coinciden, llueve.
 
anatolev:
El problema es que entonces no lo es, justo ahora como prueba redujo el plazo de trabajo (para que señalara más a menudo), y cuando las condiciones coinciden, vertió.

Tiene un problema de caducidad:

input int            Signal_Expiration        =4.0;            // Expiration of pending orders (in bars)

No puede haber caducidad en las barras, sólo fecha

 
Mikalas:

Tiene un problema de caducidad:

No puede haber caducidad en las barras, sólo fecha

Lo tengo, ¡gracias! Y como en este caso sería correcto, o esta línea se puede excluir? O tal vez se puede establecer igual a cero, ahora he experimentado:) logró que se abre el marcador en la apertura de la segunda barra después de la señal, poner
input double         Signal_PriceLevel        =0.0;          // Price level to execute a deal
era 4. Debí entenderlo bien, cuando puse 4, el límite estaba puesto 4 ticks mejor que el mercado, ahora funciona como el mercado.
 
anatolev:
Lo tengo, ¡gracias! Si quería poner un marcador en la apertura de la segunda barra después de la señal, lo puse igual a cero. Antes era 4, entendí bien, cuando ponía 4, el límite era 4 ticks mejor que el mercado, y ahora cuando pongo cero, funciona como el mercado.

Lo siento, pero todas las bibliotecas estándar están "ajustadas" para funcionar en FOREX.

Yo, y muchos otros, no los utilizamos para trabajar en FOREX.

Lamentablemente, no puedo ayudarte a utilizar las bibliotecas estándar.

 

Como es obvio que usted sabe más que yo sobre el trading automatizado con MT, tal vez pueda responder a unas cuantas preguntas de una vez.

1) Ejemplo: Mi robot abrió una posición y la trasladó al siguiente día de negociación. Como el mercado está cerrado por la noche, cierro el ordenador por la noche y lo enciendo por la mañana antes de negociar, la pregunta es: ¿verá el robot la posición abierta antes después de reiniciar el ordenador y el terminal y seguirá trabajando en la posición, girando, trailing, etc.?

Si es así, ¿cómo lo hace, a través del MagicNumber o de otra manera?

2) Si el Asesor Experto abre una operación desde un ordenador, y luego se inicia otro ordenador con el mismo Asesor Experto, ¿continuará el trabajo iniciado por el primero o simplemente comenzará a operar "desde cero"?

Razón de la queja: