コーディングの方法は? - ページ 35

 

高速な注文作成

複数のチャートを監視していて、良いトレードエントリーポイントを 見つけたら、ダイアログボックスを使わずにできるだけ早く注文を作成したいのですが、どうすればいいですか?何かいい方法はないでしょうか?

よろしくお願いします。

エド

 

2つのEAを同時に使用することは可能ですか?

こんにちは、evrerybodyです。

私の2つのEAを同時に動作させることは可能でしょうか?

- 同じ時間帯に

- 同じタイムフレーム(例:1分)で

- そして同じ通貨ペア(ex:EUR/USD)で。

MagicNumber (EA_1 = 10 ; EA_2 = 20)を変更しましたが、取引条件がそれぞれ良くても、次々と動いてしまいます。

助けてください。

ありがとうございます。

ファイル:
ea_1.mq4  10 kb
ea_2.mq4  10 kb
 
ralph.ronnquist:
うーん、あなたのEAを試したわけではないのですが、ロジックを読むと、買いの後に続く売りを止めるのは「IsTrade」が真であることだけのような気がするのです。(ただし、買いと同時に売りをオープンすることはありません)。

ですから、Sellロジックを無条件に適用させたいのであれば、私の編集(1)のみ--2~4は忘れてください--で済むと思ったのですが、いかがでしょうか。あるいは、"IsTrade "ロジックを削除する。

もっとも、「TickCheck」や「BarCount」という、同じティックや同じバーで別の取引を停止する下位のロジックもありますが、そちらはまだ適用させたいのでしょうね。

もちろん、あなたが省略したシグナリングの部分については、私は多くを語ることはできません。例えば、"Sell_Signal" を上げると "BuyOrders" を考慮するのであれば、もっとやるべきことがあるはずです。

こんにちは。

お時間をいただき、ありがとうございます。ご参考までに、問題を解決しました。あなたの提案した修正は正しい方向への最初のステップでした。以下のような追加修正(太字)が必要でした。

if (Buy_Signal && BuyOrders < Max_Buys&& BuyOrders==0) Order = SIGNAL_BUY;

if (Sell_Signal && SellOrders < Max_Sells&& SellOrders==0) Order = SIGNAL_SELL;

また、ありがとうございます。もしよろしければ、もう1つ質問をさせてください。EAに、X日後に未決済の注文を閉じる柔軟性を持たせたいのですが、Xはエキスパート設定ダイアログで調整可能です。例えば、ある日時に買い注文を出したら、3日後の同じ時間帯にその注文を決済できるようにしたいのですが。

どんなアイデアや提案でも構いませんので、よろしくお願いします。

 

このコードを「BuyOrders++;」の行の後に置くとよいでしょう。

if ( TimeCurrent() - OrderOpenTime() >= 86400 * MaxTradePeriodInDays )

Order = SIGNAL_CLOSEBUY;

と書き、売り注文 にも同様のコードを書いてください。

しかし、週末はうまくいきませんね。

 

インジケータはこのコードで。

こんにちは、私の親愛なる人。

MT4で以下のコードで2つのインジケータが欲しいです。(チャート上の矢印信号の買い/売りで)

ナンバー1。

----------

MA1 = SMA(5,Close)、MA2 = SMA(10,Close)、MACD (12,26,9)

ロングトレードのシグナルにMA1 > MA2、RSI(14) > 50、MACD Fast > MACD Signal

ショートトレードのシグナルMA1 < MA2、RSI(14) < 50、MACD Fast < MACD シグナル。

----------

2番

----------

下記コードのF1がFractal Up Level、F2がFractal Down Levelです。

UpTrendとDownTrend(Description)です。

F1:=ValueWhen(1,H<Ref(H,-2) AND Ref(H,-1)<Ref(H,-2) AND Ref(H,-3)<Ref(H,-2) AND Ref(H,-4)<Ref(H,-2), Ref(H,-2)).F1:=ValueF1(F1=F2)です。

F2:=ValueWhen(1,L>Ref(L,-2) AND Ref(L,-1)>Ref(L,-2) AND Ref(L,-3)>Ref(L,-2) AND Ref(L,-4)>Ref(L,-2),Ref(L,-2)).F2:=BalueWhen(F2,F1) AND Ref(F2,F2)>Ref(L,-2),Ref(L,-2);

a:=Cross(H,F1)とする。

b:=Cross(F2,L)。

state:=BarsSince(a)<BarsSince(b)となります。

{ロングシグナルとショートシグナル}

LongSignal:= state<Ref(state,-1);

ショートシグナル:=state>Ref(state,-1);

{上昇トレンドと下降トレンド}

UpTrend:=state>0;

DownTrend:=state<1。

---------------------------------------

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

Khamoosh

 

何時間も何時間も!!!!!!!!!!

本当に助けてほしい!

全く理解できません。

Mql4.com、単語選択中のF1、すべて試しました!

私はそれを得ることはありません!!!!

どういうことですか?

IndicatorCounted()[/PHP]mean?????????

What does

Bars

mean??????????????

What is [PHP]Bars-IndicatorCounted()

という意味ですか?

 

どんな手助けが必要ですか?指標..." ここでいくつか手に入ります。今必要なのは、学び、実践することです、、、。

 
Dan7974:
私は本当に助けを必要としています

私は全くこれを得ることはありません!!!!!!!!!!

Mql4.com、単語選択中のF1、すべて試しました!

私はそれを得ることはありません!!!!!!!

とは何ですか?

IndicatorCounted()[/PHP]mean?????????

What does

Bars

mean??????????????

What is [PHP]Bars-IndicatorCounted()
というのは......?

int IndicatorCounted( )

この関数は、最後にインジケータを起動した後、変更されていないバーの量を返します。最も計算されたバーは、再計算の必要がありません。ほとんどの場合、同じ数のインデックス値であれば再計算の必要はありません。この機能は、計算を最適化するために使用されます。

注)最新のバーは計算対象外であり、ほとんどの場合、このバーだけを再計算する必要があります。しかし、新しいバーの最初のティックでエキスパートからカスタムインディケータが 呼び出される境界線が発生する場合があります。この場合、前のバーの最後のティックが処理されておらず(この最後のティックが来たときに最後の1ティックが処理されていたため)、カスタムインディケータが呼び出されず、そのために計算されなかった可能性があります。このような状況でのインジケータ計算エラーを回避するため、IndicatorCounted()関数はバーのカウントから1を引いた値を返します。

サンプル

int start()

{

int limit;

int counted_bars=IndicatorCounted();

//---- エラーの可能性をチェック

if(counted_bars<0) return(-1);

//---- 最後にカウントされたバーが再カウントされる

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

//---- メインループ

for(int i=0; i<limit; i++)

{

//---- SetIndexShift が呼び出されたので ma_shift を 0 にする.

ExtBlueBuffer=iMA(NULL,0,JawsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i).ExtBlueBuffer(NULL)

ExtRedBuffer=iMA(NULL,0,TeethPeriod,0,MODE_SMMA,PRICE_MEDIAN,i); ExtRedBuffer=iMA(NULL,0,TeethPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);

ExtLimeBuffer=iMA(NULL,0,LipsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i) とする。

}

//----完了

return(0);

}

 
natsirte:
こんにちは、evrerybody

2つのEAを動作させることは可能ですか?

- 同じ時間帯に

- 同じタイムフレーム(例:1分)で

- 同じ通貨ペア(例:EUR/USD)で同時に動作させることは可能ですか?

MagicNumber (EA_1 = 10 ; EA_2 = 20)を変更しましたが、取引条件がそれぞれ良くても、次々と動いています。

助けてください。

ありがとうございます。

行を置き換えてください。

if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {[/PHP] by this one : [PHP]if(OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
 

15分足のバーが終了した直後にコードを実行する

トレーリングストップがあり、15分足で1ティック ごとに更新され、BID価格から20ピップ計算されます。

しかし、私はトレーリングストップが直近の15分バーの終了時に計算されることを希望しています。

つまり、これは買いの場合です。

if( BID > 高値[1] - (20 * ポイント)) StopLoss = High[1] - (20 * Point);

つまりこれは、ストップが移動する前に、現在の15分足のバーが好きなだけ振り回されるようにするためです。

これはアイデアですか、またはそこに他の人がいますか?Thx