[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 53

 

そんなニュアンスに気づいたのは、EAでプリントを処方しているときです。

double Up = iCustom(NULL, 0, "best div original", "*** CCI-OnArray Settings ***", 12, 3, 5, 25, "*** Indicator Settings ***", false, false, false, 0, 1)。

プリント("+++++++++", Up)。

Expert Advisor は次の結果を表示します - ++++++++++++ 2147483647。アップバッファーとダウンバッファーが同じ数値で表示されるのですが。これはどのようなコードなのか、アドバイスをお願いします。また、矢印が表示されたときに正確にイカストムから値を「取得」するにはどうしたらよいでしょうか。

 

エキスパートアドバイザー/ユーティリティを作成 するための正しいコードを教えてください。

- 一方向のダブル取引を開く(ロット0.1と0.1)与えられたトランザクションを開いたの交差点で、ろうそくのハイ/ロー近くのストップと現在のチャート/現在の時間枠で最後に形成されたろうそくの低い(売り)/高い(買い)の交差の瞬間に行われると、同じポイントに配置するロットと一方向に保留中の注文ダブル取引など0.2や0.1などです。

 

質問です。

コードがあります

int start()

if (H==TimeHour(TimeCurrent()))&& M==TimeMinute(TimeCurrent())&& S==TimeSeconds(TimeCurrent())

{+いくつかの条件

その後、注文が開始される

Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,2,SL,TP);
if (Ticket > 0)
Alert ("Buy order opened ",Ticket);

return;}; }.

しかし、この瞬間にティックがない場合はトリガーされない

しかし、もう少し考える時間を与えれば、いくつかの注文を開けることができるかもしれません。

すでに開いている注文を気にせず、1つだけ注文を持つべきですね。

どうしたらいいかアドバイスをお願いします。

 
v2812:

というEAでプリントを処方していると、そんなニュアンスに気づくことがあります。

double Up = iCustom(NULL, 0, "best div original", "*** CCI-OnArray Settings ***", 12, 3, 5, 25, "*** Indicator Settings ***", false, false, false, 0, 1)。

プリント("+++++++++", Up)。

Expert Advisor は次の結果を表示します - ++++++++++++ 2147483647。アップバッファーとダウンバッファーも同じ数値が確認できますね。これはどのようなコードなのか、アドバイスをお願いします。また、矢印が表示されたときに正確にイカストムから値を「取得」するにはどうしたらよいでしょうか。


iCustom()ではなく、ターミナルのグローバル変数にインジケータの値を渡してみてください。これらは、F3によって見ることができます。問題は、それが唯一正常なデータ通信の方法である場合、珍しい状況ではないということです。そんなケースもありました。

インジケータでは、ある種の矢印はインジケータバッファを通して描かれ、他の矢印はオブジェクトとして作成されることがよくあります。これは、データウィンドウ に矢印の価格が表示されない唯一の理由です - データは、インジケータバッファからこのウィンドウに出力されます。

 
palesandr:

質問です。

コードがあります

int start()

if (H==TimeHour(TimeCurrent()))&& M==TimeMinute(TimeCurrent())&& S==TimeSeconds(TimeCurrent())

{+いくつかの条件

その後、注文が開始される

Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,2,SL,TP);
if (Ticket > 0)
Alert ("Buy order opened ",Ticket);

return;}; }.

しかし、この瞬間にティックがなければ、トリガーされません。

しかし、もう少し考える時間を与えれば、いくつかの注文を開けることができるかもしれません。

すでに開いている注文を気にせず、1つだけ注文を持つべきですね。

どうしたらいいかアドバイスをお願いします。


EAコードは、新しいティックが到着したときのみトリガーされます。次のティックでセットアップシグナルも真となり、注文数の チェックが行われないため、複数の注文が発注されます。注文を再計算する必要があります。
 
drknn:


iCustom()ではなく、グローバルターミナルレベルの変数でインジケータの値を渡すようにしてください。これらは、F3で見ることができるものです。問題は、それが唯一正常なデータ通信の方法である場合、珍しい状況ではないということです。そんなシチュエーションがありました。

インジケーターの中で、ある矢印の種類はインジケーターバッファを通して描かれ、他の種類はオブジェクトとして作成される可能性があります。これは、データウィンドウに矢印の設定価格がない唯一の理由です - データは、インジケータバッファからこのウィンドウに出力されます。


ありがとうございました。これからは、言われたとおりに処方してみようと思います。
 
palesandr:
しかし、この時点でティックがない場合は、トリガーされません

そして、さらに考える時間を与えれば、いくつかの注文を開けるかもしれません。

でも、1つだけでいいし、すでに開いているオーダーには注意を払わないようにしたいんです。


、教えていただけませんか?


1.グローバルデータタイム last_dt。


2.正しい時刻を刻む

datetime dt=StrToTime(H+": "+M+": "+S)"。


3.

if (TimeCurrent()>=dt && last_dt<dt) // 正しい時刻になり、翌日となった。

{

// オーダーを開く

if (ticket>0) last_dt=TimeCurrent(); //開封時刻を 記憶する。

}

 
v2812:

を実行すると、EAは次のような結果を得ることができます - ++++++++++ 2147483647。また、アップバッファー、ダウンバッファーともに同じ数値です。

2147483647 はEMPTY_VALUE 定数です。
 

それはわかります。

注文の再計算について、もう少し具体的に教えてほしい。例(コード形式)かリンクがあれば......。

このように試してみました。

if (Ticket > 0)
Alert ("Opened Buy order ",Ticket);

sleep(10000)
return;}.

failure for some reason

drknn:

EAコードは新しいティックが入った時のみトリガーされます。次のティックでは設定されたシグナルも真となり、注文数のチェックもないため、注文は複数回開くことになります。注文を再計算する必要があります。
 

日付は無視し、時間だけが重要なソフトウェアにしたい

この場合、あなたのアドバイスは有効でしょうか?

sergeev:


1.グローバルデータタイム last_dt。


2.正しい時刻にする

datetime dt=StrToTime(H+": "+M+": "+S)"。


3.

if (TimeCurrent()>=dt && last_dt<dt) // 正しい時刻で、次の日である。

{

//オープンオーダー

if (ticket>0) last_dt=TimeCurrent(); // 開店時刻を記憶する

}