MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 139

 
Artyom Trishkin:

Windowsでも、mql4でタブの並べ替えができない。

チャートを 好きな順番で開き、それに必要なテンプレートを設定するだけです。

もちろん、ソートはできませんが、手動で1つずつ移動させることは可能です。

mqlを使ったソートについては、以下のオプションを試すと良いと思います。

1.コード、Expert Advisor、スクリプトを実行しているウィンドウ以外をすべて閉じます。

2. Expert Advisorを含む新しいウィンドウを一定の順序で開き、それらを調整したり、テンプレートを適用したりする。

3.最後に、コードが実行されているウィンドウを削除します。

 
Alexey Viktorov:

もちろんソートはできませんが、1つずつ手動で移動させることができます。

mqlを使ったソートについては、以下のオプションを試すと良いと思います。

1.コード、Expert Advisor、スクリプトを実行しているウィンドウ以外をすべて閉じます。

2. Expert Advisor を含む新しいウィンドウを一定の順序で開き、それらを調整したり、テンプレートを適用したりします。

3.最後に、コードが実行されているウィンドウを削除します。

私はすでにそれについて考えている - いくつかの干渉要因がある、例えば - チャートのいくつかでExpert Advisorが実行されています。
 
Artyom Trishkin:
すでに考えてみたのですが、例えば、いくつかのチャートでEAが動作しているなど、干渉する要素が多くあります
それなら、まずすべてのチャートからテンプレートを作ってから削除したほうがいいかもしれませんね。そして、開封後、これらのテンプレートを適用してください。今書いているEAで注文を拾わないものはごく少数であることを祈ります。
 
Artyom Trishkin:
例えば、Expert Advisorがチャートの1つで動作して いる場合など、様々な干渉要因があります。

チャートID

現在のチャートの ID を返します。

長いChartID()。

戻り値

long型の 値。

 
Alekseu Fedotov:

チャートID

現在のチャートの ID を返します。

長いChartID()。

戻り値

long型の 値。

И?エキスパート・アドバイザーが動作するオープン・チャートを分類するために、識別子を知ることはどのように役立つのでしょうか?:)
 
Artyom Trishkin:
И?IDを知ることで、EAが動作するオープンチャートを選別するのに役立つのでしょうか?:)


Expert Advisorが動作しているチャートのことです。

アルチョム・トリシキン

私はすでにそれについて考えている - 例えば、いくつかのチャートでExpert Advisorが実行されて いるなど、いくつかの混乱した 要因があります。
 
Alekseu Fedotov:


EAが動作するチャートの話です

アルチョム・トリシキン

私はすでにそれについて考えた - いくつかの干渉要因がある、例えば -いくつかのチャートでは、Expert Advisorが実行されて います。
既存のチャートを削除し、正しい順序で再オープンしても、Expert Advisor やインジケータが動作しているチャートがある場合、問題はないのでしょうか。
だから、どうするか考えてみてください。IDやそれを知っているという事実が、ここでは何の役にも立たないことがわかると思います。
 
Alekseu Fedotov:


EAが動作しているチャートについてです。

アルチョム・トリシキン

既に考えていることですが、例えば、いくつかのチャートでEAが動作 しているなど、干渉する 要素が多くあります

プロファイルフォルダでは、特定の順序で文字列の名前を変更する必要があることは理解しています。文字列への再保存は、プロファイルを変更するかターミナルを閉じた ときに行われます。しかし、これにはすべてライブラリの呼び出しが必要です。そういうものだと思うんです。
 

フォーラムユーザーの皆様へ

ポジション量 計算機能に、最後の注文が損切りされた場合、次の注文は比率を高めて発注するという条件を追加することを思いつきました。

すでに書きましたが、片方のリターンがうまくいかず、次にもう片方のリターンがうまくいきません。

何が間違っているのか、アドバイスをお願いします。

double GetLot(int type)

{

if(CountOrdersType(type)==0 || LastOrderTypeLots(type)>Max_Lot)

{

if(!Auto_Lot)return(Start_Lot);

return(AccountBalance()*(Lot_Percents/100)*AccountLeverage()/MarketInfo(Symbol(),MODE_LOTSIZE)); }.

{ if(!History)return(Start_Lot);

datetime time=0;double lastlot=0;int lastop=0;double prof=0;

for(int i=OrdersHistoryTotal()-1;i>=0;i--)

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)&&OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic&&OrderType()<=1))

{

if(time<OrderCloseTime()){time=OrderCloseTime();lastlot=OrderLots();lastop=OrderType();prof=OrderProfit();} {time=OrderCloseTime();lastop=OrderLots();prof=OrderProt()

}

if(prof < 0 && OrderMagicNumber() == Magic)lot=OrderLots();

return(lot * History_Multiplier); }.

return(LastOrderTypeLots(type)*Lot_Multiplier);

}


 
Artyom Trishkin:
既存のチャートを削除し、正しい順序で開き直すことは、EAやインジケータがその一部で動作している場合、問題ないとお考えですか?
だから、どうするか考えてみてください。IDやそれを知っていることが、ここでは何の役にも立たないことに気づくはずです。


反省しています。

削除について

   long Chart_ID = ChartID();
   int i=0,limit=100;
   while(i<limit)
     {
    if(ChartNext(Chart_ID)<0) break;
      ChartClose(ChartNext(Chart_ID));
      i++;
     }