MT5用フル機能ロボット - ページ 5

 

おはようございます。

テスターがポジションをオープンしたくない場合、エラーが発生します。

err_trade_send_failed

4756

取引要求の送信に失敗しました

Rbtg_NYCInclude テスター

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

ここで修正すべきことがあると思います

Rbtg_NYCInclude kod

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

では、この関数を次の関数に置き換えてみます。

//+------------------------------------------------------------------+
//| Check for long position opening                                  |
//+------------------------------------------------------------------+
bool CSampleExpert::LongOpened(void)
  {
   bool res=false;
//--- check for long position (BUY) possibility

           {
            double price=m_symbol.Ask();
            double tp   =m_symbol.Bid()+m_take_profit;
            //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_BUY,InpLots,price)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
              {
               //--- open position
               if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,0.0,tp))
                  printf("Position by %s to be opened",Symbol());
               else
                 {
                  printf("Error opening BUY position by %s : '%s'",Symbol(),m_trade.ResultComment());
                  printf("Open parameters : price=%f,TP=%f",price,tp);
                 }
              }
            //--- in any case we must exit from expert
            res=true;
           }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+
//| Check for short position opening                                 |
//+------------------------------------------------------------------+
bool CSampleExpert::ShortOpened(void)
  {
   bool res=false;
//--- check for short position (SELL) possibility

           {
            double price=m_symbol.Bid();
            double tp   =m_symbol.Ask()-m_take_profit;
            //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_SELL,InpLots,price)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
              {
               //--- open position
               if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,InpLots,price,0.0,tp))
                  printf("Position by %s to be opened",Symbol());
               else
                 {
                  printf("Error opening SELL position by %s : '%s'",Symbol(),m_trade.ResultComment());
                  printf("Open parameters : price=%f,TP=%f",price,tp);
                 }
              }
            //--- in any case we must exit from expert
            res=true;
           }
//--- result
   return(res);
  }
//+------------------------------------------------------------------+
 
SanAlex:

おはようございます。

テスターがポジションをオープンしようとせず、エラーになる

err_trade_send_failed

4756

取引要求の送信に失敗しました

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

ここは何か修正する必要があると思います。


はい。それは彼らのためにあなたのディーラー-Forexclubです注文タイプ FilingFock。犬と散歩がてら直します。forexclubに他に人がいるとは思わなかった...。

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Свойства ордеров - Торговые константы - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
ElenaFxPro4:

はい。それは、彼らがFilingFoc注文タイプを持って いるためにあなたのディーラー- Forexclubです。犬と散歩がてら直します。forexclubに他に人がいるとは思わなかった...。

充填モードは、FX業者の名前からではなく、ルールで設定する必要があります。


追加されました。

CTradeのトレードクラスで例を見ることができます。

マージンモード設定

現在の口座設定に応じた証拠金計算のモードを設定する

SetTypeFillingBySymbol(タイプフィリングバイシンボル)。

指定されたシンボルの設定にしたがって、注文タイプを設定する

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetMarginMode
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / SetMarginMode
  • www.mql5.com
SetMarginMode - CTrade - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
ElenaFxPro4:

はい。それは、彼らがFilingFoc注文タイプを持って いるためにあなたのディーラー- Forexclubです。犬と散歩がてら直します。forexclubに他に人がいるとは思わなかった...。

気がつかなかった - 確かにあなたはまだここにブローカーを持っている

Rbtg_NYCInclude kod 01

 

効いてますね。

Rbtg_NYCIncludeテスター01

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

         ENUM_ORDER_TYPE_FILLING TypeFilling = ORDER_FILLING_FOK;
         if (AccountInfoString(ACCOUNT_COMPANY)=="Alpari") TypeFilling = ORDER_FILLING_IOC;

スワップされた -----------。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

今のところ問題なく動作しているようです。

写真345

 
SanAlex:

効いてますね。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

スワップされた -----------。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

今のところ問題なく動作しているようです。


アルゴリズムによる事前テストが行われることで、結果は同じなのでしょうか?
 
Renat Akhtyamov:
アルゴリズムで事前にテストしているので、結果は同じなのでしょうか?

まだ1分間テスト中なんですが......パソコンが弱いので、テストが遅いんです。

一見良さそうに見えますが、最終的にどのような仕上がりになるのか、見てみましょう。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

エキスパートテスターでエラーなし

 
SanAlex:

おはようございます。

テスターがポジションをオープンしたくない場合、エラーが発生します。

err_trade_send_failed

4756

取引要求の送信に失敗しました

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

ここで修正すべきことがあると思います

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

この機能に置き換えてみる。

その必要はありません。

119行目は if (AccountInfoString(ACCOUNT_COMPANY)=="Alpari" || AccountInfoString(ACCOUNT_COMPANY)=="Forex Club International Limited") TypeFilling =ORDER_FILLING_FOK.FOK とすること。

であり、AUTOOrderSELLについても同様である。以上です。:)


 
ElenaFxPro4:

必要ない。

119行目は if (AccountInfoString(ACCOUNT_COMPANY)=="Alpari" || AccountInfoString(ACCOUNT_COMPANY)=="Forex Club International Limited") TypeFilling =ORDER_FILLING_FOK.FOK とすること。

であり、AUTOOrderSELLについても同様である。以上です。:)


とりあえずこのままにしておきます。テスト終了後に修正します

- テスターを止めたくない

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

ただ一つ悪いのは、今テストが行われていて、ここでやりすぎているような気がします。

写真3456

 
Vladimir Karputov:

フィルモードは、FX業者の名前からではなく、ルールで設定する必要があります。


追加されました。

CTradeのトレードクラスで例を見ることができます。

マージンモード設定

現在の口座設定に応じた証拠金計算のモードを設定する

SetTypeFillingBySymbol(タイプフィリングバイシンボル)。

指定されたシンボルの設定にしたがって、注文タイプを設定する

ありがとうございました。そのため、このパッチでは、ブローカーに対して、どのモードを使うべきかを簡単に説明しました :)まだ2人です。リメイクありがとうございます。