初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 111

 

   felidae: 
Нет, всё в порядке, просто я дал случайно свою ссылку. Ваша должна быть по идее такая: https://www.mql5.com/ru/users/vik1991/accounting/chooseout

返信ありがとうございます。収益を上げる方法、あるいは需要が増えるのを待つしかないのでしょうか?

 

MQL5ウィザードをベースにしたEAで、ポジションを増やす(リフィルする)方法を教えてください。

virtual int LongCondition();
virtual int ShortCondition()
;

以下の記事を参考に、ロボットを書いてみました。

https://www.mql5.com/ru/articles/367"Create a trading robot in 6 steps" で問題なく動作していますが、ポジションサイズに影響を与えようとすると

(の状態を繰り返し発生させることで、(それが増えるか減るかは)、例えば

LongCondition()です。

すでにオープンしているポジションは変更されず、sl , tpのトリガー時にのみ削除されます。

MQL5 Wizardは、マルチインディケーターEAの「構築」、slトラッキングモジュールの変更、マネーマネジメントモジュールの変更などを素早く簡単に行うことができ、気に入っています。

しかし、私の試みは、ある指標でトレンドが確認されると最小限のポジションを開き、別の指標でトレンドが確認されるとポジションを増やす(増やす)EAを書くことである

既にオープンしているポジションが、LongCondition() などでオープンのシグナルを再発行しても変更されないという、以前説明した問題に遭遇しました。

Создай торговый робот за 6 шагов!
Создай торговый робот за 6 шагов!
  • 2012.06.01
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
 
こんにちは、「数学的計算」モードの使い方がわかりません、できればコード例を見るか、どこにあるか教えてください
 

FXツールだけ残しておきたい、コードは問題なく動作する

   for(int i=0;i<=SymbolsTotal(false);i++)
     {
      if(SymbolInfoInteger(SymbolName(i,false),SYMBOL_TRADE_MODE)==SYMBOL_TRADE_MODE_FULL && SymbolInfoInteger(SymbolName(i,false),SYMBOL_TRADE_CALC_MODE)==SYMBOL_CALC_MODE_FOREX && SymbolInfoDouble(SymbolName(i,false),SYMBOL_ASK)-SymbolInfoDouble(SymbolName(i,false),SYMBOL_BID)<50*SymbolInfoDouble(SymbolName(i,false),SYMBOL_POINT))
        {
         SymbolSelect(SymbolName(i,false),true);
        }
      else SymbolSelect(SymbolName(i,false),false);
     }

しかし、テスターで実行するとすぐに次の機器の履歴をロードしてしまい、ロードできません。 テスターで無効にするにはどうすればよいのでしょうか?

2013.04.04 14:09:21 Core 1 GBOTEURUSD17DEC2012: 履歴の同期が開始されました。

 
Yuriy2019:

MQL5ウィザードをベースにしたEAで、ポジションを増やす(リフィルする)方法を教えてください。


残念ながら、おっしゃるようなケースは、ここ(フォーラム内)では「改善」の範疇に入ります。

この問題を解決するには、Expert Advisorの動作を変更する必要があります。そのためには

1.CExpert クラスを 継承した新しいクラス(例えば CMyExpert)を作成する必要があります。

2.その中のProcessingメソッドを再読み込みし、動作を変更する。

3.Expert Advisor のソースコードにあるインクルードファイルを(手動で)置き換える。

#include <Expert\Expert.mqh>

まで

#include <Expert\MyExpert.mqh>

4.Expert Advisor のソースコード内のクラス名を(手動で)置き換えます。

CExpert ExtExpert;

まで

CMyExpert ExtExpert;

授業例を添付します。未決済のポジションがあり、それに対する操作がない場合のメソッドからの退出がコメントされています(53行目)。

ウィザードでExpert Advisorを「再生」するたびに、3.と4.を忘れずに行ってください。

PS ご不明な点があれば、ご連絡ください。

Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert
Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert
  • www.mql5.com
Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert - Документация по MQL5
ファイル:
MyExpert.mqh  4 kb
 
サーバー、アカウント番号、パスワードを入力しても、ログに以下のように表示されます。 2013.04.05 12:51:20 ネットワーク '68712': 208.64.66.68:443 への接続が失われました。
別のサーバーでも試してみましたが、同じでした。何が間違っているのでしょうか?
 
uncleVic:

残念ながら、あなたのおっしゃるケースは、ここ(フォーラム)でいうところの「ファインチューニング」の範疇に入るものです。

問題を解決するためには、専門家の行動を変える必要があります。そのためには

1.CExpert クラスを 継承した新しいクラス(例えば CMyExpert)を作成する必要があります。

2.その中のProcessingメソッドを再読み込みし、動作を変更する。

3.Expert Advisor のソースコードにあるインクルードファイルを(手動で)置き換える。

まで

4.Expert Advisor のソースコード内のクラス名を(手動で)置き換えます。

まで

クラス例を添付します。未決済のポジションがあり、それに対する操作がない場合のメソッドからの終了がコメントアウトされています(53行目)。

ウィザードでExpert Advisorを「再生」するたびに、手順3および4を忘れずに行ってください。

PS ご不明な点があれば、お気軽にお問い合わせください。

ありがとうございました!すべてうまくいきました。他の指標でトレンドが確認されると、同じボリュームが追加されます。

さて、もう一つ質問があります。"add "のサイズを変更することは可能でしょうか?例えば、資金管理モジュールの標準ポジションサイズは0.1ですが、Expert Advisorで計算した0.3や0.35などを追加(「加算」)したいのです。

LongCondition() サブルーチンからトレードモジュールに「リフィル」サイズを渡すには

 
Yuriy2019:

ありがとうございました!うまくいきました。他のインディケータからのトレンド確認で同じ音量を追加する。

さて、もう一つ質問があるのですが、「シェア」のサイズを変更することは可能でしょうか?例えば、資金管理モジュールの標準ポジションサイズは0.1ですが、Expert Advisorで計算した0.3や0.35などを追加(「加算」)したいのです。

LongCondition() サブルーチンからトレードモジュールに「リフィル」サイズを渡すには

CExpertクラスは、メソッドを持ちます。

//+------------------------------------------------------------------+
//| Long position open or limit/stop order set                       |
//+------------------------------------------------------------------+
bool CExpert::OpenLong(double price,double sl,double tp)
  {
   if(price==EMPTY_VALUE) return(false);
//--- get lot for open
   double lot=LotOpenLong(price,sl);
//--- check lot for open
   if(lot==0.0) return(false);
//---
   return(m_trade.Buy(lot,price,sl,tp));
  }
//+------------------------------------------------------------------+
//| Short position open or limit/stop order set                      |
//+------------------------------------------------------------------+
bool CExpert::OpenShort(double price,double sl,double tp)
  {
   if(price==EMPTY_VALUE) return(false);
//--- get lot for open
   double lot=LotOpenShort(price,sl);
//--- check lot for open
   if(lot==0.0) return(false);
//---
   return(m_trade.Sell(lot,price,sl,tp));
  }

クラスでオーバーロードし(Processingと同様)、ロット判定アルゴリズムを変更する。

Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert
Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert
  • www.mql5.com
Стандартная библиотека / Классы торговых стратегий / Базовые классы экспертов / CExpert - Документация по MQL5
 
uncleVic:

CExpertクラスは、メソッドを持ちます。

クラスでオーバーロードし(Processingと同様)、ロット検出アルゴリズムを変更する。

ありがとうございました。
 

始値で 動くというインジケーターがあります

コード

#property copyright "Ivanov A."
#property link      "aristocrat12@mail.ru"
#property version   "1.00"

#property description "TrendToTrend"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_plots   3
#property indicator_type1   DRAW_LINE
#property indicator_type2   DRAW_LINE
#property indicator_type3   DRAW_LINE


#property indicator_style1  STYLE_DASH
#property indicator_style2  STYLE_DASH
#property indicator_style3  STYLE_DASH


#property indicator_color1  Blue
#property indicator_color2  Red
#property indicator_color3  Yellow


#property indicator_applied_price PRICE_OPEN
//--- input param

input int InChPeriod = 14; //Line Trend long
input int InChPeriod2 =7; //Line Trend short

int ExChPeriod,ExChPeriod2,rCount;
//---- buffers

double CentreBuffer[],HorisontBuffer[],ShortBuffer[];
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
理由: