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
问题。请告知。
在OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)
OrderProfit()返回历史列表中的第一个利润。
如何使其返回历史列表中的最后一笔利润?
我是这样试的。
A=OrdersHistoriTotal()。
OrderSelect(A,SELECT_BY_POS,MODE_HISTORY)。
OrderProfit()根本不返回任何东西)
)),但它不工作
专业人士,请告知如何修复该脚本。我使用一个脚本来导出数据
我在输出中得到5个有数据的文件。我想得到1个文件,它将包含第一个仪器的数据,然后是第二个,等等。我无法将其全部纳入一个文件...谢谢。
专业人士,请告知如何修复该脚本。我使用一个脚本来导出数据
输出的是5个带有数据的文件。我想得到1个文件,它将包含第一个仪器的数据,然后是第二个,等等。我无法将其全部纳入一个文件...谢谢。
使用文件打开读和写,移动到文件的末尾并添加
FileOpen(fname,FILE_WRITE|FILE_READ)。
文件搜索()
帮助你
问题。请告知。
在OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)
OrderProfit()返回历史列表中的第一个利润。
如何使其返回历史列表中的最后一笔利润?
我是这样试的。
A=OrdersHistoriTotal()。
OrderSelect(A,SELECT_BY_POS,MODE_HISTORY)。
OrderProfit()根本不返回任何东西)
)),但它不工作
因此,最后的逮捕令还没有找到。而这是最后一个。按开幕 或闭幕时间。当然,也不要忘记寻找哪种乐器。
建议在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];}
}
它不工作,也许我需要改变这里的东西或把它放在开始之后。
我试着把你纸上的代码翻译成我理解的俄语,但没有用。
它太复杂了,特别是当每个条件中的条件跟在后面,八个条件中的一个条件。
当然,我不认为谁创造了这个代码是一个奇迹,但对我来说,它是一个完全的变态(在一个好的方面)。
我懒得为每个操作和条件写评论,除了标准函数。