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

 

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

おっしゃることはよくわかります。私はすでに私の変数prevtimeで同じことをしていると思う、ここで私はチェックする場合

prevtime == Time[0] です。

それともTime[0]とBarsを使用するのは違うのでしょうか?

しかし、私の問題は終値 です。

なぜなら、私は瞬間 "Close[0]"でそれをチェックすることができ、私は次のバーのオープン価格でそれをチェックし、 "Close[1]"を記述しなければならないのでしょうか?

私は間違って考えている何ですか?

 
sunshineh:
ご回答ありがとうございました。

おっしゃることはよくわかります。私はすでに私の変数prevtimeで同じことをしていると思います、私はチェックします。

prevtime == Time[0] です。

それとも、Time[0]とBarsを使うのは違うのでしょうか?

しかし、私の問題は終値です。

なぜなら、私は瞬間 "Close[0]"でそれをチェックすることができ、私は次のバーからオープン価格でそれをチェックし、 "Close[1]"を記述しなければならないのでしょうか?

私は何を勘違いしているのだろう?

はい、Time[0]で同じように動作します。

例えば、prevtime!=Time[0]が新しいバーの到来を意味する場合、close[0] == open[0] == high[0] == low[0] となります。もし、他のバーの終値を使いたい場合は、例えば、Close[1]は、前のバーの終値になります。

お役に立てれば幸いです。

 

コーディングの質問でどなたか助けていただけませんか?

EAの2つの機能を どのようにコーディングしたらよいか考えています。

#1: EAに、x時間からy時間(開始時間から終了時間まで)の取引を指示する入力を持たせたい。

#2:1回の取引で1回しか取引しないようにしたい。言い換えれば、もしEAが米国東部標準時の午前2時から4時の間に取引を行い、それが完了した場合、EAがその日/サイクルで別の取引を開始しないようにしたいのです。

皆様のご協力に感謝いたします。

 

ピラミッドのヘルプが必要

こんにちは。

130エラーで困って います。

私はこのコードでピラミッドを作りました(最初の注文がテクニカルシグナルで開かれたときに開始されます)。

for (count= OrdersTotal()-1; count>=0; count--){

OrderSelect(count, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol() == Currencies){

if(OrderType()==OP_SELL){

if(OrderMagicNumber()==16381 && CheckMagic(16383,OP_SELL)==false && CheckMagic(16385,OP_SELL)==false ){

if(Ask <=OrderOpenPrice()-breakeven*Point)SellOrders(OP_SELL, LotsCount(1),NormalizeDouble(OrderOpenPrice(),4), NormalizeDouble(Ask,4), NormalizeDouble(OrderTakeProfit(),4), TimeToStr(Time[0]),16383);

}

if(OrderMagicNumber()==16383 && CheckMagic(16381,OP_SELL)==true && CheckMagic(16385,OP_SELL)==false)

{

if(Ask <=OrderOpenPrice()-breakeven*Point)SellOrders(OP_SELL, LotsCount(0.5),NormalizeDouble(OrderOpenPrice(),4), NormalizeDouble(Ask,4), NormalizeDouble(OrderTakeProfit(),4), TimeToStr(Time[0]),16385);

}

}

}

}

最初の3つの注文は、私がテストしているときは大丈夫です。

その後、私はエラー130を取得します。

下の画像で見ることができます。

ファイル:
error130.jpg  193 kb
 

クロスオーバーの処理

Gann_HiLo_Activator_v2 をバックテストするためのEAを開発しようとしています。このインジケータは、1つのバーの間に値を再計算します。このインジケータは、バーの間に値を再計算し、バーの終わりに値が設定され、RSI/MACDとほぼ同じです。私の問題は、クロスを釘付けにすることです。

バーがギャンを交差することもあれば、交差しないバーもあります。つまり、Open[0] または Close[0] がギャンラインの 値を包含していないことを意味します。このクロスをどのように釘付けにすれば、価格がこの線の上または下に下がったときにEAがピックアップするようになりますか?これはバーごとに一度だけ行われればよいので、私はフィルターとしてVolume[0]>1を使用しています。

 

こんにちは。

私のコードは、毎ティックではなく、毎秒実行されるようにしたいのです。どうすれば可能でしょうか?

よろしくお願いします。

 
jan100:
こんにちは。

私のコードは、毎ティックではなく、毎秒実行されるようにしたいのです。どうすれば可能ですか?

ありがとうございます。

こんにちは。

はい、EAの代わりにSCRIPTを使用する必要があります。

そして、開始関数で 次のようなものを使用します。

while(true) // 常に真

{

//ここで注文を出すか何か

Sleep(1000);//1000 ミリ秒 = 1 秒

}

よろしくお願いします。

ケイル

 

数学のヘルプをお願いします

削除されました、計算しました。

 

メタトレーダーで時間帯のバーの終わりを見つける vs. 刻み目

EAのコーディングで困っているのは、メタトレーダーが期間内の各バーに対してティックを使ってインジケータをシミュレートしていることです。

どなたかこの対処法をご存知の方はいらっしゃいますか?

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

アンドリュー・ハース

削除済み  

EAを販売する

私が作ったEAを販売する権利があるのかどうか、お聞きしたいのです。合法なのか、合法でない場合はどうすればいいのか。 ありがとうございます。