MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1852

 
Mihail Matkovskij #:

でも、リスクは高まります。マーチンもそうですし、平均化など類似の戦略もそうです。しかし、すべて理解した人が賢く使うことができます。

逆に言えば、リスクを減らすことができるのです。ここで、正しいヘッジ資産を選択すれば、私たちはぐっすり眠ることができるのです。しかし、平均化すると、睡眠が妨げられることが多いのです。

 
Mihail Matkovskij #:

どんなロットでどんな利益が出るかにもよるが...。ポジションを利益順に並べた方が良いと思う。そして、一番太っているものから閉めてください

信号のカーブをきれいに描くことと、"リカバリー・ファクター "をカットすることは同じですが、何のためにするのかによりますね(笑)。

 
Vitaly Muzichenko #:

逆に言えば、リスクを減らすことができるのです。ここでは、ヘッジ資産をおおよそ正しく選択する必要があり、あなたはよく眠ることができます。しかし、アベレージングでは、睡眠が妨げられることが多いのです。

え...そのために追加でアセットが必要なんですか?面白い...リスクとロスの分散みたいですね...。

私は、ヘッジとは同じ商品のポジションを反対にすることだと思っていました。

 
Mihail Matkovskij #:

ああ...そのためには追加のアセットが必要なんですね?面白い...リスクとロスの分散みたいですね...。

ヘッジとは、同じ商品のポジションを反対に することだと思っていました。

ロック(lock)です、ロックという言葉から。

 
Tretyakov Rostyslav #:
チェック

Rostislavさん、おはようございます!!!

昨日の変更について、そのロジックが理解できないので、コメントをお願いします。

//-------------------------------------------------------------------+
   Spread       = MarketInfo(Symbol(),MODE_SPREAD)*Point;
   MinLot       = MarketInfo(Symbol(),MODE_MINLOT);
   Balance      = AccountInfoDouble(ACCOUNT_BALANCE);
   FreeMargin   = AccountInfoDouble(ACCOUNT_MARGIN_FREE);
   avg_buy      = ObjectGetDouble(0,"AveragePriceLine0",OBJPROP_PRICE);
   avg_sell     = ObjectGetDouble(0,"AveragePriceLine1",OBJPROP_PRICE);
   Drawdown     = (Balance - FreeMargin)/Balance*100;
//-------------------------------------------------------------------+  Команда на удаление линий отображающую среднюю цену и текста
   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      if(ObjectFind(0,"signal4")==0&&CountTrade(0)<1)//для бай
        {
         ObjectDelete(0,"signal4");
        }
      if(ObjectFind(0,"signal3")==0&&CountTrade(1)<1)//для селл
        {
         ObjectDelete(0,"signal3");
        }
     }
 
EVGENII SHELIPOV #:

Rostislavさん、おはようございます!!!

昨日の変更について、そのロジックが理解できないので、コメントをお願いします。


未決済注文がない場合flag_close は "0" を取得します。

   if(CountTrade() == 0)
     {
      flag_close=0;

flag_close=0 のとき、 ClosseAll() へのリクエストは停止する。

 
Tretyakov Rostyslav #:

未決済注文がない場合、flag_closeは"0 "を受け取ります。

flag_close=0 のとき、 ClosseAll() リクエストは停止 する。

はい、了解しました。

オブジェクトを削除するときに必要です。

面白いのは、この場所にフラグがロックされていると、Expert Advisorが変になることです

 
EVGENII SHELIPOV #:

はい、それはわかりました。

オブジェクトを削除するときに必要な理由。

面白いのは、この場所でフラグをブロックすると、Expert Advisorが変なことをし始めることです。

これは、オブジェクトの削除とは関係ありません

注文がないことを判断するものである

   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      if(ObjectFind(0,"signal4")==0&&CountTrade(0)<1)//для бай
        {
         ObjectDelete(0,"signal4");
        }
      if(ObjectFind(0,"signal3")==0&&CountTrade(1)<1)//для селл
        {
         ObjectDelete(0,"signal3");
        }
     }

注文がないことを前提とした社内業務であれば、どのような業務でも可能です

それに、この部分には不必要なものがたくさんあります。

このバリアントは、前のバリアントと同じことをします。

   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      ObjectDelete(0,"signal4");
      ObjectDelete(0,"signal3");
     }
 
Tretyakov Rostyslav #:

オブジェクトを削除することと、どう関係があるのでしょうか

注文がないかを判断することです。

で、内部では命令を必要としないあらゆる操作を行うことができます。

それに、この部分には不必要なものがたくさんあります。

このバリアントは、前のバリアントと同じことをします。

わかったぞ、ロスティスラフ。

この関数でフラグをブロックすると、EAが一度に100~200の注文を開いたり閉じたりし始めるのはなぜなのか理解できません。

 
Vitaly Muzichenko #:

ロック(lock)です、ロックという言葉から。

でも、鍵は同じロットで開くんですよ。そして、異なる指示の2つの注文が同時に開かれる。ヘッジとは、ある取引がドローダウンになったときに、トレーダーが同じ方向(私は異なる方向と混同しました)に大きなロットでポジションを持ち、価格が反転して大きなロットの取引で利益を上げ、小さなロットの取引で損失をカバーするか平均0にすることを意味するものです。