FORTS Bitte helfen Sie - Seite 25

 
Kann mir jemand sagen, wie ich das Problem der "unvollständigen Konvergenz der FOK-Anwendung" lösen kann, da ich es nicht im Forum finden konnte?
 
anatolev:
Ich konnte es im Forum nicht finden, vielleicht kann mir jemand sagen, wie ich das Problem mit der "unvollständigen FOK-Reihenfolge" lösen kann.

Guten Tag!

Glauben Sie, dass jeder hier hellsichtig ist?

Wie kann ich Ihnen etwas sagen? Es gibt kein MT4- oder MT5-Terminal,

Kein Code, den Sie beim Senden einer Bestellung verwenden, kein FORTS oder FOREX-Markt!

 
Mikalas:

Guten Tag!

Glauben Sie, dass jeder hier hellsichtig ist?

Wie kann ich Ihnen etwas sagen? Es gibt kein MT4- oder MT5-Terminal,

Kein Code, den Sie beim Senden einer Bestellung verwenden, kein FORTS oder FOREX-Markt!

Forts, und das Terminal bzw. der 5. EA-Code wird vom Assistenten generiert, einfache Durchschnittswerte


 
anatolev:

Wo ist der Code?

Wie schicken Sie die Bestellung ab?

P/S Der Code wird durch Drücken der SRC-Taste eingegeben

 
Mikalas:

Wo ist der Code?

Wie schicken Sie die Bestellung ab?

P/S Der Code wird durch Drücken der SRC-Taste eingegeben

//+------------------------------------------------------------------+
//|                                                   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();
  }
//+------------------------------------------------------------------+
Hier ist der Code, etwa so
 
Das Problem tritt immer wieder auf, nur habe ich jetzt testweise den Arbeitszeitraum reduziert (damit es öfter signalisiert), und wenn die Bedingungen zusammentreffen, schüttet es.
 
anatolev:
Das Problem ist, dann ist es nicht, gerade jetzt als ein Test reduziert die Arbeitsgruppe Zeitrahmen (so dass es Signal würde öfter), und wenn die Bedingungen zusammenfallen, gegossen.

Sie haben ein Problem mit dem Verfallsdatum:

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

In BARs kann es keine Verfallsdaten geben, nur Datumsangaben

 
Mikalas:

Sie haben ein Problem mit dem Verfallsdatum:

In BARs kann es kein Verfallsdatum geben, nur ein Datum.

Verstanden, danke! Und wie in diesem Fall wäre richtig, oder diese Zeile kann ausgeschlossen werden? Oder vielleicht kann es gleich Null gesetzt werden, jetzt habe ich erlebt:) erreicht, dass die Markierung bei der Eröffnung der zweiten Bar nach dem Signal öffnet, setzen
input double         Signal_PriceLevel        =0.0;          // Price level to execute a deal
Es war 4. Ich sollte richtig verstanden haben, wenn ich 4, das Limit wurde 4 Ticks besser als der Markt eingestellt, jetzt funktioniert es wie der Markt tut.
 
anatolev:
Ich habe es verstanden, danke! Wenn ich einen Marker auf die Eröffnung des zweiten Balkens nach dem Signal setzen wollte, setzte ich ihn auf Null, vorher war es 4. Verstehe ich das richtig, wenn ich 4 hatte, war das Limit auf 4 Ticks besser als der Markt eingestellt, und jetzt, wenn ich Null setze, funktioniert es wie der Markt?

Es tut mir leid, aber alle Standardbibliotheken sind auf die Arbeit mit FOREX "abgestimmt".

Ich und viele andere benutzen sie nicht, um auf FOREX zu arbeiten.

Leider kann ich Ihnen bei der Verwendung der Standardbibliotheken nicht helfen.

 

Da Sie offensichtlich mehr über den automatisierten Handel mit MT wissen als ich, können Sie vielleicht ein paar Fragen auf einmal beantworten.

1) Beispiel: Mein Roboter hat eine Position eröffnet und auf den nächsten Handelstag verschoben. Da der Markt nachts geschlossen ist, schließe ich den Computer für die Nacht und schalte ihn morgens vor dem Handel wieder ein. Die Frage ist: Wird der Roboter die zuvor eröffnete Position nach dem Neustart des Computers und des Terminals sehen und wird er weiter an der Position arbeiten, drehen, trailen usw.?

Wenn ja, wie wird dies erreicht, durch die MagicNumber oder auf andere Weise?

2) Wenn ein Handel durch den Expert Advisor von einem Computer aus eröffnet wird und dann ein anderer Computer mit demselben Expert Advisor gestartet wird, wird dann die Arbeit fortgesetzt, die vom ersten Computer aus begonnen wurde, oder beginnt der Handel einfach "von vorne"?

Grund der Beschwerde: