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

 

これを試してみてください。

置く

double ma_cross;[/CODE] as a global variable.

In the start function :

[CODE]

double ma1=NormalizeDouble(first_ma,Digits);

double ma2=NormalizeDouble(second_ma,Digits);

if(ma1=ma2)

{

ma_cross=ma1;

}

int spread=MarketInfo(Symbol(), MODE_SPREAD);

SLbuy=ma1+spread-SL*Point;

SLsell=ma1+SL*Point;

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

 

逆シグナルでのクローズ/オープントレード

ちょっとした問題があります。

私のEAでは、買い条件と売り条件、そして反転シグナルに対する決済注文があります。同じバーの中で取引を開始したり終了したりするのを防ぐために、次のようなコードを書いています。

if(OneEntryPerBar==true)

{

if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0).If(チェックエントリータイム)=iTime(NULL,PERIOD_H1,0)。

}

すべて順調です。しかし、買い取引中に売り条件を見つけると、買いを閉じますが、これはOKです。しかし、上記のコードがこれを妨げているため、彼は売りを開くことはありません。

1つのバーに一度だけですが、1つのバーの中で閉じて開くようにする方法についての何かアイデアはありますか?

私は私自身が理解できることを願っています。

ありがとうございます。

 

ある時刻にクローズしてキャンセルする?

ある時間、つまりUTC+1の午前5時15分にすべての未決済注文をクローズし、すべての保留中の注文を キャンセルするEAの設定について、どなたか教えていただけませんか?

また、時間だけでなく、日付も指定することは可能でしょうか?

 
dxtrade:
私はここで小さな問題があります。

私のEAでは、買い条件と売り条件、そして逆シグナル用のクローズ注文があります。同じバーの中で取引を開始したり終了したりするのを防ぐために、次のようなコードにしています。

if(OneEntryPerBar==true)

{

if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0); else CheckEntryTime = iTime(NULL,PERIOD_H1,0).If(チェックエントリータイム)=iTime(NULL,PERIOD_H1,0)。

}

すべて順調です。しかし、買い取引中に売り条件を見つけると、買いを閉じますが、これはOKです。しかし、上記のコードがこれを妨げているため、彼は売りを開くことはありません。

1つのバーに一度だけですが、1つのバーの中で閉じて開くようにする方法についての何かアイデアはありますか?

私は私自身が理解できることを願っています。

感謝

上のコードのせいで、次の時間まで開かないんだ...

これを試してみてください...

if (OrderOpenTime() >= iTime(NULL, PERIOD_H1, 0)) order++;

if (オーダー < 1)

{

注文条件

}

専門家ではありませんが、このコードでは複数回実行することを止められません。

 

ヘルプミーEa

私は英語を話すことができない、私はMaxtradeとリスクを追加したいあなたは私を助けてください。

ありがとうございます。

ファイル:
zero.mq4  10 kb
 
wasanmyza:
私は英語を話すことができない、私はMaxtradeとリスクを追加したいあなたは私を助けるかThankyou

こんにちは。

このEAには別の問題があります。VAR1、VAR2、VAR3が特定の値に達したとき、またはそれを超えたときに売買を行いたいと述べていますね。

まず、VAR1,2,3とは何なのかを定義する必要があります。特定の設定を持ついくつかのインジケータ?

ありがとうございます。

ストレンジガイ

 

利食い、他の注文を全てキャンセル

オープンオーダーが利益目標を達成すると、残りの保留中のオーダーが削除されるコードの書き方をご存知の方はいらっしゃいますか?ocoとは別物です。エリートセクションをチェックしましたが、何もありませんでした。

 

質問

私は2つのプログラムの違いを理解していないが、それを教えるだろう?

intの制限= Bars - IndicatorCounted()。

int i ;

for( i=limit-1; i>=0; i--)

int counted_bars=IndicatorCounted();

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

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

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

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

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

 
nakata79087:
私は2つのプログラムの違いを理解していないが、それを教えるのだろうか?

int limit = Bars-IndicatorCounted();

int i ;

for( i=limit-1; i>=0; i--)

int counted_bars=IndicatorCounted();

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

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

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

if(counted_bars>0) counted_bars--;

limit=Bars-counted_barsです。

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

最も重要な 違いは、"for "ループの方向である。

最初のものは、自然な時間に従って、すなわち最も古いバーから最も新しいバーまでバーをスキャンします。

2番目のものは、逆方向にバーをスキャンします:バーの計算が前のバーの結果に関係しない場合、これは動作します。

一般的には、時間と同じ方向を使用する方が良いでしょう:常に動作し、間違いの可能性はありません。

 

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

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

この2つは微妙に違うのですが、なぜ違うサインを出すのか、長い間悩みました。