[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 973

 
gheka:

extern int Period_MA = 21;

bool Fact_Up = true

bool Fact_Dn = true

int start()

{
ダブル MA

MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);
if (Bid > MA && Fact_Up == true)

{
Fact_Dn = true です。

Fact_Up = false です。

Alert("Price is above MA(",Period_MA,").");
}
if (Bid < MA && Fact_Dn == true)
{
Fact_Up = true です。
Fact_Dn = false です。
Alert("Price is below MA(",Period_MA,").");

}
返します
}

とにかく、教科書に載っていることなので、実践したかったのですが、デッドロックになり、交差した後

一度だけレポートをさせたいのですが、どうすれば毎回のティックにレポートをさせることができますか?

ヘルプ?


疑問は、なかなか正しくはない
 
Vinin:

質問の内容が適切でない


というメッセージが表示されるのは、横断した 後の1回だけです。

カチカチ音が するたびにメッセージを表示させるにはどうしたらいいですか?

各ティックに「価格はマッハより上です」「価格はマッハより下です」というようなメッセージが表示されるように?

 

こんにちは、インジケータが発行する売買シグナルを一定数スキップするようなフィルタを作りたかったのですが。グローバル変数で 受信信号の数を固定し、所定の変数と比較するような実装を試みました。動作はするのですが、グローバル変数では信号の数が増えません。エラーは何ですか?あるいは、もっとシンプルに実施する方法があるのでしょうか?

教えていただけませんか...。

//--------------
    if(SignalBuy>0) { 
   int B;
     if(SignalBuy==true){
       B=1;
       } else {
       B=0;
       }
       int PropuskSigB=GlobalVariableGet("PropuskSignalaB");
            PropuskSignalaB =B+PropuskSigB;
            GlobalVariableSet(gvp+"PropuskSignalaB",PropuskSignalaB);
          PropuskSignalaB=GlobalVariableGet("PropuskSignalaB");
       Print ("PropuskSignalaB = ",PropuskSignalaB);
      }
   //-------------   
    if(SignalSell>0){
   int S;
     if(SignalSell==true){
       S=1;
       } else {
       S=0;
       }
       int PropuskSigS=GlobalVariableGet("PropuskSignalaS");
            PropuskSignalaS =S+PropuskSigS;
            GlobalVariableSet(gvp+"PropuskSignalaS",PropuskSignalaS);
          PropuskSignalaB=GlobalVariableGet("PropuskSignalaS");
       Print ("PropuskSignalaS = ",PropuskSignalaS);
    }
   //-------------
 

ロットを小数点以下1桁に正規化するにはどうすればよいですか? 例えば、ロット1.43または1.438を1.4または1.5としますか? そうしないと、エラー131- 不正なロットサイズと表示されます?

 
Metaeditorの検索で、Navigatorタブの下にあるNormalisationという単語を入力すればOKです :)
 
Rossi:

ロットを小数点以下1桁に正規化するにはどうすればよいですか? 例えば、ロット1.43または1.438を1.4または1.5とすると、エラー131-間違ったロットサイズと表示されます?


ここでは、私のEAのような全体的な正規化機能を...エディタで、NormalizeDouble()の上でF1キーを押す - ヘルプで

...と、詳しく説明されています...。

double NormalizeLots(double lot)
{
   double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
   double lots = NormalizeDouble(lot / lotStep, 0) * lotStep;   
   lots = MathMax(lots, MarketInfo(Symbol(), MODE_MINLOT));
   lots = MathMin(lots, MarketInfo(Symbol(), MODE_MAXLOT));   
   return (lots);
}
 

ありがとうございます。しかし、double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
double lotStep = 0.1; ではダメなのでしょうか?

 
Rossi:

そして、double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
double lotStep = 0.1; とすることはできないのでしょうか?


ロットステップは通常0.01ですが、ブローカーと口座の種類の両方に依存します。

0.1ロットステップであればこれは、どのような種類のアカウントでも選択可能なので、心配する必要はありません...。

 
同じマジシャンで特定のポジションのみの残高に対する利益の割合はどのように計算するのですか?
 

誰か、私の質問の答えを知っている人はいないのか?

スプレッドを変えるプログラム「TakeMySpread」について教えてください。シンボルのスプレッドを変更して、テストや最適化を行うことができます。ストップロスやフリーズフレームのレベルを変更するプログラムはありますか? それとも手動でどうすればいいですか?