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

 
Vladimir Karputov:

では、チャートの一番上から十字線を下にドラッグしてみましょう ...

(1250,761-1193,590)/1250,761*100 = 4,570897237762


 
Igor Zakharov:

(1250,761-1193,590)/1250,761*100 = 4,570897237762

ただ、今はニュアンスが違っていて、高く引き始めて、低く終わったので、グラフのパーセンテージは「-」の記号で表示されています。私にとっては、より有益な情報です。

 
Vladimir Karputov:

まあ、電卓があることを忘れているわけではないんでしょうけど。自分で何か計算するくらいできないのか?


追記:電卓が重い場合は、再度お見積もりさせていただきます。

ターミナル:十字線ツールは、価格レベル間の距離を ピップ数だけでなく、パーセンテージでも 表示するようになりました。

電卓に問題はありませんし、これまでもそうでした。

しかし、"Percentage "は、あらかじめ決められた値全体=100%に対する、何かの割合です。

では、価格水準間の距離 は、何に対してのパーセンテージ なのか?

https://ru.wikipedia.org/wiki/Процент

 
Anzhela Sityaeva:

では、価格水準間の距離 は、何パーセント なのか?

初値(十字キーをドラッグしている場所)との相対的な関係。

 
Igor Zakharov:

開始価格(十字線をドラッグした場所)に対しての相対値です。

ドラッグする場所=100%、止める場所=0%とすると、結果=100%となる
 
Anzhela Sityaeva:
ドラッグする場所=100%、止める場所=0%とすると、結果=100%となる

お客様がこれを読んでいないことを祈りますが...。

0%(ただし、0は絶対値
 
Igor Zakharov:

お客様がこれを読んでいないことを祈りますが...。

0%は、0が絶対のところです。

そうですね...金曜日は、私一人でないのが幸いです。もっと簡単に言うと、計測を開始した時点の価格を100%とする、ということなのですが。

 

MT5でのEAを完成させるためにご協力お願いします)))

固定ロットとリスクロットを選択できるようにした...テスターではすべてうまくいくのですが、ターミナルでは、リスクロットを選択すると、EAがチャートから外れてしまいます...。

   double dfg, ifg;
   dfg = AccountInfoDouble(ACCOUNT_MARGIN_FREE);
   ifg = InpVolumeLotOrRisk;
   switch(IntLotOrRisk)
     {
      case MY_FIXLOT:
         InpLots= InpLotsfix;
         break;

      case MY_RISKLOT:
         InpLots= dfg*ifg/25000;    // FreeMargin * %риска) / 100 * 250(средняя цена лота)
         break;

     }

このコードのビットの何が問題なのか))

追伸:ただ、数ページでリスク式の批判を始めるのはやめてほしいな~そんな変則的なものでも十分満足です)要は、ロット自体がバランスよく上がるということです)

 
Vlad Svetlov:

MT5でのEAを完成させるためにご協力お願いします)))

固定ロットとリスクロットを選択できるようにした...テスターではすべてうまくいくのですが、ターミナルでは、リスクロットを選択すると、EAがチャートから外れてしまいます...。

このコードのビットの何が問題なのか))

P.S.ちょうど数ページのリスク式を批判するために開始しないでください - 私はそのようなバリアントでかなり満足している)ロット自体がバランスの背後に上昇することを主なもの)

数学的な計算の 結果得られたロットを確認し、必要であれば丸めること。

機能を使っています。

//+------------------------------------------------------------------+
//| Lot Check                                                        |
//+------------------------------------------------------------------+
double LotCheck(double lots,CSymbolInfo &symbol)
  {
//--- calculate maximum volume
   double volume=NormalizeDouble(lots,2);
   double stepvol=symbol.LotsStep();
   if(stepvol>0.0)
      volume=stepvol*MathFloor(volume/stepvol);
//---
   double minvol=symbol.LotsMin();
   if(volume<minvol)
      volume=0.0;
//---
   double maxvol=symbol.LotsMax();
   if(volume>maxvol)
      volume=maxvol;
   return(volume);
  }

もし "0.0 "なら、それは計算されたロットが非常に小さいことを意味します。

 

皆さん、お疲れ様でした。

Exampleフォルダにある標準的なジグザグを描くと、この異常に気づきました。

違いは試験開始日だけです。どなたか、この歪みの原因と解決方法をご存じではありませんか?

理由: