アスク! - ページ 115

 
TheRumpledOne:
今日の高値と安値のバーナンバーを見つけるもっと簡単な方法はありますか?

today_high = High[0] です。

today_low_ = Low[0]です。

今日のバーナンバーを探す ?0は今日という意味です。もちろんD1の場合。

他のTFの場合。

today_high = iHigh(Symbol(),PERIOD_D1,0);

today_low = iLow(Symbol(),PERIOD_D1,0)です。

FerruFx

 
TheRumpledOne:
私はH1以下の期間で今日の最高値と最安値が発生したバーを知りたいのですが。

forループを使用してチェックできることは知っています。

もっとエレガントな方法はないのでしょうか?

今日の最初のバーの関数はありますか?

ありがとうございます。

datetime some_time_start_day=D'0000.00.00 00:00';

datetime some_time_end_day=D'0000.00.00 00:00';

int shiftStart=iBarShift(NULL,PERIOD_M1,some_time_start_day)。

int shiftEnd=iBarShift(NULL,PERIOD_M1,some_time_end_day)とします。

double valH=High;

double valL=Low;

これより簡単なものはありません... ps.私は質問が低い時間枠のバーを見つけることだと思った、そうでなければちょうどFerruFxが説明したようにD1から取ることを行う

.

 

親愛なるcodersguru。

私は、あなたにとって簡単なEAを必要としています。

2つのMAが交差するとき、すべてのオープンポジション(特定のペアのために)を閉じます。

もちろん、もし速いMAが遅いMAを下へ横切ったら、ロングポジションを閉じます。

その逆もしかりです。

変数:

- 高速MAタイプ

- より速いMA値

- 遅いMAタイプ

- 低速のMA値

- TimeFrame(グラフウィンドウを切り替えたときに、干渉を受けずにタイムフレームを固定できる

時間枠を固定することができます。)

MAクロスのEAを改造しようとしたが、いつも失敗する。

ご親切にありがとうございました。

 
IN10TION:
datetime some_time_start_day=D'0000.00.00 00:00';

datetime some_time_end_day=D'0000.00.00 00:00';

int shiftStart=iBarShift(NULL,PERIOD_M1,some_time_start_day)。

int shiftEnd=iBarShift(NULL,PERIOD_M1,some_time_end_day)とします。

double valH=High;

double valL=Low;

これより簡単なものはありません... ps.私は質問が低いタイムフレーム上のバーを見つけることだと思った、そうでなければちょうどFerruFxがD1から取る説明したことを行う。

.

ありがとうございます。

もっとシンプルな方法はないのでしょうかね。

BarStartOfDayのキーワード・予約語とかあるんじゃないかと思ったんですが。

 
IN10TION:
iBarShiftは、その日に始まるバー、またはその日の終了バーを見つけることができます。

int iBarShift( string symbol, int timeframe, datetime time, bool exact=false)

次に...

iHighestとiLowestの結果を見つけるために、これらのバーポジションを使用します。

int iHighest( string symbol, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

int iLowest( 文字列シンボル, int timeframe, int type, int count=WHOLE_ARRAY, int start=0)

結果&完了

私が知りたかったのは、こんなところです。

https://www.mql5.com/en/forum/178406/page8

 

こんにちは。

まず最初に、あなたの助けのために前もってありがとうございます

私は、c++でできるように、エキスパートアドバイザーで複数のスレッドを使用する方法があるかどうかを確認しようとしています。

理由は、私はニューストレードを行い、私はいくつかの注文をすべて同時に送信する必要があります。 例えば、私はデータが来るとすぐにGBP/USD、USD/CAD、EUR/USDの3つの注文を出す必要があります。 今問題なのは、通常の注文送信機能を 3回使用すると、同時にではなく、段階的に注文を送信するため、遅くなることです。

OrderSend("GBPUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

オーダーセンド("USDCAD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

OrderSend("EURUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red) とします。

MT4の売買ウィンドウを3つ別々に開いて同時にクリックすると(ニュース取引プログラムを使用)、注文がすべて同じ瞬間に送信され、はるかに速く来るので、これは何とかできると思っています。 この方法でやると、注文はすべて一度にポップアップされます。

EAで複数の実行スレッドを設定する方法はありますか、それともバッチOrderSendのいくつかのタイプがありますか?

ありがとうございます。

Cole

 
ColeFlournoy:
こんにちは。

まず最初に、あなたの助けのために事前にありがとうございます

私は、c++でできるように、エキスパートアドバイザーで複数のスレッドを使用する方法があるかどうかを確認しようとしています。

理由は、私はニューストレードを行い、私はいくつかの注文をすべて同時に送信する必要があります。 例えば、私はデータが来るとすぐにGBP/USD、USD/CAD、EUR/USDの3つの注文を出す必要があります。 今問題なのは、通常の注文送信機能を3回使用すると、同時にではなく、段階的に注文を送信するため、遅くなることです。

OrderSend("GBPUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

オーダーセンド("USDCAD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red);

OrderSend("EURUSD",OP_BUY,0.01,ask,5,ask-25*point,ask+25*point, "Cole",11111,0,Red) とします。

MT4の売買ウィンドウを3つ別々に開いて同時にクリックすると(ニュース取引プログラムを使用)、注文がすべて同じ瞬間に送信され、はるかに速く来るので、これは何とかできると思っています。 この方法でやると、注文はすべて一度にポップアップされます。

EAで複数の実行スレッドを設定する方法はありますか、それともバッチOrderSendのいくつかのタイプがありますか?

ありがとうございます。

コール

いずれにせよ、プラットフォームは全く同時に複数の注文を送信することはありません。

FerruFx

 

FerruFX -- おっしゃっていることがよくわからないのですが?

ありがとうございます。

Cole

 
IN10TION:
このためのコードをすでに持っていて、それを始めたのでしょうか?

を mq4 ファイルに保存しますか?

まず最初に必要なのは、doji/inside = yes or no の確認です。

設定により、doji/insideの前に見るか、待つかになります。

2本待つと、前のバーの高値または安値によって注文を決定しなければならない。

さて、プログラミングを始めることができます。

童子やインサイダーを見つけるコードがあるのでしょうか?

...

こんにちは、IN10TIONです。

インサイドバーを見つけるために私が使っているコード(私のコードではありません)は以下の通りです。

}

int IsInsideBar(int shift) {。

//インサイドバーの終値は、終値とバーの中点の両方よりも高くなければならない 現在のバーが開いていなければならない

//インサイド・バーの終値と等しいか、それよりも高くなければなりません。

//次の4つのバーでヒットしない場合、注文をキャンセル します。下の図を参照してください。

if (高値[shift]>高値[shift+1]) return(0);

if (Low[shift]<Low[shift+1])戻り値(0);

if (Close[shift]>Open[shift] && Close[shift]>(High[shift]+Low[shift])/2 && Open[shift-1]>=Close[shift]) return(1);

if (Close[shift]<Open[shift] && Close[shift]<(High[shift]+Low[shift])/2 && Open[shift-1]<=Close[shift]) return(-1);

return(false)となります。

}

さて、質問です。

インサイドバーの次のバーの高値と安値に買いストップと売りストップを置きたい場合、コードはどうなるのでしょうか。

助けてくれてありがとうございます...

フォアセル

 
IN10TION:
もし、あなたのインジケータがうまくコード化されていれば、あなたのEAが完成するのもそう遠くはないでしょう。

Gidday In10tion

私が取引しているものを写真で添付します。

私はこれらの4つの指標を使用しています

売りシグナル

1:スローストキャスティックK%80以上のD%、および20以下の買いのためにその逆を横切った。

2:QQE RSIがATRを下回るクロス、逆に買いの場合

3:CCIは0以下と買いのためにその逆のクロス

4:MACDのMAがクロスし、1本のバーが0以下に形成された場合、またその逆の場合は買い。

これらの条件のうち、3つでも当てはまれば、ポジションをオープンします。例えば、ストキャスティクスが5分後にMACDのシグナルを発し、20分後にCCIのシグナルを発します。

または、Slopeと同じ方向であれば、上記の組み合わせでもOKです。

スクリーンショットを添付します。

ご担当者様

ファイル:
bones.gif  54 kb