Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Библиотеки: Black or White Text Black or White Text...
オープントレードが一度に削除されない、つまりEAが一部を削除しても、error orderdelete 4108, market order cannot be deleted several times, and only then deletions.なぜ、オープントレードが一度に削除されないのか理解できない。
オープントレードが一度に削除されない、つまりEAが一部を削除しても、error orderdelete 4108, market order cannot be deleted several times, and only then deletions.なぜ、オープントレードが一度に削除されないのか理解できない。
こんにちは。EAにロットの計算をこのように書きました。
lot=NormalizeDouble(AccountBalance()*risk/(SL*MarketInfo(Symbol(),MODE_TICKVALUE)),2)となります。
目的は、与えられたリスクとストップロスに対して、口座の通貨とペアに関係なく、正しいロットサイズを得ることです。 リスク 、ストップロスが発動されたときの損失額の割合が設定さ れます。ストップロス SL pips単位(ここでpipsはペア価格の可能な限り小さな変化です)。このEAを実際の口座で使って みようと思っています。しかし、私は疑問を感じています。どなたか経験豊富なプログラマーの方がいらっしゃいましたら、どのようなエラーが発生するのか教えていただければ幸いです。初のストラテジーテスター。次にデモ口座。そして、その時だけ本物を。計算式を確認するためのスクリプトを書く。あるいは紙に書いて計算すればいい。balance=100, risk=0.1 SL=100, Tick=0.00001 Lot=100*0.1 / (100*0.00001) = 10 / 0.001 = 10000 残高より多いロットをとりました?レバレッジを考慮すべき?
MarketInfo(Symbol(),MODE_TICKVALUE)) は最小ティックサイズを返さない。ヘルプに書いてあります。
預け入れ通貨における商品価格の最小変動 幅。
しかし、実際には、1ロットの契約における預託通貨でのシンボル価格の最小変化量の値を返します。
あなたの例では、MarketInfo(Symbol(),MODE_TICKVALUE))は1を返します。 そして、すべてが正しいのです。リアルドルとルーブルのアカウントで試したところ、うまくいきました。以下は、それを確認するために使用したスクリプトです。
#property copyright "Copyright 2016, MetaQuotes Software Corp.
#プロパティリンク "https://www.mql5.com"
#property version "1.00"
#プロパティの厳密さ
#property show_inputs
extern double risk=0.10;
extern int sl=1000;
//+------------------------------------------------------------------+
//| スクリプトプログラム起動機能
//+------------------------------------------------------------------+
void OnStart()
{
アラート(NormalizeDouble(AccountBalance()*risk/(sl*MarketInfo(Symbol(),MODE_TICKVALUE),2))。
}
//+------------------------------------------------------------------+
おっしゃるとおりです。スクリプトによるチェックは、より速く、より確実です
また、NormaliseDouble関数の精度を最小許容ロットに依存させる必要があります。OrderSend関数に 0.11のようなロットを渡した場合、ツールが0.1の倍数のロットでしか取引されていない場合、エラーが発生します。
オープントレードが一度に削除されない、つまりEAが一部を削除しても、error orderdelete 4108, market order cannot be deleted several times, and only then deletions.なぜ、オープントレードが一度に削除されないのか理解できない。
オープントレードが一度に削除されない、つまりEAが一部を削除しても、error orderdelete 4108, market order cannot be deleted several times, and only then deletions.なぜ、オープントレードが一度に削除されないのか理解できない。
このページでは、削除の方法について説明します。2つのエラーがあります。
起動時に 'expert1.0.mq4' (69,25) でarray out of range という定数エラーが発生します。配列のことだと理解しました。どうしたらいいんだろう。
この配列を処理するコード、またはその一部を見る必要があります。
テレパスの皆さん、今日はゆっくり休んでください。
配列を処理するコードまたはその一部を見る必要があります。
テレパスの皆さん、今日はゆっくり休んでください。
}
これがその機能です。
ただ、標準モードではエラーが出ないので、問題はコードにないのではと思いました。