ライブラリ: MT4Orders - ページ 66

 
fxsaber #:

コードを見せてください。

#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>

//+------------------------------------------------------------------+
//| スクリプト・プログラム開始機能|
//+------------------------------------------------------------------+
void OnStart()
  {
   
   //スロバキア
   double stopLoss = Ask-10*_Point;
   stopLoss = NormalizeDouble(stopLoss, _Digits);
   
   //TP
   double takeProfit = Ask+10*_Point;
   takeProfit = NormalizeDouble(takeProfit, _Digits);   

   int result=OrderSend(Symbol(), OP_BUY, 1, Ask, 30, stopLoss, takeProfit, "TEST", 2021, 0, clrMagenta);
   if(result<=0)
      {
         int err=GetLastError();
         Print("Error sending order Error Code: "+IntegerToString(err));         
      }
      Alert(result);
  }

mql5のOrderSend関数はブール値を返します。

mql4と同じように動作します。

ただ1つ、ライブラリ "MQL4_to_MQL5.mqh "でこの2つの警告が発生します。解決できますか?


 
mercanet #:

解決できるのか?

#include <MT4Orders.mqh>

#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

//+------------------------------------------------------------------+
//| スクリプト・プログラム開始機能|
//+------------------------------------------------------------------+
void OnStart ()
  {
   
   //SL
   double stopLoss = Ask- 10 * _Point ;
   stopLoss = NormalizeDouble (stopLoss, _Digits );
   
   //TP
   double takeProfit = Ask+ 10 * _Point ;
   takeProfit = NormalizeDouble (takeProfit, _Digits );   

   TICKET_TYPE result= OrderSend ( Symbol (), OP_BUY, 1 , Ask, 30 , stopLoss, takeProfit, "TEST" , 2021 , 0 , clrMagenta );
   if (result<= 0 )
      {
         int err= GetLastError ();
         Print ( "Error sending order Error Code: " + IntegerToString (err));         
      }
       Alert (result);
  }
 
fxsaber #:
同期は 非常に良いが、完璧ではない。いつかこのトピックに手を加えるべきだろう...。

素晴らしいライブラリだが、唯一の問題はバージョン管理だ。なぜGithubに置かないの?デスクトップのGithubでは、ユーザーが新しいバージョンをアップロードしたことが強調表示されます。

MT4Orders
MT4Orders
  • www.mql5.com
Параллельное использование ордерных систем MetaTrader 4 и MetaTrader 5.
 
Vladimir Perervenko #:

素晴らしいライブラリだが、唯一の問題は(私が見たところ)バージョン管理だ。なぜGithubに置かないのですか?変更を加える - デスクトップのGithubではハイライトされ、ユーザーは新しいバージョンをアップロードする。

ありがとう。現在のバージョン(すべてのKB言語)が表示されるので、変更の予定はありません。

私はgithubを使っていません。ここでのアップデートは「自分用」という位置づけです。

 
fxsaber #:

現在のバージョンは(すべてのMQ言語で)変更の予定がないように表示されます。

躊躇しないでください、MQはあなたをリラックスさせません ))
 

取引、自動取引システム、取引戦略のテストに関するフォーラム

mql5言語の特殊性、作業の微妙さとテクニック

fxsaber, 2021.09.16 18:44

そのため、ロールオーバーを一度も通過していない最小ポジションには大きなスワップがつく可能性があります。また、ロールオーバーを通過したことがある大きなポジションのスワップはゼロです。

それに応じてクローズポジションの OrderSwap() に影響を与える別の MT5 機能。MT4のCloseByと同じ状況かどうかは確認していない。

 
繰り返しますが、SELECT_BY_TICKETの使用は お勧めしません。MT5では、チケットには曖昧さがあります。
 

おそらく、SBのバグが修正されたb3080でライブラリを再コンパイルした方が良いだろう。

つまり、いくつかのケースでは、b2958で実行さ れます。

 

ところで、ジャーナリングを無効にするにはどうすればいいのでしょうか? そうすれば、ログへの書き込みが少なくなります。印刷とか

ライブラリはおしゃべりで、バックグラウンドでいろいろなことが失われるから。

 
Maxim Kuznetsov プリント

というのも、ライブラリーはおしゃべりで、バックグラウンドでいろいろなことが失われてしまうからです。

取引、自動取引システム、取引戦略のテストに関するフォーラム

ライブラリ: MT4Orders

fxsaber, 2019.04.29 15:19

製品でMT4Ordersの使用を暗黙の了解にしておく必要がある場合、ライブラリソースの関連部分をカットするか、ユニバーサルスタブを置くことができます。
// マクロにより、MT4Orders の存在に関するヒントを遮断する。
#define Alert PrintTmp
#define Print PrintTmp
  void PrintTmp( string ) {}
  
  #include <MT4Orders.mqh> //https://www.mql5.com/ja/code/16006
#undef  Print
#undef  Alert