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

 
Tretyakov Rostyslav #:

そして、象さんには気がつきませんでした)))未決済注文の終値は何円に相当すると思いますか?

そのようにやってみてください。

もうひとつの質問

ポイントでの利益の計算方法は、OrderProfit * Pointでしょうか?

 
Mihail Matkovskij #:

次に、SymbolInfoDoubleです。

なぜ、すぐにはダメなのか?

 
Alexander Avksentyev #:

もうひとつの質問

pipsでの利益計算は、OrderProfit * Pointでしょうか?

OrderProfit 純利益を 返します。(預入通貨での値)
Point-
現在の商品のポイントサイズ(建値通貨での値)。

すべて参考文献より

 
Andrey Sokolov #:

OrderProfit 純利益の 値を返します。(預入通貨での値)
Point - 現在の商品のポイントサイズ(気配値通貨での値)。

すべて参考文献より

そうですね、参考文献を読みました。

利益にPointをかけたら、0.00001以下になった。

 
Alexander Avksentyev #:

そうですね、参考文献を読みました。

利益をPointで掛けると0.00001以下になった。

不思議なもので

 
Alexander Avksentyev #:

もうひとつの質問

利益計算(pips)は、OrderProfit * Point ですか?

価格は20ピップを通過し、50$の利益を与えることができます。

5ポイントで通過できますが、利益は$80になります。

これは各シンボルに対して同じで、フランの場合、同じ通過のピップスでカナディアンより利益が大きくなります。

 
Artyom Trishkin #:

なぜ、すぐにはダメなのか?

ネットで簡単な例を書きました。編集部にも入りませんでした。アレクサンダーはプログラマーとしては素人なので、余計な複雑さは必要ないのです。上の彼のコードを見てください。しかし、マルチシンボル・ロボットの開発ということであれば、SymbolInfoDoubleを使用することができます。それを阻むのは誰ですか?

 
Mihail Matkovskij #:

SymbolInfoTick関数は、ティックデータを特別なMqlTick 構造体に書き込み、そのフィールドからティックデータを取得することができます。

おかげさまで

 

また、別の質問も出てきました。

隅にある銘板は私が作りました

//+-----------------------------------------------------------------------------------------------+
int OnInit()
  {
Start          = TimeCurrent();
MaxMartinLot   = Lot*MathPow(1.4,OrdersClose);
MaxMartinLot2  = Lot*MathPow(K_Martin2,OrdersClose2);
AC             = StringConcatenate(" ", AccountCurrency());
int Y          = 20;
DrawLABEL("lab_Take",1,5,Y,clrLime,"LOT: "); 
return(INIT_SUCCEEDED);
  }
//+-----------------------------------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }
//+-----------------------------------------------------------------------------------------------+
void OnTick()
  {
// Получим значение индикатора
   dMA = iMA(Symbol(), 0,PeriodMA, MovingShift, MODE_SMA, PRICE_CLOSE, 0); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.

// Если нет открытых ордеров, то входим в условие
      if(CountOrders()==0)
     {
// Если появился сигнал на покупку, то откроем ордер на покупку
      if(bSignalBuy() == true)
         vOrderOpenBuy();

// Если появился сигнал на продажу, то откроем ордер на продажу
      if(bSignalSell() == true)
         vOrderOpenSell();
     }
       DrawLABEL("lab_Take",1,5,0,Color(),StringConcatenate("LOT: ",DoubleToStr(LOT(),2)));  
  }

という警告が表示されます。

型変換によるデータ消失の可能

混ぜてしまったようです。

すべて順調

トランザクションがない場合は、1色のみ表示されます。

取引が開始されると、別の色が点灯します。

Color()はこのように設定します。

double Color()
  {
   double CL =clrRed;
   if(CountOrders()==0) CL =clrYellow;
   return(CL);
  }
ぜひご覧ください。
 
законопослушный гражданин データ消失の可能

混ぜてしまったようです。

すべて順調

トランザクションがない場合は、1色のみ表示されます。

取引が開始されると、別の色が点灯します。

Color()はこのように設定します。

ぜひご覧ください。

関数Colorはdoubleではなく、colorを返すべきである。

color Color()
  {
   color CL = clrRed;
   if(CountOrders() == 0) 
     CL = clrYellow;
   return(CL);
  }

サイトエンジンが追加したリンクも勉強になる。