if (MA5>MA20)
{
Signal=1;
}
if(Signal>TradeLevel) // TradeLevel установлен в 0.
{
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Bid+TP*Point,"Optim",16384,0,Blue);
}
MY REALIZATION (for BUY, snippet of function code):
//valSL - размер стопа//price - цена открытия ордера//iLots - размер лота
SL_punkt=(price-valSL)/MarketInfo(currencySelect,MODE_POINT); //Переводим денежное выражение в пунктыdouble pricePunkt=NormalizeDouble(iLots*MarketInfo(symb,MODE_TICKVALUE)*SL_punkt,MarketInfo(symb,MODE_DIGITS)); //Вычисляем уровень убытка при заданном размере лота
MODE_TICKVALUE равно MODE_POINT и равно MODE_TICKSIZE (для NQ100 это 0.1)
このコードのバリエーションも試してみました。
double StoimPunkt(string B){
double S = MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT));return(S);
}
//valSL - размер стопа//price - цена открытия ордера//iLots - размер лота
SL_punkt=(price-valSL)/MarketInfo(symb,MODE_POINT); //Переводим денежное выражение в пунктыdouble pricePunkt=NormalizeDouble(iLots*StoimPunkt(symb)*SL_punkt,MarketInfo(symb,MODE_DIGITS)); //Вычисляем уровень убытка при заданном размере лота
最後の行にスラッシュがないのはなぜですか?また、マクロから値を返すことは可能ですか?
これはマクロ置換構文、ストリンググルーイングです。
以下は、値https://www.mql5.com/ru/forum/318246/page10#comment_12652228 を返す場合の例です。
どうか、どなたか助けてください。
なぜこのロジックがうまくいかないのか、教えてください。(mql4)
お買い得品は開きません。
なぜこのロジックがうまくいかないのか、アドバイスをお願いします。(mql4)
トレードは開きません
では、ロジックが機能していないのか、EAのポジションが開いていないのか?
まず "Experts "誌を見るのが良い習慣です。書きたいことがたくさんあります。そして、「Journal」もチェックしたい。
取引要求を 送信する際に、まさに2つのエラーと1つの不明確な点が見られます。
では、ロジックが機能していないのか、EAのポジションが開いていないのか?
まず "Experts "誌を見るのが良い習慣です。書きたいことがたくさんあります。そして、「ジャーナル」も見ておいて損はない。
私の頭の中では、トレードのリクエストを送る ときに、ちょうど2つのエラーと1つの不確かさがあります。
ありがとうございます!うまくいきました
ただ、このロジックを標準のMACD EAに再展開しました。
ただ、さまざまな信号を展開し、それをまとめるためのベースが必要だったのです。
お手数をおかけして申し訳ございません。(ちなみにログは空で、エラーもなく、ただトレードを開かなかっただけです)。
差し支えなければ、やはりエラーのご指摘をお願いします
プリミティブコードがあります
Total() 関数を呼び出す方法についての質問、私はOnInit()の例でそれを呼びたい、みんな失礼をしないでください、私はjackassです、私はヘルプを理解していない?クラスのメモリーを削除する必要がありますか?削除する場合、どこでどのように削除するのですか?
取引ごとのリスクを計算する際の不具合。
課題: あらゆる商品(FX、マリオン、CFDを含む)の取引あたりの許容リスクレベルが250ドルである場合のロットサイズを計算する。
MY REALIZATION (for BUY, snippet of function code):
問題: このコードは、通貨ペア(クロスを含む)、金、原油を含むすべての資産の損失を正しく計算しますが、指数、nq100、例えば、正しく計算さ れません。つまり、私のスクリプトデータ(潜在的な取引損失)は、MT4STRATEGY Testerが 読み取る値よりも、常に10倍も少ないのです。
いくつかの注意点
1. テストはアルパリターミナルで実施しました。
2.端末によると、XAUUSD、BRN(原油)、NQ100の利益計算方法は「CFD」、通貨ペアの場合はそれぞれ「FX」となっています。
問題は、私が考慮していない契約サイズにあると思います(原油の場合-1000、XAUUSDの場合-100、NQ100の場合-10)。しかし、それならなぜXAUUSDやBRNは正しくカウントされるのに(通貨ペアも)、NQ100はカウントされないのでしょうか?もしかして、アルパリのターミナルシンボルのプロパティで利益計算方法が「CFD」になっているにもかかわらず、実際は「FX」としてカウントされているのでは?こんなことが可能なのか?
一般的に、私は誰かが私のスクリプトのエラーとそれを修正する方法を説明することに感謝します。
ありがとうございました。
トランザクションごとのリスクを計算する際の不具合。
mode _ticksize
取引ごとのリスク計算の不具合。
mode _ticksize
xxxxxxxxを読む
これでは、残念ながら問題は解決しません。私は
このコードのバリエーションも試してみました。
の場合、結果は上記の例と全く同じになります。
他に何かアイデアはありますか?