ФОРТС Прошу помощи - страница 25

 
не смог найти на форуме, может кто подскажет как все таки решить проблему с "неполное сведение FOK заявки"
 
anatolev:
не смог найти на форуме, может кто подскажет как все таки решить проблему с "неполное сведение FOK заявки"

Добрый день!

Вы считаете, что здесь все ясновидящие?

Как что-то можно подсказать Вам? Нет ни терминала МТ4 или МТ5,

ни кода, который Вы используете, посылая ордер, ни рынка ФОРТС или ФОРЕКС! 

 
Mikalas:

Добрый день!

Вы считаете, что здесь все ясновидящие?

Как что-то можно подсказать Вам? Нет ни терминала МТ4 или МТ5,

ни кода, который Вы используете, посылая ордер, ни рынка ФОРТС или ФОРЕКС!

Фортс, и терминал соответственно 5-ый код советника сгенерирован визардом, простые средние


 
anatolev:

А код где?

Как Вы отсылаете ордер?

P/S Код вставляется, нажав кнопку SRC 

 
Mikalas:

А код где?

Как Вы отсылаете ордер?

P/S Код вставляется, нажав кнопку 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();
  }
//+------------------------------------------------------------------+
Вот и код, как то так
 
Проблема, то есть то нет, вот только сейчас в качестве теста уменьшил рабочий таймфрейм(что бы почаще сигналило), и при совпадении условий, налили.
 
anatolev:
Проблема, то есть то нет, вот только сейчас в качестве теста уменьшил рабочий таймфрейм(что бы почаще сигналило), и при совпадении условий, налили.

У Вас проблема с экспирацией:

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

 Не может быть экспирации в БАРАХ, только datetime

 
Mikalas:

У Вас проблема с экспирацией:

 Не может быть экспирации в БАРАХ, только datetime

Понял, спасибо! А как в данном случае было бы верно, или эту строку можно исключать? или может ее поставить равной нулю, сейчас я опытным путём:) добился того что открывает маркетом на открытии второго бара после получения сигнала, поставил
input double         Signal_PriceLevel        =0.0;          // Price level to execute a deal
равным нулю, до этого было 4, я правильно понимаю что когда стояло 4 лимит ставился на 4 тика лучше рынка, а сейчас после установки ноля работает по рынку.
 
anatolev:
Понял, спасибо! А как в данном случае было бы верно, или эту строку можно исключать? или может ее поставить равной нулю, сейчас я опытным путём:) добился того что открывает маркетом на открытии второго бара после получения сигнала, поставил равным нулю, до этого было 4, я правильно понимаю что когда стояло 4 лимит ставился на 4 тика лучше рынка, а сейчас после установки ноля работает по рынку.

Извините, но все стандартные библиотеки "заточены" для работы на ФОРЕКС.

Я, да и многие другие, не используют их для работы на ФОРТС.

К сожалению, я не смогу Вам помочь в использовании стандартных библиотек

 

Поскольку Вы явно больше меня разбираетесь в автоторговле при помощи МТ, может ответите сразу на несколько вопросов.

1)Пример: робот открыл позицию и перенес ее на следующий торговый день, поскольку ночью биржа закрыта то я выключаю компьютер на ночь, утром перед началом торгов включаю, вопрос собственно в том увидит ли советник открытую им ранее сделку, после перезагрузки компьютера и соответственно терминала, и продолжит ли работу с позицией, переворот, трейлинг и т.п.

если да то как он это делает, посредством MagicNumber или еще как.

2) Если сделка открывается экспертом с одного компьютера, а потом выходит так что был запущен другой комп с тем же экспертом продолжит ли он работу начатую первым или же просто начнет торговать "с чистого листа"

Причина обращения: