//+------------------------------------------------------------------+void WorkOnTick(string sy, double symbol_bid, datetime symbol_time, int limit) {
long chart_id=get.GetChartID(sy);
int index_symbol=get.PositionsSymbolInList(sy); // позиция символа в спискеdouble pt=SymbolInfoDouble(sy,SYMBOL_POINT);
double pa=SymbolInfoDouble(sy,SYMBOL_ASK);
double pb=SymbolInfoDouble(sy,SYMBOL_BID);
int stoplevel=(int)MarketInfo(sy,MODE_STOPLEVEL);
int dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS);
//--- заполним массивы
FillArrays(sy,symbol_bid,symbol_time,table_price,table_time);
//--- расчёт среднего изменения цен тиковdouble avg_change_price=AverageChangePrice(index_symbol,limit,slowPeriod,table_price);
//--- вывод информации на график
wtf(index_symbol,avg_change_price,slowPeriod,table_price,table_time);
return;
Trailing(sy, 50, 3, magic);
}
//+------------------------------------------------------------------+
この方法で配列に目盛りを入れる必要がありました。
//+------------------------------------------------------------------+void FillArrays(string sy, double price, datetime time, double &mass_price[][], datetime &mass_time[][]) {
//--- сместим данные в массивах влевоint index_symbol=get.PositionsSymbolInList(sy); // позиция символа в спискеfor(int i=99; i>0; i--) { // сместим данные в массивах влево
mass_price[index_symbol][i]=mass_price[index_symbol][i-1];
mass_time[index_symbol][i]=mass_time[index_symbol][i-1];
}
//--- запишем товый тик в массивы
mass_price[index_symbol][0]=price;
mass_time[index_symbol][0]=time;
}
//+------------------------------------------------------------------+
どうか、アドバイスをお願いします。シグナルに接続しているため、そのオープンオーダーをコピーしていますが、取引するロット数を変更することは可能ですか?注文数量を変更するにはどうすればよいですか?
プロバイダのアカウントでは、すべての取引は0.1ロットのボリュームで実行されます。私はこれらの取引がより大きなボリューム、例えば0.3ロットで私にコピーされるようにしたいです。手動で音量を上げることはできますか?
Providerの取引をSubscriberの取引にコピーするルールを作成することはできますか?
4の方、通じないみたいなんですけど...。
私は配列を扱う - 私は配列にティックの到着時刻を書き込む必要があります - 例えば、私は入札を書きます。すべてのティックに。私はすべてチケット 通りに行動しており、アルチョム・トリシキンに 感謝している。すべてがうまくいくわけではありません。2日目も戦った。印刷物
ゼロにする。
https://www.mql5.com/ru/forum/145455/page913#1017464
ありがとうございます。
initでは変数SIZEの値が0になっているようですが、では配列のサイズはどのくらいなのでしょうか?また、起動時のSIZEは0です。ログの中身は?
ゼロもそうだし...。何もわからない...。
プロバイダのアカウントでは、すべての取引は0.1ロットのボリュームで実行されます。私はこれらの取引がより大きなボリューム、例えば0.3ロットで私にコピーされるようにしたいです。自分でボリュームを増やすことはできますか?
ProviderのシンボルからSubscriberのシンボルに取引をコピーするための独自のルールを作成できますか?
ゼロもそうだし...。何もわからない...。
まあ、SIZEをまず増やして0でなくしてから、配列のサイズを変えるということをほのめかしたわけです。
:-)
ありがとうございます。
必要であれば使ってください。
:-)
Spc.
必要であれば使ってください。
SIZEはゼロなのに、なぜ配列のサイズを 先に変更してからSIZEを大きくしなければならないのでしょうか?なんということでしょう・・・。
以前、ticks Expert Advisorのために、tickの強弱や範囲を定義する配列埋めをしたことがあります。例として切り出しました。
以下の関数は、シンボル変数に格納された目的のシンボルでの作業を整理するもので、もし別のシンボルで作業する必要があれば、そこに記述します。関数 FillArrays()は、単に配列を埋めるだけです。
この方法で配列に目盛りを入れる必要がありました。
SIZEが0なのに、なぜ最初に配列のサイズを変更してからSIZEを大きくするのか、理解に苦しみます。なんということでしょう・・・。
ティックの強弱や広がりを判断するティックアドバイザーのために、ティックで配列埋めをしたことがあります。例として切り出しました。
以下の関数は、シンボル変数に格納された目的のシンボルでの作業を整理するもので、もし別のシンボルで作業する必要があれば、そこに記述します。関数 FillArrays()は、単に配列を埋めるだけです。
この方法で配列に目盛りを入れる必要がありました。
n - tickで1 tick/in 1 secの平均レートが必要です。すなわち、nティックをk秒間に受信し、k/nを1秒間にティックで受信する。この速度は、ティックが 到着するたびに測定する必要があります。それ以降のティックごとに変化します。
mt4に時計があるかどうか教えてください。できれば秒針付きがいい。
あるいは、Expert Advisorがあれば、ターミナルの最下行のどこかに時刻が表示されるかもしれません。