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

 
Vitaly Muzichenko:

---

ただし、OnInit()内の文字列から配列化する必要があります。

ありがとうございます!このオプションを検討しましたが、私のコーダーとしての文盲のため、何かうまくいきませんでした))、今、あなたが私にもう1つの質問を許すならば。
すべて動作しますが、警告があります: '文字列'から'数値'への暗黙の変換 、これを削除する方法は? それは可能ですか?

 
Александр:
ありがとうございます!このオプションを検討しましたが、私のコーダーとしての文盲のため、何かうまくいきませんでした))、今、あなたが私にもう1つの質問を許すならば。すべてうまくいくのですが、警告がでます: '文字列'から'数値'への暗黙の変換 、どうすればこれを取り除くことができますか? 可能でしょうか?

コードをアップロードしました

 
すごい、スーパー。 宇宙の成功を祈っています。 ありがとうございました。
 
Maxim Kuznetsov:

このあたりはさすがに...良いコードなら十分でしょう。

そのために他の人がいるのですが・・・))
 

午後

MT4-MT5コピー機用のファイルを2つ作成しようとしています。

string path, path1;
    int hend; 
    path=CopierNumber+"MasterOrdersV.csv";   
    hend=FileOpen(path,FILE_CSV|FILE_WRITE,',');
    if(hend>0)
    {
        FileWrite(hend,"Symbol","Ticket","Lot size","Direction","Price","StopLoss","Takeprofit","Open time");
        FileClose(hend);
    }
    path1=CopierNumber+"MasterOrders.csv";    
    hend=FileOpen(path1,FILE_CSV|FILE_COMMON|FILE_WRITE|FILE_SHARE_READ,',');
    if(hend>0)
    {
        FileWrite(hend,"Symbol","Ticket","Lot size","Direction","Price","StopLoss","Takeprofit","Open time");
        FileClose(hend);
    } 
読もうとしたとき :

MT5で同じコードを実行すると、すべて正常に書き込まれます。


私が何らかの問題を抱えているのか、それともMT4で何かがクラッシュしたのでしょうか?

 
問題はOpen Officeにあるようです。
 

同僚、アルゴリズムと数学的関数のヘルプは、あなただけの数学的関数を使用することができ、タスクは5部分によって市場の位置を閉じること です。

I.e例えば10.24ロットまたは5.12ロットの市場ポジションは、5つの部分のほぼ等しい部分でカバーする必要があります。残りの1つを他より大きくすることで、最初の4つのポジションを閉じた後の残りのボリュームをカバーすることができるのです。

mate商品関数のヘルプからこのトピックは、私の意見では、非常に適していない、それは何かを必要とする - 何か完了する....共通のポジションを決済するために、5つの株式(パーツ)をそれぞれ最適にカウントする方法。

Возвращает вещественный остаток от деления двух чисел.



double  MathMod( 
   double  value,      // делимое 
   double  value2      // делитель 
   );
 

Параметры

value

[in]  Значение делимого.

value2

[in]  Значение делителя.

Возвращаемое значение

Функция MathMod рассчитывает вещественный остаток f от val / y таким образом, что val = i * y + f , где i является целым числом, f имеет тот же знак, что и val, и абсолютное значение f меньше, чем абсолютное значение y.

Примечание

Вместо функции MathMod() можно использовать функцию fmod().
 
Roman Shiredchenko:

同僚、アルゴリズムと数学的関数のヘルプは、あなただけの数学的関数を使用することができ、タスクが5部分によって市場の位置を閉じること です。

I.e例えば10.24ロットまたは5.12ロットの市場位置は、5つの部分の合計でほぼ等しい部分をカバーする必要があります。残りの1つを他より大きくすることで、最初の4つのポジションを閉じた後の残りのボリュームをカバーすることができるのです。

mate関数のヘルプからこのトピックは、私の意見では、非常に適していない、それは何かを完了する必要があります...。5つのパーツ(部品)それぞれのロットを最適にカウントして、共通のポジションをクローズアップする方法。

5で割ると5で割ったことになる :-)

lots_1to4=NormalizeLots(lots/5); // лоты для 1,2,3,4 ; округление лота сами добавите

lots5 = NormalizeLots(lots - lots_1to4*5); // для 5 - оставшиеся лоты

 
Maxim Kuznetsov:

五分五分は五分五分)

lots_1to4=NormalizeLots(lots/5); // лоты для 1,2,3,4 ; округление лота сами добавите

lots5 = NormalizeLots(lots - lots_1to4*5); // для 5 - оставшиеся лоты

О!Spc.その通り - 切り捨てと開始時の合計の差を通して!!!!同じようにラウンドスルー?

Возвращает ближайшее снизу целое числовое значение.



double  MathFloor( 
   double  val     // число 
   );
 

Параметры

val

[in]  Числовое значение.

Возвращаемое значение

Числовое значение, представляющее наибольшее целое число, которое меньше или равно val.

Примечание

Вместо функции MathFloor() можно использовать функцию floor().
 
インジケーターのアラート作成に役立つ、シグナル付きのものが見つからない
ファイル: