[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 453

 

こんにちは。

保留中の注文がスクリプトによってトリガーされた場合、このスクリプトをツールウィンドウから切り離すにはどうすればよいですか?

よろしくお願いします。

 
baltik >>:

НЕТ

Скрипт при исполнении делает файл с историей в папку ексерт\филес\ имя файла (это номер счета)

Все очень просто скрипт на 3 терминалах исполняется скажем в 6 утра автоматом

Значит нам не надо открывать терминалы - отрываем базу и новые данные уже в ней подхвачены готовые к анализу (это уже реализовано)

% деятельности с посчитанными свопами, сводными таблицами и графиками и т.д.

ターミナルを開くスクリプトがない!

ですから、動作させたい場合は、ネットに接続されたオープンな端末である必要があります。必要な時間に実行し、データを記録します。ただし、端子は常にオンにしておく必要があります。

 
Aleks25 >>:

Добрый день!

Как сделать, если сработал отложенный скриптом ордер, чтобы этот скрипт отсоединить от окна инструмента?

Заранее благодарен.

スクリプトはグラフ上で一度実行されるため、手動で接続を解除する必要はありません。

 
sergeev >>:

скрипт выполняется на графике один раз и не требует ручного отсоединения.

残念ながら、ウィンドウとの接続を解除しないと、前の注文を閉じたときに次の注文を開いてしまいます。

 
は、スクリプトなのか、専門家なのか?
 
By code a script, but is in experts' directory.
 

以下はそのコードです。

価格変動時に保留中の注文をシフトする


//
extern double OTSTUP_BUY = 7;
extern double TakeProfit = 100;
//extern double BuyStop = 0;
//extern double StopLoss = 0;
extern double Lots = 0.01;
//extern double TrailingStop = 21;

double min =100000;
double
lmax, // 基準価格、通過後
// 売り( abs )
lmin, // 買い
Lot;

int Count=0;
int total=0;
int Ticket=0; // グローバル変数です。
//----------------------------------------------------
int init() // Special init()

{
int total=OrdersTotal(); // 未決済注文のみ
string Symbol1=Symbol();
double metka=0;
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue;
{
if(OrderSymbol()==Symbol())
{
metka=1;
Alert("Order #", OrderTicket(), " in ", OrderSymbol());

}.
else
{
}
}

}

if(metka==0 )
// if(metka==0 && UROVEN>=Ask)

{

double bid =MarketInfo(Symbol(),MODE_BID); // Request Bid値
double ask =MarketInfo(Symbol(),MODE_ASK); // Request Ask値
double min =MarketInfo(Symbol(),MODE_ASK); // Request Ask値
double point =MarketInfo(Symbol(),MODE_POINT)の場合。//クエリポイント
OrderSend(Symbol(,OP_BUYSTOP,Lots,bid+OTSTUP_BUY*Point,3,bid-1*Point,bid+TakeProfit*Point);
int Ticket=OrderTicket();
//OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyStop,3,StopLoss,TakeProfit, "Bye Stop 1");
Alert (Ticket); //Error message
// Alert (Symbol(),",OP_BUYSTOP," ",0.01," ",ask+10*Point," ",3," ",ask-35*Point,」;
Alert (GetLastError());
}


return; // init() 終了
}

//--------------------------------------------------------------------
int start() // 特殊です。function start()
{
if(min>Bid) min=Bid;
{ // 最低価格をカウント




int total=OrdersTotal(); // 未決済注文のみ
string Symbol1=Symbol();
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue;
{
if(OrderSymbol()==Symbol())
{
Alert("Order #", OrderTicket(), " in ", OrderSymbol());
Alert (min);
OrderModify(OrderTicket(),min+OTSTUP_BUY*Point,min-1*Point,min+TakeProfit*Point,0);//Modify
Alert (GetLastError());
Alert(Symbol(), "",OrderTicket()), OrderTicket()," ",min+OTSTUP_BUY*Point," ",min-1*Point," ",min+TakeProfit*Point," ",0);
}
}
}



}
return; // 終了 init()
}

//------------------------------------
int deinit() // 特殊。f-iia deinit()
{
// Alert ("Deinit() f-iia triggered on unloading"); // Message
return; // Exit deinit()
}
//---------------------------------------------------------------------.

 

文字列 iii[]。

iii[0] = "1";
iii[1] = "2"。
iii[2] = "3"。

MessageBox(iii[0]);
MessageBox(iii[1]);
MessageBox(iii[2]);
は、1、2、3......の代わりに、数字の3を3回出力します。ワロタww

おつかれさま

 
配列の要素数を指定しなかったのが問題なのでしょう。 しかし、最初は要素数が不明で、ループの中で配列が埋まっていく場合はどうすればいいのでしょうか。(私の場合、ファイルから読み込む場合)
 
mrddt >>:
догадываюсьчто проблема в том что я не указал кол-во элементов в массиве. а что делать если кол-во элементов изначально неизвесно и массив заполняется в цикле? (в моём случае при чтении из файла)

アレイサイズ