if(takelimit=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print(takelimit,GetLastError());//здесь возвращает число 11, получается ошибка код 11, но не нашел расшифровку нигде?
{if(iBarShift(Symbol(),0,OrderOpenTime())==1)
deletelimit=OrderDelete(ticket);
if(!deletelimit)
Comment(GetLastError());
}
bool takelimit;
if(takelimit?=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print(string(takelimit)+" :",GetLastError());//здесь возвращает число 11, получается ошибка код 11, но не нашел расшифровку нигде?
{if(iBarShift(Symbol(),0,OrderOpenTime())==1) // <<< что это, почему сравнивать с единицей? OrderOpenTime() может вернуть "1"???
deletelimit=OrderDelete(ticket);
if(!deletelimit)
Com
見事に機能します!
2つのポジションから、最後の1つ、つまりスクリーンショットにあるように11本目のバーを選びました。
バリデーションコード
私はポジションを入力する条件を変更することを決めた、ちょうどLow[2]にLimitを設定すると動作しましたが、私の最初の呼び出しで今日のように条件が、それは動作しませんので、それは関数が呼び出される 前に条件そのものにある
私はポジションを入力するための条件を 変更することにしました、ちょうど Low[2]にリミットを設定 すると、それが動作しましたが、今日の私の最初の呼び出しのように条件が、それは動作しませんので、問題は関数を呼び 出す前に条件そのものであること
注文を設定したのはあなたであり、ポジション(買い、売り)へのエントリーではありません。
なるほど、それはいいことですね。
注文を設定したのはあなたであり、ポジション(Buy, Sell)へのエントリーではありません。
よし、わかったぞー、だからいいんだ。
最初にエントリーする条件として、if(Open[2]>Close[2] && Open[1]>Close[1] && Close[1]<Low[2]) があったということです。
で、この関数を呼んでバーインデックスを返していたのですが、今はそれを削除してOrderSendに Low[2]を入れたら動くようになりました。
結局、一日も無駄にせず、死点から少しずらしながら
1 と 1 かもしれない /true とエラーコード 1 です。
あなたのコード全体が間違っています。
あなたのコード全体が間違っています。
バー番号と時刻を 照合しています。
バー・ナンバーと時間を照らし合わせる。
はい、ブラケットに気づきませんでした。
そこで時間ごとにバーの番号をチェックするのですが...。
1 と 1 かもしれない /true とエラーコード 1 です。
Print(takelimit,GetLastError()) は、1番目の変数がbool型なのでGetLastErrorを必要とせず、カンマがあるのでGetLastErrorはGetLastErrorを呼び出した瞬間のコードの最後のエラーを返すので2値を返しますか?