行政・地域住民への提案 - ページ 6

 
Фьючерсные объемы для МТ:

最初の投稿にあるコードについて、何が問題なのでしょうか?

OOPについて。素材が多いだけでなく、トンデモないんです。ただ、このサイトではありません。そして、ここでもあるのです。ちゃんと検索して勉強するのが面倒な人がいるんだよ。

少なくとも、Expert Advisorがインストール されている電源でのみ動作するのですが...。
 
Vladimir Pastushak:
少なくとも、Expert Advisorがインストールされているシンボルでのみ動作するのですが・・・。

いいえ、コードはかなり良いものです。ただ、そのために設計されたものではないものを、あなたが求めているだけなのです。

そして、それがあなたの提案全般の最大の問題点でしょう。

いろいろなことが、いろいろな方法で効果的に書ける。課題も解決策も、その有効性の基準も、人によって評価が異なる。

例えば、MTではユニバーサルブリックから組み立てるよりも、シンプルなコードの方が重要なんです。

 
Владимир:

ご安心ください。私 の技術ではありません。

コードの書き方の例を見せてくださいと言ったら、"時間枠の終わりまであと何分ですか "と言ってください。あなたは私をファックオフに 送ることが100%保証されています。

または作業部へ。それは、あくまでもお手本にするためです

恐怖心や消極性というのは、そういうものだ。でも、指はいつも伸ばしている。

また、「コードを見せろ」と言う人のほとんどは、ただ単に怠け者で、コードベースを見て「タイムフレームの終了まであと何時間か」というコードを探すのが面倒なだけだとも言えるかもしれません。

怠け者の自分をさらけ出すのは面白くない)

 

Владимир:

VOLDEMARの言うとおりです。プログラマーはみんな違うんです。

アルチョム・トリシキン 2015.05.31 11:27

//+----------------------------------------------------------------------------+
   datetime GetTimeLeft(string symbol, int timeframe) {return(60*timeframe+(iTime(symbol,timeframe,0)-TimeCurrent()));}
//+----------------------------------------------------------------------------+

私はアルチョム・トリシキンを選びました。

そうですね、みんなが同じだったらすごいと思うんですけど...。

そして、私はArtyom(artmedia70)を尊敬していますが、今回は彼を選ぶことができません...。また、コードの簡略化は、まだ万能ではありません。

簡潔なコードは安全でなく、潜在的に危険である可能性がある...。

アイタイム

対応するチャートのバーオープン時間(shift パラメータで指定)を返します。

datetime  iTime(
   string           symbol,          // символ
   int              timeframe,       // период
   int              shift            // сдвиг
   );

パラメータ

記号

[シンボル名NULLは カレントシンボルを意味する。

タイムフレーム

[中】期間enumerationENUM_TIMEFRAMES の値のいずれかを指定することができる。0は現在のチャートの期間を表します。

シフト

[in] タイムフレーム値のインデックス(現在のバーから指定されたバー数だけ後ろにシフト)。

戻り値

対応するチャートのバーオープン時間(shiftパラメータで指定)の値、またはエラーの場合は0。エラーに関する 詳細な情報を得るには、GetLastError() を呼び出す必要があります。


 

トレーディング、自動売買システム、ストラテジーテストのためのフォーラム

行政や現地の方への紹介

ウラジミール・パストゥシャク さん 2015.05.31 08:20

あなたへの質問は、どちらのコードがより正しいと思いますか?

1

void depth_trend()
  {
//--- определение индекса на покупку
   double rsi=iRSI(Symbol(),tf,period,PRICE_CLOSE,0);
   index_rsi = 0;
   if(rsi>90.0) index_rsi=4;
   else if(rsi>80.0)
      index_rsi=3;
   else if(rsi>70.0)
      index_rsi=2;
   else if(rsi>60.0)
      index_rsi=1;
   else if(rsi<10.0)
      index_rsi=-4;
   else if(rsi<20.0)
      index_rsi=-3;
   else if(rsi<30.0)
      index_rsi=-2;
   else if(rsi<40.0)
      index_rsi=-1;
  }

2

int refresh_depth_trend()
  {
   int    index_rsi=0;
   double rsi=iRSI(Symbol(),0,14,PRICE_CLOSE,0),up=60,dw=40;
   for(int i=1; i<=4; i++,up+=10,dw-=10)
      index_rsi=rsi>up ? i : rsi<dw ?(i*-1):index_rsi;
   return index_rsi;
  }

3

int refresh_depth_trend()
  {
   return MathFloor( MathAbs( (rsi-50.0)/10.0 - (rsi-50.0)*0.0001 ) ) * ((rsi>50)-0.5)*2;
  }

-- 各選択肢の正しさを検証したわけではありませんが、結果的に3つの選択肢がすべて同じだと仮定すれば、どの選択肢も正しいということになります。

-- コードの簡潔化についてですが、どのオプションが最も簡単で速く編集できるでしょうか?-- どのバリエーションが、時間が経てば、さらなる説明なしに論理的に対処するのが簡単で速いか?

 
Владимир:

私が選ぶ

だからプログラマーは指を扇ぐのです :)本当にたくさんの中から選べるわけでもないのに、それを理解していなかったんですね。私のファイルでは、残り時間を秒単位でグラフ表示する実装例を見ることができます。そして、この関数は、TimeCurrent() が更新されたときに、次のティック受信時にのみタイマーを更新します + その出力は、何らかの形で実現されなければなりません、つまり、いくつかの簡単なコードでそれをオーバーフィットする必要があります。私の例では、精密光学系を使ったすべての詰め物はすでに存在し、TimeCurrent()は純粋にサーバーとの同期のために使用されています :)
 
ちなみに、TimeCurrentは 非常に細かい関数です
 
MQL5にはTimeTradeServerが あり、非常に興味深いのですが、まだ使う機会がありません。
Документация по MQL5: Дата и время / TimeTradeServer
Документация по MQL5: Дата и время / TimeTradeServer
  • www.mql5.com
Дата и время / TimeTradeServer - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexander Puzanov:
だからプログラマーは指の扇子を使うのです :)本当に選ぶものがなくて、理解できていないんですね。私のファイルには、チャート上に残り時間を秒単位で表示する実装例があります。そして、この関数は、TimeCurrent()が更新されたときに、次のティック受信時にのみタイマーを更新します + その出力は、何らかの形で実現されなければなりません、つまり、いくつかの簡単なコードでそれをオーバーフィットする必要があります。私の例では、精密光学系を使ったすべての詰め物はすでに存在し、TimeCurrent()は純粋にサーバーとの同期のために使用されています :)

なぜ、私の指の「ファン」に引っかかるのですか?

どの時間軸でも、次のローソク足が開くまでの時間を知る方法を紹介しました。以上です。質問も全く同じだった。

 
プログラマーの皆様、エクセルのコラムに書かれたプログラムをそのまま使用し、エクセルのプログラム全体をµlに「追い込む」、µlでのプログラミングの方法はどこにあるのでしょうか?