rsi1=iRSI(NULL,0,14,PRICE_CLOSE,1);
rsi2=iRSI(NULL,0,14,PRICE_CLOSE,0);
if(rsi2>70 && Ask > High[1] + (10*pips2dbl) )
{
Opn_S=true;
}
elseif(rsi2>70 && Ask < High[1] + (10*pips2dbl))
{
Opn_S=false;
}
Here you give value to Opn_S, but you do nothing with it
lastTicket=OrderSend(Symbol(),OP_BUY,mylot(),Ask,0,0,0,"My Comment",magic,0,Green);
{
int cnt;
int NumTrades; // Number of buy and sell trades in this symbol
NumTrades = 0;
for (cnt = OrdersTotal()-1 ; cnt >=0 ; cnt--)
{
if(OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES)==true)
if ( OrderSymbol() != Symbol()) continue;
if ( OrderMagicNumber() != magic) continue;
if(OrderType() == OP_BUY ) NumTrades++;
if(OrderType() == OP_SELL ) NumTrades++;
}
}
then getting my ea to work with my loop by just adding if(NumTrades==0 && Opn_B==true) // No new orders +
this ensures my ea to open just 1 order on a giving chart but now i want to expand my ea to open more than one order i remove NumTrades==0
to let the ea open order unrestricted with my ordersend as little i know now i know we can loop through order for so many reason and when it comes
to the looping for highest order on the chart i dont know that well,but can do it if example is giving. please bear with my little coding knowledge and put me through
below is my ea please assist me
double highest_open_price=0;
int highest_Ticket=-1;
for(int pos=OrdersTotal()-1; pos>=0; pos--)
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
&& OrderMagicNumber()==0// my magic number
&& OrderSymbol()==Symbol() // and my pair.
&& OrderOpenPrice()>=highest_open_price)
{
highest_open_price=OrderOpenPrice();
highest_Ticket=OrderTicket();
}
double highest_open_price=0;
int highest_Ticket=-1;
for(int pos=OrdersTotal()-1; pos>=0; pos--)
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES) // Only my orders w/
&& OrderMagicNumber()==0// my magic number
&& OrderSymbol()==Symbol() // and my pair.
&& OrderOpenPrice()>=highest_open_price)
{
highest_open_price=OrderOpenPrice();
highest_Ticket=OrderTicket();
}
やはり、単純な置き換え
私が言ったように - 単純な置換
ありがとう、GumRai: しかし、私のさらなる質問は、私は信じている?
ということなのですが、これをどのように私の取引ロジックで動作させればよいのでしょうか?
ここでは、注文を開くための条件がなく、lastTicketの値を上書きしています。
あなたのコードにはロジックがなく、互いに全く関係のない3つのセクションのコードだけです。
===========================================================================================================================
なぜ私は尋ねるです私はこのように結果をアレンジした下のコード....それは私が望んでいたものになったが、問題はそれが一行で複数の注文を開くことです。
あなたのコードは互いに関連性のない3つのセクションからなり、論理的ではありません。
私は、あなたが他のEAからコードのセクションをコピー&ペーストして、それらが一緒に動作することを望んでいると結論付けることができます。
"私は、"OrderOpenTime() "であると信じて います。
このループが何をするものなのか、あなたは知らないし、書いてもいないことを証明しています。
GumRai これは私のコード全体です。
そのEAが単に書き方が悪いのか、不完全なのか、それともコードの塊が削除 された動作中のEAなのか、私にはよくわかりません。
主に売りを開くということですが、買いを開くことはできないようですね。
買いを開くための主な条件は
コードの中でOpn_Bが登場する唯一の場所は、以下の通りです。
Opn_B=false
ということで、どこにもtrueに設定できるところはありません。
ちなみに
注文を開くだけのループ、素晴らしいコメントです。
そのEAが単に書き方が悪いのか、不完全なのか、それともコードの塊が削除された動作中のEAなのか、私にはよくわかりません。
主に売りを開くということですが、買いを開くことはできないようですね。
買いを開くための主な条件は
コードの中でOpn_Bが登場する唯一の場所は、以下の通りです。
ということで、どこにもtrueに設定できるところはありません。
ちなみに
注文を開くだけのループ、素晴らしいコメントです。
私のコードを見て、推奨点や修正点を指摘していただき、ありがとうございます。
GumRai: だから、多くの人は理解できないかもしれないけれど、私は理解できるし、あなたはコードをよく理解しているから理解できると言ったんです。
さらに、私はeaのオープンを売りだけにした理由があります。この要求のために私のeaは荒れてしまいましたが、解決策が見つかったら、すべてをもう一度整理します。
EAを見てください。私は閉じる条件と買う条件を削除 しました。
.なぜかというと、私はこの条件を満たすことを確認したいからです。
現在のチャートのシンボルで最も高いオープンプライスと、買いならその10ピップ上、売りならその10ピップ下にオープンすること。
クローズ条件を外したのは、他の条件が適所に置かれる前に、コードが正しいことを確認するためのテスト中にバックテストで取引をクローズさせたくないからです。
解決策に到達したら、私は適切な閉鎖 条件で再び私のEAを整理するつもりですそれはあなたが助けているのに、この問題で私を助けるために求めている理由です。
さて、最も高いオープンプライスを 持つ注文を見つけるためのコードを提供しました。
あとは価格がこの値より10pips以上高いかどうかをチェックし、高い場合は別の注文を出すだけです。
ループはどのように すればいいのでしょうか?
highest_open_price とhighest_Ticket を使って、いくつかの条件を書きましたが、バックテストでは期待通りの結果は得られませんでした。
もしかしたら、何か見落としているのでしょうか?