extern double SL=20; // SL для открываемого ордера extern double TP=20; // ТР для открываемого ордера extern double Lot=0.01; // Жестко заданное колич. лотов datetime time; //--------------------------------------------------------------- 2 -- int start() { int Total;
double M_0, M_1;
bool Ans =false, // Ответ сервера после закрытия Cls_B=false, // Критерий для закрытия Buy Cls_S=false, // Критерий для закрытия Sell Opn_B=false, // Критерий для открытия Buy Opn_S=false; // Критерий для открытия Sell
問題です。アドバイスをお願いします。
InOrderSelect(0,SELECT_BY_POS,MODE_HISTORY)
OrderProfit()は、履歴リストの最初の利益を返します。
履歴リストの最後の利益を返すようにするにはどうしたらいいですか?
こんな風にやってみました。
A=OrdersHistoriTotal()です。
OrderSelect(A,SELECT_BY_POS,MODE_HISTORY);
OrderProfit() は全く何も返しません)
)) が、うまくいきません。
プロフェッショナル、スクリプトを修正する方法をアドバイスしてください。データのエクスポートにスクリプトを使用しています
データのあるファイルが5つ出力されるのですが。1つのファイルを取得したいのですが、そのファイルには、最初の計測器のデータ、次に2番目の計測器のデータ、といった具合に含まれています。1つのファイルにまとめられない...。ありがとうございます。
プロフェッショナル、スクリプトを修正する方法をアドバイスしてください。データのエクスポートにスクリプトを使用しています
出力はデータで5ファイルです。1つのファイルを取得したいのですが、そのファイルには、最初の計測器のデータ、次に2番目の計測器のデータ、といった具合に含まれています。1つのファイルにまとめられない...。ありがとうございます。
ファイルオープンを使って読み書きを行い、ファイルの末尾に移動し、追加する
FileOpen(fname,FILE_WRITE|FILE_READ)。
ファイルシーク(FileSeek)
おだいじに
問題です。アドバイスをお願いします。
In OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)
OrderProfit()は、履歴リストの最初の利益を返します。
履歴リストの最後の利益を返すようにするにはどうしたらいいですか?
こんな風にやってみました。
A=OrdersHistoriTotal()です。
OrderSelect(A,SELECT_BY_POS,MODE_HISTORY);
OrderProfit() は全く何も返しません)
)) が、うまくいきません。
だから、最後の令状はまだ見つかっていない。そして、最後の1枚はどれだ。開店時間 または閉店時間までにそしてもちろん、どの楽器を探すかも忘れてはいけません。
トランザクションの最大音量をハード制限するためのEAに何を書くべきかアドバイス? それはちょうど開くためにどのボリュームを決定しますが、時には大きなボリュームを開き、その後壊れて行く、私は最大0.5を制限する必要があります
知っている人なら、自分でやっているはずです。しかし、ここでは他の人のコードに変更を加えなければならないようだ
ありがとうございました。
extern double TP=20; // ТР для открываемого ордера
extern double Lot=0.01; // Жестко заданное колич. лотов
datetime time;
//--------------------------------------------------------------- 2 --
int start()
{
int Total;
double
M_0,
M_1;
bool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell
//--------------------------------------------------------------- 3 --
// Учёт ордеров
for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;
if(Total!=0 || time==Time[1])return;
// Торговые критерии
M_0=iOsMA(NULL,0,13,34,8,0,0); // 0 бар
M_1=iOsMA(NULL,0,13,34,8,0,1); // 1 бар
if (M_1<0 && M_0>0)
Opn_B=true;
if (M_1>0 && M_0<0)
Opn_S=true;
//--------------------------------------------------------------- 7 --
if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,Bid-SL*Point,Bid+TP*Point);time=Time[1];}
if (Opn_S)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,0,Ask+SL*Point,Ask-TP*Point);time=Time[1];}
}
うまくいきませんね、ここを変えるか、開始の後に入れるかしないといけないのかもしれませんね。
紙に書かれたあなたのコードを、私が理解できるロシア語に翻訳しようとしましたが、うまくいきません。
特に各条件が続く場合、8つの条件のうち1つの条件が続くと複雑すぎる。
もちろん、このコードを作った人が奇跡であることに異論はありませんが、私にとっては完全な倒錯です(良い意味で)。
標準機能以外の各操作や条件には、コメントをつけるのが面倒です。