[CODE]
externstring CurrencyPair = "";
string gsSymbol, gsIndiName;
bool bIndicatorError;
...
int start() {
if (StringLen(CurrencyPair) == 0)
gsSymbol = Symbol();
else
gsSymbol = CurrencyPair;
Comment(MarketInfo(gsSymbol, MODE_TRADEALLOWED)); // ЗАКОВЫКА ЗДЕСЬ, это чудо всегда возвращает 0.0000000 при старте терминала. Если же потом открыть свойства индикатора и даже ничего не поправлять в параметрах, то возвращает 1.000000if (!MarketInfo(gsSymbol, MODE_TRADEALLOWED)) {
Alert(gsIndiName, ": Trade is not allowed for symbol [", gsSymbol,"]");
bIndicatorError = true;
return(-1);
}
}
[CODE]
double mas[3]={0,0,0};
int q=0;
int w=0;
int z=0;
for (z=OrdersHistoryTotal()-1;z>0; z--)
{
OrderSelect(z, SELECT_BY_POS, MODE_HISTORY);
if (OrderSymbol()==Symbol())
{
if (OrderProfit()>0 || q==3) break;
if (OrderProfit()<0)
{
mas[q]=OrderLots();
q++;
}
}
}
if (mas[0]==lot && mas[1]==lot && mas[2]==lot) w=1;
if (w==1) lot=OrderLots()*2;
責めているわけではありません、私のパズルではありません。 ただ、似たようなアルゴリズムを見つけて、私が必要としているものを、完成させようとしているだけです。https://www.mql5.com/ru/code/9927 私は何を省いたのか、何を入れたのか、です。
0.01,0.01,0.01; 0.02,0.02,0.02; 0.04,0.04,0.04; 0.08,0.08,0.08...... 欲しい。
配列で行うものもあります
このように
こんにちは。
人々、インディケータを起動するときに、通貨ペアが利用可能かどうかを確認する方法をアドバイスしてください。
このエムクエルとの戦いはもううんざりだ。
以下はそのコードです。
もしかしたら、もっと簡単で確実な方法があるかもしれません。
一般的に、基本的な機能が動作する言語でプログラムを書いて、その後動作しなくなるというのは理解できません。
パラメータをカスタマイズできるスクリプトを作ることが可能かどうか教えてください。実行時にパラメータの入力を促すスクリプトをどこかで見たことがあるような気がします。
スクリプトでexternパラメータをexternにする
パラメータを作成しました
が、なぜかスクリプトは実行前に設定を表示しません。
このように
パラメータを作りました
が、なぜか実行前にスクリプトが設定を表示しない
0.01, 0.02, 0.04, 0.08, 0.16...0.01,0.01,0.01; 0.02,0.02,0.02; 0.04,0.04,0.04; 0.08,0.08,0.08......が必要だ。
EXAMPLEと書いたのは...。;)
より正確には、こちらです。
一般的に、基本的な機能が動作する言語でプログラムを書いて、それが動作しないというのは理解できない。