アスク! - ページ 147

 
AceFX:
Ben,

迅速かつ親切な返信に感謝してもしきれません。あなたの言うとおりで、おかげで一歩近づきました。

しかし、もう一つ質問があります。トレーリングストップより低いレベルでブレークイーブンポイントを追加しようとしているのですが、うまくいきません。

extern bool UseBreak_Even = True;

extern bool UseBreak_Even = True; extern int Break_Even = 20;

...

ここでも何かアドバイスがあれば教えてください。

また、お気をつけください。

-エース

こんにちは、ブレークイーブンは簡単な関数です、あなたが必要とするものを理解すれば、それを実現するために何を書くか考えることができます。

1.Breakeven = ストップロスがオープンより下にある場合(買いの場合)、ストップロスを注文のオープンプライスに移動させる。

下かどうかを確認するには、通常これを使います。オーダーストップロス()<オーダーオープン価格()

2.ブレイクイーブンに移行する前に、条件が成立しているかどうかを確認する必要があります。私はこのようなものを使っています。

if(bid>orderopenprice()+breakeven*point)移動します。

3.移動する。私はこのようなものを使っています。

ordermodify(symbol(),bla-bla-bla,,,stoploss,takeprofit,0);

bla-bla-bla = 注文の開始価格のような、開いた注文で変更されないパラメータのセット(保留中の注文では変更可能)

stoploss = 通常、ここにorderopenprice()を入れて、0pipの利益で注文が閉じられるようにします。

takeprofit = もしTPを変えたくなければ、OrderTakeProfit()と入力します。

これが に役立つことを願っています。そして、それはあなたが自分で仕事をすることを残します。

ああ、それと、変更したい注文を見つける方法。

for(int i=0;i<=OrdersTotal();i++) {

if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if(OrderSymbol()!=Symbol()) continue;

if(OrderMagicNumber!=MagicNumber) continue;

if(your-condition-here) your-action-here;

}

このサイクルは、単に注文を循環させ、現在開いているすべての注文を見つけます。そして、異なるマジックナンバー(最初にマジックナンバーを定義する必要があります)と異なるシンボル(通貨ペア)を持つ注文をフィルタリングします。

これが役に立つといいのですが。

nck

ありがとうございます。しかし、このコードはgoldminer1とgoldminer2インジケータがないと役に立ちません。

新しいEAを添付します。明らかな理由でテストすることができなかったので、それがあるべき方法で動作しない場合、私を責めないでください。新しいシグナルを受信したときに既存の注文を閉じるはずですが、買いと売りに異なるインディケータが使用されているため、シグナルの競合が発生する可能性があります。

新しいEAを楽しんでください。

ファイル:
 

MT4での1ティックまたは1バーの取引サイズ

こんにちは。

MT4の内部構造に詳しい方が、私の質問に答えてくださればと思いますし、この回答は皆のためになるかもしれません。受信ティックまたはバーの取引サイズを取得する方法がどこにも見当たりません。これは基本的な市場の特徴のようですが、MarketInfo機能は これを提供しません。MT4では可能なのでしょうか?

ありがとうございます。

 
atkfam:
こんにちは。

MT4の内部構造に詳しい方が、私の質問に答えてくださればと思いますし、この回答は皆のためになるかもしれません。受信ティックまたはバーの取引サイズを取得する方法がどこにもありません。これは基本的な市場の特徴のようですが、MarketInfo機能はこれを提供しません。MT4では可能なのでしょうか?

ありがとうございます。

double Volume[] (ダブルボリューム)

現在のチャートの各バーのティックボリュームを 含むシリーズ配列。

double iVolume( string symbol, int timeframe, int shift)

指定されたシンボルのバーのティックボリューム値を、タイムフレームとシフトとともに返します。ローカルヒストリーが空の場合(ロードされていない場合)、この関数は0を返します。

現在のチャートでは、ティックボリュームに関する情報は Volume[] という名前の定義済み配列にあります。

これは、あなたが探していたものでしょうか?ボリュームは、そのバーで受け取ったティックの数に基づいています。私は彼らがあまり値を持っていないことを恐れている。

 

MT4でのティックまたはバーごとのトレードサイズ

Shinigamiです。

ご回答ありがとうございます。しかし、私は各ティックに関連する実際の取引サイズを探しています。各ティックは買い/売りの取引のようで、私は本当にそのような取引の実際のサイズを知りたいのです。100標準ロットなのか、1ロットなのか、マイクロロットなのか。それは違いがあります。

 

こんにちは、コーダーと仲間のトレーダー、私は質問を持っていますが、より多くのロジックについて。

私は簡単なEAを作ろうとしていますが、うまくいかず、次のステップに進みたいと思います。

私はカスタムインジケータ(2MA CrossoverWithPrice)を持っていて、青い矢印が現れたら買い、赤い矢印が現れたら売りたいと考えています。

このインディケータをiCustom関数で呼び出すと、以下のようになります。

iCustom(NULL,0, "2MA CrossoverWithPrice",0,0,CLR_NONE) というように、iCustom関数で呼び出す。

そして、EAをコンパイルし、添付するとチャートにアラートが表示されるので、すべてOKのようです(カスタムインジケータが添付されていると表示されます)。

悩ましいのは、次に何をすればいいのか、インジケータが2種類の矢印を作成するため、EAに売買を指示する方法が分からないことです。

どなたか、アドバイスや何かで助けていただけませんか?

 

トレードコンテキスト ビジー

トレードコンテキストがビジー状態のシグナルを受信し続けた場合、ブローカーにクローズまたはオープンを送信し続ける方法をご存知の方はいらっしゃいますか?

 

インジケータにMAレベルを追加する

申し訳ありませんが、上記の質問にはお答えできません。なぜなら、私はここで一番新しいプログラマーだからです。

私は、4つのEMAをチャートに配置するシンプルなインディケータを初めて作成することに成功しました。本当にうれしいです。

今やりたいことは、1つ以上のEMAにレベルを追加するオプションがあることです。どなたかコードでこれを行う方法をご存知でしょうか?また、レベルを変化させることができるように、外部変数としてそれらを持つことは可能でしょうか?

これを解読できたら、それぞれのEMAをオフにできるようにshow booleanを追加するつもりです - 一度に小さなステップで。理論的には、最もフィットするEMAを見つけ、範囲を示すレベルを追加します(多分、上へ2レベル、下へ2レベル)。

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

デイブ

 
willmalou:
こんにちは、トレードコンテキストのビジー信号を受信し続けた場合、ブローカーにクローズまたはオープンを送信し続ける方法を知っている人はいますか?

ordersendをループさせ、ブローカーからのレスポンスをチェックする必要があります。もしレスポンスが-1なら、もう一度注文を送る。Sleep関数 を使って、再送信する前に少し遅延させるといいかもしれません。

幸運を祈ります。

ラックス

 
atomi50:
こんにちは、コーダーと仲間のトレーダー、私は質問を持っていますが、より多くのロジックについて.

簡単なEAを作ろうと思っているのですが、うまくいかず、次のステップに進みたいと思っています。

私はカスタムインジケータ(2MA CrossoverWithPrice)を持っていて、青い矢印が現れたら買い、赤い矢印が現れたら売りたいと考えています。

このインディケータをiCustom関数で呼び出すと、以下のようになります。

iCustom(NULL,0, "2MA CrossoverWithPrice",0,0,CLR_NONE) というように、iCustom関数で呼び出す。

そして、EAをコンパイルし、添付するとチャートにアラートが表示されるので、すべてOKのようです(カスタムインジケータが添付されていると表示されます)。

悩ましいのは、このインジケータが2種類の矢印を作成するため、次に何をすべきか、EAに売買を指示する方法が分からないことです。

どなたか、アドバイスでも何でもいいので、助けていただけませんか?

まず、icustomの使い方が間違っています。最後の変数はチェックしたいバーであるべきで、通常は0か1、または変数であるべきです。なぜ色を送信しているのかは不明です。

最後から2番目の変数は、あなたが返そうとしているバッファです。もし矢印が2つだけなら、バッファは0と1でしょう。つまり、インジケータによって、どちらかに0またはNULL以外が設定されているかどうかをチェックすることになります。どのバッファがどの矢印に関係しているかは、インジケータのコードを見ればわかると思うので、それに従って使ってください。

icustom関数を もう一度読んでみてください。

幸運を祈ります。

ラックス

 

TF下部のMAクロスをTF上部のチャートに表示させるには?

こんにちは。

上位の時間枠のチャートに下位の時間枠のMAクロスをどのように描画するか知りたいのですが。

例えば、M15のMA5とMA10がクロスした時にH1チャートに矢印を表示させたいのですが。

教えてください。

ありがとうございます。

JForex.