//--- заблокируем базу данных перед выполнением транзакцийDatabaseTransactionBegin(database);
int request=DatabasePrepare(database, "SELECT COUNT(*) FROM POSITION");
DatabaseReadBind(request, person)
id=person.ID;
返回一个错误
获取最后一个ID
也可以试试这个,不能得到行数
int request=DatabasePrepare(database, "SELECT COUNT(*) FROM POSITION");
id= DatabaseRead(request);
//--- открываем/создаем базу данных в общей папке терминаловint database=DatabaseOpen(filename+".sqlite", DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);
if(database==INVALID_HANDLE)
{
Print("SaveStats: ", filename, " открываем/создаем базу данных в общей папке терминалов ", GetLastError());
return;
}
//--- заблокируем базу данных перед выполнением транзакцийDatabaseTransactionBegin(database);
int request=DatabasePrepare(database, "SELECT COUNT(*) FROM POSITION");
int id= DatabaseRead(request);
如果我对照数据库检查该查询,它的返回结果是这样的
对
int id= DatabaseRead(request);
数据库是一个bool,id是int
我怎样才能把查询结果拿出来?
它工作了,我创建了一个额外的sql类
//--- заблокируем базу данных перед выполнением транзакцийDatabaseTransactionBegin(database);
int request=DatabasePrepare(database, "SELECT COUNT(*) FROM POSITION");
DatabaseReadBind(request,sql);
我认为,如果当前条形图有自己的时间索引,那么这个组合将永远不会改变。
或者说,作为历史分页的结果,这个索引将被分配给某个历史条形图,而当前条形图将得到一个新的索引,大于分页条形图的数量?
另外,换句话说:
,只有在完整的历史交换之后,当前的条形图才会变得可用(指数、价格和时间),此后其参数永远不会改变,这种理解是否正确?
请告诉我如何获得MySQL表中的行数
返回一个错误
获取最后一个ID
也可以试试这个,不能得到行数
怎么了,为什么我不能从查询中得到一个值?
如果我对照数据库检查该查询,它的返回结果是这样的
对
int id= DatabaseRead(request);
数据库是一个bool,id是int
我怎样才能把查询结果拿出来?
它工作了,我创建了一个额外的sql类
在卸载指标 和调用DeInit之间会有几秒钟的时间。
为什么会出现停顿,能否避免?
,我正在使用这个块,取自文档(包括tp和sl)。
//+------------------------------------------------------------------+
void Open_order_BUY()
{
double bid = SymbolInfoDouble(Symbol(),SYMBOL_BID),
ask = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
//--- объявление и инициализация запроса и результата
MqlTradeRequest request={};
MqlTradeResult result={};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.01; // объем в 0.1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.sl =bid-SL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // SL
request.tp =ask+TP*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // TP
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
//+------------------------------------------------------------------+
void Open_order_SELL()
{
double bid = SymbolInfoDouble(Symbol(),SYMBOL_BID),
ask = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
//--- объявление и инициализация запроса и результата
MqlTradeRequest request={};
MqlTradeResult result={};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.01; // объем в 0.2 лот
request.type =ORDER_TYPE_SELL; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
request.sl =ask+SL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // SL
request.tp =bid-TP*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // TP
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
每一个tick 都会有一个订单打开。 ,我正在使用这个块,取自文件(包括tp和sl),我怎样才能解决只有一个订单的问题?
//+------------------------------------------------------------------+
void Open_order_BUY()
{
double bid = SymbolInfoDouble(Symbol(),SYMBOL_BID),
ask = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
//--- объявление и инициализация запроса и результата
MqlTradeRequest request={};
MqlTradeResult result={};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.01; // объем в 0.1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.sl =bid-SL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // SL
request.tp =ask+TP*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // TP
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
//+------------------------------------------------------------------+
void Open_order_SELL()
{
double bid = SymbolInfoDouble(Symbol(),SYMBOL_BID),
ask = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
//--- объявление и инициализация запроса и результата
MqlTradeRequest request={};
MqlTradeResult result={};
//--- параметры запроса
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =0.01; // объем в 0.2 лот
request.type =ORDER_TYPE_SELL; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
request.sl =ask+SL*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // SL
request.tp =bid-TP*SymbolInfoDouble(Symbol(),SYMBOL_POINT); // TP
request.deviation=5; // допустимое отклонение от цены
request.magic =EXPERT_MAGIC; // MagicNumber ордера
//--- отправка запроса
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки
//--- информация об операции
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
}
解决了。
我如何将这条线向右延伸?比当前酒吧更远。
有时间 和价格的坐标。价格是清楚的,但如何设置时间(我试过iTime(Symbol(), PERIOD_CURRENT, 0),但它的索引是零)。
我如何将这条线向右延伸?比当前酒吧更远。
有时间 和价格的坐标。我明白价格,但如何设置时间(我试过iTime(Symbol(), PERIOD_CURRENT, 0),但它的索引是零)。
下午好。
这里有一个问题。
我正在写一个指标,用DRAW_FILLING画法画出区域。图表上除了画出的区域外,还有其他几个指标,包括很多的缪斯。当一个区域被画出时,其他指标的线条会急剧改变其颜色。
问题是:我们能否在MT5中以这样的方式绘制区域,使其颜色不重叠,不改变其他指标线的颜色?
P.S. 我挖掘了指标缓冲区的所有属性(像 PlotIndexSetInteger 这样的方法),没有类似的东西。
P.S2。所附的是MT5的屏幕截图。
下午好。
这里有一个问题。
我正在写一个指标,用DRAW_FILLING画法画出区域。图表上除了画出的区域外,还有其他几个指标,包括很多的缪斯。当一个区域被画出时,其他指标的线条会急剧改变其颜色。
问题是:我能否在MT5中以这样的方式绘制区域,使其颜色不重叠,不改变其他指标线的颜色?
P.S. 我挖掘了指标缓冲区的所有属性(像 PlotIndexSetInteger 这样的方法),没有类似的东西。
P.S2。这里是MT5的截图。
这一切都取决于重叠的顺序,谁在最后谁就在上面。
先用DRAW_FILLING 定义缓冲区