[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 315

 
dekker:

フレンズ!

世界的な問いが生まれた

週末にターミナルでティックストリームを取得し、静かにEAを書いたりデバッグしたりすることは可能でしょうか?

すでに、私のトレーディングロボットで使用するためのヒントがいくつかあります。

1ティックでEAを起動することはできないので、ある範囲のティックの流れが必要です。

は、自然界に存在するのでしょうか?

週末にストリーミングクォートをエミュレートするmt4サーバー ?

週末に働いているブローカーがあります。
 
dekker:

フレンズ!

世界的な問いが生まれた

週末にターミナルでティックストリームを取得し、静かにEAを書いたりデバッグしたりすることは可能でしょうか?

すでに、私のトレーディングロボットで使用するためのヒントがいくつかあります。

1ティックでEAを起動することはできないので、ある範囲のティックの流れが必要です。

は、自然界に存在するのでしょうか?

週末にストリーミングクォートをエミュレートするmt4サーバー ?

スクリプトをぶら下げる
#import "user32.dll"
   int PostMessageA(int hWnd, int Msg, int wParam, string lParam);
   int RegisterWindowMessageA(string lpString);
#import

int start(){
   bool asd;
   while(!IsStopped()){
      PostMessageA (WindowHandle (Symbol(), Period()), WM_COMMAND, 33324, 0);
      PostMessageA (WindowHandle (Symbol(), 0), RegisterWindowMessageA ("MetaTrader4_Internal_Message"), 2, 1);
      Sleep(5000);
      if(asd){Comment("A");asd=false;}else{Comment("V");asd=true;}
   }
   return(0);
}
ティックエミュレーションそれが必要なのかどうかはわからないが。また、kernel32 またはuser32を使ったタイマーもあります。
 

皆さんこんにちは、新参者を助けてください。

質問は以下の通りです...例えば、私は指標を持っていて、それは#property indicator_separate_windowに 描かれています、指標は2つの "バッファ "を持っていて、それは2つの行になります...私の質問は、ラインが交差したときにメインウィンドウ(指標ウィンドウではなく、価格チャートウィンドウ)の矢印や線を作る方法ですか...?

たとえば、通常のRSIを 取る、どのように価格チャート上の矢印を表示するためにゼロと交差する線を作る...

 
clubsmi:

皆さんこんにちは、新参者を助けてください。

質問は以下の通りです...例えば、私は指標を持っていて、それは#property indicator_separate_windowサブウィンドウにプロットされています、指標は2つの "buffer" を持っていて、それは2つのラインを出力します...私の質問は、ラインが交差したときにメインウィンドウ(指標ウィンドウ自体ではなく、価格チャートウィンドウ)に矢印や線を作る方法です...?

たとえば、通常のRSIを 取る、どのように価格チャート上の矢印を表示するためにゼロと交差する線を作る...


iCustom経由で#property indicator_chart_windowに 他のインジケータを設定し、そこでDRAW_ARROWを設定する。
 

表現が理解できない。

if (counted_bars==0 && downloadhistory)

downloadhistory はグローバルな論理変数で、初期値はfalse です。どのような状態で搭載されているのでしょうか?このような条件であれば、理解できるのですが

if (counted_bars==0 && downloadhistory == false)

初心者の方への説明、お願いします

 
dekker:

フレンズ!

世界的な問いが生まれた

週末にターミナルでティックストリームを取得し、静かにEAを書いたりデバッグしたりすることは可能でしょうか?

すでに、私のトレーディングロボットで使用するためのヒントがいくつかあります。

1ティックでEAを起動することはできないので、ある範囲のティックの流れが必要です。

は、自然界に存在するのでしょうか?

週末に相場の流れをエミュレートするmt4サーバー ?

図書館

4.7 チャートの更新を制御する機能」を参照。

 

もうひとつ:)

MT4アプリケーションのカスタムインジケータの 中にZigZagがあります。パラメータを持つ。

//---- indicator parameters
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;

彼らは何を目指しているのか?

 

ヴァディム 効かないぞ週末なので、独学でリーディング・ライティングの勉強をしています。私はチェックのために2つのスクリプトを書いています:私はそれらのうちの1つを秒のタイムフレームに置き、それは要素ごとに配列を生成します。2つ目は、任意のペアに送ると、このような配列が表示されます。だから、スクリプト。

セコンド

#import "SharedMemoryMT4.dll"
        bool MemoryWriteInt(int nArea, string sPrefixArea, int nIndex, string sName, int nStartByte, int nValue);
        int MemoryCreateProjection(int nArea, string sPrefixArea, int hFileUser, int nIndex, string sName, int nSize);
        bool MemoryResize(int nArea, string sPrefixArea, int nIndex, string sName, int nSize);
#import
int Σ, Δt, j;
int start(){
   GlobalVariableSet("nAddress", MemoryCreateProjection(1, "", NULL, -1, "ind", 4));
   for(int i=1; i>Bars; i++){
      Δt=Time[i-1]-Time[i];
      Σ=Σ+Δt;
      MemoryResize(1, "", -1, "ind", 4*Σ);//=ArrayResize(ind, Σ);
      for(; j<Σ; j++) MemoryWriteInt(1, "", -1, "ind", j*4, i);
   }
   /*
   Δt[0]=1 => addr(j*4)=0*4=0, var(i)=0x0001.//out: {0x0001}
   Δt[0]=2 => addr(j*4)=0*4=0, var(i)=0x0001,
              addr(j*4)=1*4=4, var(i)=0x0001.//out: {0x0001, 0x0001}
   Δt[0]=1, Δt[1]=2 => addr(j*4)=1*4=4, var(i)=0x0002,
                       addr(j*4)=2*4=8, var(i)=0x0002.//out: {0x0001, 0x0002, 0x0002}
   Δt[0]=2, Δt[1]=2 => addr(j*4)=2*4=8, var(i)=0x0002,
                       addr(j*4)=3*4=12, var(i)=0x0002.//out: {0x0001, 0x0001, 0x0002, 0x0002}
   */
   return(0);
  }

配列を表示する2番目のスクリプトは、すでに形成されているペアにハングアップします。

#import "SharedMemoryMT4.dll"
        int MemoryReadInt(int nArea, string sPrefixArea, int nIndex, string sName, int nStartByte);
        bool MemoryUnProjection(int nArea, string sPrefixArea, int nIndex, string sName, int pcAddress);
        int MemorySize(int nArea, string sPrefixArea, int nIndex, string sName);
#import

int start(){
   for(int i=0; i<MemorySize(1, "", -1, "ind"); i=i+4) Print(MemoryReadInt(1, "", -1, "ind", 4*i));
   MemoryUnProjection(1, "", -1, "ind", GlobalVariableGet("nAddress"));
   return(0);
  }

公平を期すために、私は

{MemoryWriteInt(1, "", -1, "ind", j*4, i); Print(j, " - ", i);}

の2つ目。ログを見ながら少なくともいくつかの値は、0-3FF, 7FF-83FF, BFFF-C3FF というアドレスというか、nAddress を基準としたオフセットで書き込まれています。その他の範囲では -MemoryWriteIntで 重大なエラーが 発生します。秒単位のローソク足が入った履歴ファイルを添付します。

ファイル:
sec_eurusd1.zip  18 kb
 
gyfto:

ヴァディム 効かないぞ週末なので、独学でリーディング・ライティングの勉強をしています。私はチェックのために2つのスクリプトを書いています:私はそれらのうちの1つを秒のタイムフレームに置き、それは要素ごとに配列を生成します。2つ目は、任意のペアに送ると、このような配列が表示されます。だから、スクリプト。

セコンド

配列を表示する2番目のスクリプトは、すでに形成されているペアにハングアップします。

公平を期すために、私は

の2つ目。ログを見ながら少なくともいくつかの値は、0-3FF, 7FF-83FF, BFFF-C3FF というアドレスというか、nAddress を基準としたオフセットで書き込まれています。その他の範囲では -MemoryWriteIntで 重大なエラーが発生します。秒単位のローソク足が入った履歴ファイルを添付します。

キットのテストスクリプトは動作していますか?

割り当てられたメモリサイズを頻繁に変更する必要はありません。これがブレーキです。メモリは4Kb単位で離散的に割り当てられます。四捨五入しています。これはマッピング機能です。

簡単なテストプロジェクトを 作り、確認できるようにする。公開しているものは、チェックが不可能です。構文エラーが多すぎる。

 
GaNDarM:

表現が理解できない。

downloadhistory はグローバルな論理変数で、初期値はfalse です。どのような状態で搭載されているのでしょうか?このような条件であれば、理解できるのですが

if (counted_bars==0 && downloadhistory == false)

初心者のために解説してください


さっそく試してみよう。と書くと

bool bVar=true;
if(bVar) какие-то_действия
//------------------
bool bVar=false;
if(!bVar) какие-то_действия
//------------------
if(true) какие-то_действия

の場合、最初の2つは3つ目と似ているため、すべてのケースでこれらのアクションが常に実行されます(チェック、式の簡略化)。つまり、ブーリアン変数であれば、それだけですでに真や偽になっているので、==true, ==falseと書く必要はないのです。