//--- заблокируем базу данных перед выполнением транзакций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);
データベースはブール値,id は int です.
クエリーの結果を取り出すにはどうしたらよいですか?
うまくいったので、追加のSQLクラスを作成しました。
//--- заблокируем базу данных перед выполнением транзакцийDatabaseTransactionBegin(database);
int request=DatabasePrepare(database, "SELECT COUNT(*) FROM POSITION");
DatabaseReadBind(request,sql);
現在のバーが独自の時間を持つインデックスを持っている場合、この組み合わせは決して変更されないと仮定しています。
それとも、ヒストリーページングの結果、このインデックスが過去のバーに割り当てられ、現在のバーがページングされたバーの数だけ大きな新しいインデックスを取得することは可能ですか?
また言い換えると、
、現在のバーが利用可能になるのは、ヒストリーのフルスワップ後のみで、それ以降はそのパラメータは変化しないという理解でよいでしょうか。
MySQLテーブルの行数を取得する方法を教えてください。
エラーを返します
最後のIDを取得する
これも試してみましたが、行数を取得できません。
どうしたんだ、なぜクエリから値が取れないんだ?
このクエリをデータベースと照合すると、そのまま返されます。
右
int id= DatabaseRead(request);
データベースはブール値,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);
}
ティック ごとに注文が開始されます。 私はこのブロックを使っています。ドキュメントから引用しました(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)を試したが、そのインデックスは0である)。
こんにちは。
ここで質問です。
DRAW_FILLINGの描画スタイルでゾーンを描画するインジケータを作成しています。描画されたゾーン以外にも、チャート上にはたくさんのムーウィングなどいくつかの指標があります。ゾーンが描かれると、他のインジケーターのラインもシャープに色が変化します。
質問:MT5でゾーンの色が重ならず、他のインジケーターのラインの色を変えないように描けるか?
追伸:インジケータバッファのプロパティ( PlotIndexSetIntegerなどの メソッド)を全て掘ってみましたが、似たようなものはありません。
P.S2.は、MT5のスクリーンショットです。
こんにちは。
ここで質問です。
DRAW_FILLINGの描画スタイルでゾーンを描画するインジケータを作成しています。描画されたゾーン以外にも、チャート上にはたくさんのムーウィングなどいくつかの指標があります。ゾーンが描かれると、他のインジケーターのラインもシャープに色が変化します。
質問:MT5でゾーンの色が重ならず、他のインジケーターのラインの色を変えないように描けるか?
追伸:インジケータバッファのプロパティ( PlotIndexSetIntegerなどの メソッド)を全て掘ってみましたが、似たようなものはありません。
P.S2.以下は、MT5の画面です。
全ては重なり合う順序に依存し、最後にいる者が上位となる
最初にDRAW_FILLINGで バッファを定義します。