// it is important to enter the market correctly, // but it is more important to exit it correctly... for( cnt=0; cnt< total; cnt++){OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES);if(OrderType()<=OP_SELL&&// check for opened position OrderSymbol()==Symbol())// check for symbol{OrderSend(if(OrderType()==OP_BUY)// long position is opened
第2部
Посмотри внимательно на этот кусок
本当にありがとうございました。
そして、最後にもう一つ質問です。1つのタイムフレーム(例えばH1)で使用されるシグナル(メイン)を作ることは可能ですか、そして位置はより低いTF(例えばM5)からの信号によって追加されましたか?書いたのですが、ストップなしでトレードを開いてしまいます(Sleep()をつけるべきかもしれませんね)。H1では1つのシグナルに見えますが、100ものディールを開くのです。変数は正しいようで、ゼロではなく、前のバーを基準にしています。1つの条件だけが、直前のバーの高値(High(0)>High(1))とそれぞれの安値を分解することを使用しています。一般的に、この方法を使用することは可能ですか、または1つのタイムフレームのみがEAを動作させるべきですか?歴史もたくさんあるんですよ。
そして、何を求めるかはあなた次第です。すべてのタイムフレームで、すべての利用可能な商品でも。
А это уже как Вам будет угодно. Хоть по всем таймфреймам, да еще и по всем инструментам доступным.
そして変数には、時間枠のところに5を入れるだけ、それだけ(ペンタの場合)?
high5=iHigh(NULL,5,1)とする。
そして変数には、時間枠のところに5を入れるだけ、それだけ(ペンタの場合)?
high5=iHigh(NULL,5,1)とする。
時報はどうする?
А как тогда часовики?
high=iHigh(NULL,60,1); それとも何かおかしいのでしょうか?
2次元配列から1次元を関数に渡す方法を教えてください。
何かと混乱する。
int testarray[5][2] = {1,2,3,4,5,6,7,8,9,10};
void testfunc(int &inarray[]){
string out_str="Result: "+inarray[0];
for (int i=1;i<5;i++){
out_str += (", "+inarray[i]);
}
Print(out_str);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
Print("Call first:");
testfunc(testarray[][0]);
Print("Call second:");
testfunc(testarray[][1]);
//----
return(0);
}
//+-----------
コンパイルできない。:(
配列は完全なコンポーネントであり、その全体を渡し、必要に応じて処理する...