neisseria: コイン、イーグル買い、テール売りでEAを作ろうとした。しかし、うまくいかなかった。テストの際、ウィンドウに以下のメッセージが表示されました:Error 131 when opening order, I looked up in the application, it is not correct volume.よく見てみると、エラーが見当たらない。整数部を区切るには、カンマではなく、ドットが随所にあります。よろしくお願いします。そのコードはファイル内にあります。
int Count() {
int i, Сounts[100];
for (i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i,SELECT_BY_POS)) {
if (OrderMagicNumber()>Magic+100) continue;
if (OrderType()>1) continue;
Сounts[OrderMagicNumber()]++;
}
}//for Comment(10, Сounts[0] +"="+ Сounts[1] +"="+ Сounts[2]);
}
コインをベースにしたEAを作ろうとしたのですが、表が買い、裏が売りです。でも、うまくいかないんです。ウィンドウでテストするときに碑文があります:順序エラー131を開くと、アプリケーションで見た - それは正しいボリュームではありません。よく見てみると、エラーが見当たらない。整数部を区切るには、カンマではなく、ドットが随所にあります。よろしくお願いします。そのコードはファイル内にあります。
コイン、イーグル買い、テール売りでEAを作ろうとした。しかし、うまくいかなかった。テストの際、ウィンドウに以下のメッセージが表示されました:Error 131 when opening order, I looked up in the application, it is not correct volume.よく見てみると、エラーが見当たらない。整数部を区切るには、カンマではなく、ドットが随所にあります。よろしくお願いします。そのコードはファイル内にあります。
を使用します。
MinLot= MarketInfo(symbol(,MODE_MINLOT )//最小ロットサイズ
StepLot= MarketInfo( symbol(,MODE_STEPLOT )// ロット変更時の最小ステップ数
Lotは≧MinLotでなければならず、Lot=NormalizeDouble(Lot,Dig)を使用して正規化される。
ここで、Dig = 小数点以下の桁数 StepLota、すなわち、StepLot=0.01 - Dig=2 ...StepLot=0.1 - Dig=1 ・・・・・・。
例えば、MinLot=0.1、StepLot=0.01とした場合。
ロットは0.1、0.11、0.12など。しかし、0.99、0.98ということはありえないし、0.998、0.999、0.111、0.101ということは確実にありえないのです。
を使用します。
MinLot= MarketInfo( symbol(,MODE_MINLOT )//最小ロットサイズ
StepLot= MarketInfo( symbol(,MODE_STEPLOT )// ロット変更時の最小ステップ数
Lotは≧MinLotでなければならず、Lot=NormalizeDouble(Lot,Dig)を使用して正規化される。
ここで、Dig = 小数点以下の桁数 StepLota、すなわち、StepLot=0.01 - Dig=2 ...StepLot=0.1 - Dig=1 ・・・・・・。
例えば、MinLot=0.1、StepLot=0.01とした場合。
ロットは0.1、0.11、0.12など。しかし、0.99、0.98ということはありえないし、0.998、0.999、0.111、0.101ということもありえないのは確かだ。
例えば、MinLot=0.1、StepLot=0.01とした 場合。
ロットは0.1、0.11、0.12など。しかし、0.99、0.98ということはありえません。
まさか...本当に?
88回、89回は最小ステップでロットを増やします。例えば、次のポジションを 開くたびに、ロットを最小ステップで増やさなければなりません。つまり、ぶっきらぼうに前職のロットに最小ロット変更ステップを追加するのです。98番目にオープンするポジションのロットは0.98、99番目のポジションのロットは最小ステップ0.98+0.01=0.99...と増加する。
DTは、このようなロットでオープンさせないと思いますか?
例えば、MinLot=0.1、StepLot=0.01と した場合。
ロットは0.1、0.11、0.12など。しかし、0.99であるはずがない、0.98だ
まさか...本当に?
88回、89回は最小ステップでロットを増やします。例えば、次のポジションを開くたびに、ロットを最小ステップで増やさなければなりません。つまり、ぶっきらぼうに前職のロットに最小ロット変更ステップを追加するのです。98番目にオープンするポジションのロットは0.98、99番目のポジションのロットは最小ステップ0.98+0.01=0.99...と増加する。
証券会社はこんなロットでは開設できないのでは?
畜生. 0.09のはずはない、0.08 だ。
そして、バカかそうでないか-は、EAのライターが決めることです。
もちろん、次のバーのオープニングで売買注文を出さなければなりません。そして、オープニングからの点数で割り振って、オーダーで閉じることも考えて います。
後で(週末)、私はここに新しいローソクの オープニングで、買いまたは売り(あなたの選択で)のいずれかの市場注文を開くためのコードを投稿します。
を使用します。
MinLot= MarketInfo( symbol(,MODE_MINLOT )//最小ロット数量
StepLot= MarketInfo( symbol(,MODE_STEPLOT )// ロット変更時の最小ステップ数
Lotは≧MinLotでなければならず、Lot=NormalizeDouble(Lot,Dig)を使用して正規化される。
ここで、Dig = 小数点以下の桁数 StepLota、すなわち、StepLot=0.01 - Dig=2 ...StepLot=0.1 - Dig=1 ・・・・・・。
例えば、MinLot=0.1、StepLot=0.01とした場合。
ロットは0.1、0.11、0.12など。しかし、0.99や0.98、ましてや0.998、0.999、0.111、0.101はあり得ません。
ちなみに、このExpert Advisorを使うつもりはなく、プログラミング言語を勉強しているところです。実は、テスターでどうなるか楽しみで決めたのですが、乱数発生器は 繰り返すので、そんな乱数は出ないと読んだばかりなのです。問題は数字のスペルミスにあるのではなく、アルゴリズムにあるようですが、ただ、何が問題なのでしょうか?
お困りごとを解決します。
質問はこれです:私はフクロウマーチンを持って、与えられたポイント数の後に膝を開きますが、新しいmajikと。それは信号がmajic = 1で1つまたは3つの注文を開き、次に信号2オープン1またはmajic 2と3つの注文で次の膝を負い、そのように判明した。
そのため、すべての膝が1~3オーダーでそれぞれの威厳を保っています。
さて、質問のポイントは、各マジックのオーダーをループで計算する方法ですが、例えば、私はこのようにやってみました。
これはどうでしょう。
確認せず、膝の上に下書きしてしまった...。
これはどうでしょう。
確認はせず、膝の上にスケッチしただけですが...。