bool Check_Trading()
{
//--- проверка разрешения автоматической торговли на терминалеif(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
{
Print("Ошибка разрешения автоматической торговли на терминале! ",GetLastError());
return(false);
}
//--- проверка разрешения автоматической торговли на стороне сервераif(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
{
Print("Ошибка разрешения автоматической торговли на стороне сервера! ",GetLastError());
return(false);
}
//--- проверка синхронизированности данных по текущему символу между терминалом и серверомif(!SymbolIsSynchronized(_Symbol))
{
Print("Ошибка синхронизированности данных по текущему символу! ",GetLastError());
return(false);
}
//--- проверка достаточности средств для торговлиif(!CheckMoneyForTrade(_Symbol,GetLot(),ORDER_TYPE_SELL))
{
Print("Ошибка проверки достаточности средств для торговли! ",GetLastError());
return(false);
}
//--- проверки корректности объёма сделкиstring descript;
if(!CheckVolumeValue(GetLot(),descript))
{
Print("Ошибка проверки корректности объёма сделки! ",GetLastError());
return(false);
}
//--- проверка прошла успешноreturn(true);
}
2023.02.0214:41:05.466 Experts automated trading is disabled because the account has been changed
2023.02.0214:41:09.990 Experts automated trading is enabled
2023.02.0214:42:43.410 Experts automated trading is disabled because the account has been changed
2023.02.0214:42:52.690 Experts automated trading is enabled
2023.02.0214:43:33.882 Experts automated trading is disabled because the account has been changed
2023.02.0214:43:44.869 Experts automated trading is enabled
それが何なのか、お知りになりたいですか?ロシア語に翻訳するという意味ではありません:
2023.02.0214:41:05.466 Автоматическая торговля экспертов отключена, так как аккаунт был изменен
おはようございます!
建設的な批判を考慮して、チェック関数のコードを変更しました:
CheckMoneyForTrade()関数とCheckVolumeValue()関数は、自由に利用でき、ここから 引用しているため、掲載していません。
一昨日発生したExpert Advisorの問題を 防ぐには、この最低限で十分でしょうか?
よろしくお願いします。
皆さん、おはようございます!
建設的なご批判を考慮して、チェック機能のコードを変更しました:
CheckMoneyForTrade()関数とCheckVolumeValue()関数は、自由に利用できるため、 掲載しません。
これで、一昨日のExpert Advisorの不具合は 防げるでしょうか?
よろしくお願いします。
はい、正常なようですが、出来高と十分性を1つの関数でチェックし、十分性のロジックを変更した方が良いでしょう。証拠金のロットが大きいか小さいかをチェックしますが、減らさないようにし、要求されたロットが小さい場合は、私も利用可能な証拠金との関係でロットを計算し、どのようなロットを設定できるか、最小ロットと比較し、小さい場合は、その取引は間違いなく終了します。
皆さんこんにちは!私はストキャスティクス RSIというインジケーターを持って います。問題は、それが非常にゆっくりと動作することです。私が理解する限り、主な "ブレーキ "は、配列内の最小値と最大値を検索するために使用される大きな期間のためにこのセクションを作成します:
理想的な解決策は、インジケータが最初の実行中にヒストリーのすべてのバーを通過し、次の実行中に最後のバーだけを更新することです。しかし、その方法がわかりません。可能なのでしょうか?もし可能であれば、リンクやアドバイスをいただけるとありがたいです。
ここにインジケータのコード全体があります:
それでいいと思いますが、出来高チェックと十分性チェックを1つの関数にまとめて、十分性のロジックも変えた方がいいと思います。証拠金のロットが多いか少ないかをチェックしますが、減らさないようにし、要求ロットが少ない場合は、使用可能な証拠金との相対的なロット、設定可能なロットを計算し、最小ロットと比較し、少なければ、その取引は間違いなく終了します。
ありがとう、ヴァレリー!
ありがとう、ヴァレリー
そして、これがその関数の最初の結果である:
それが何なのか、お知りになりたいですか?ロシア語に翻訳するという意味ではありません:
しかし、どのようにアカウントを変更することができるという意味では?私のアカウントに一体何が起こっているのか、またこのような場合どうすればいいのか、どなたか教えていただけませんか?
もしかして、一時的にリアル口座からデモ口座に切り替えたことと関係があるのでしょうか?
よろしく、ウラジミール。
一時的にリアル口座からデモ口座に切り替えたことと関係があるのでしょうか?
はい
、力強い。
、、、ー
Expert Advisorは指定されたTFでインジケータを使用しますが、インジケータのハンドルからTFを調べるにはどうすればよいですか?
指定された TF は既知のはずです。状況を詳しく説明してください。